Fix a bug warning when sending an error on an HTTPTunnelPort conn

Fixes bug 26470; bugfix on 0.3.2.1-alpha.
This commit is contained in:
Nick Mathewson 2018-08-21 10:12:04 -04:00
parent c798957b59
commit ff0be08059
2 changed files with 8 additions and 2 deletions

4
changes/bug26470 Normal file
View File

@ -0,0 +1,4 @@
o Minor bugfixes (HTTP tunnel):
- Fix a bug warning when closing an HTTP tunnel connection due to
an HTTP request we couldn't handle. Fixes bug 26470; bugfix on
0.3.2.1-alpha.

View File

@ -2537,8 +2537,11 @@ connection_ap_process_http_connect(entry_connection_t *conn)
err:
if (BUG(errmsg == NULL))
errmsg = "HTTP/1.0 400 Bad Request\r\n\r\n";
log_warn(LD_EDGE, "Saying %s", escaped(errmsg));
log_info(LD_EDGE, "HTTP tunnel error: saying %s", escaped(errmsg));
connection_buf_add(errmsg, strlen(errmsg), ENTRY_TO_CONN(conn));
/* Mark it as "has_finished" so that we don't try to send an extra socks
* reply. */
conn->socks_request->has_finished = 1;
connection_mark_unattached_ap(conn,
END_STREAM_REASON_HTTPPROTOCOL|
END_STREAM_REASON_FLAG_ALREADY_SOCKS_REPLIED);
@ -4162,4 +4165,3 @@ connection_edge_free_all(void)
smartlist_free(pending_entry_connections);
pending_entry_connections = NULL;
}