aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-11-02 09:06:32 -0400
committerNick Mathewson <nickm@torproject.org>2018-11-02 09:06:32 -0400
commit6bd069630a64e540cb118ad84c2bcbb470ce92f8 (patch)
tree371f8d443eb3182ec347447320c1874889e47d55
parente847909b71333690d3fb9a31a738ea3c1ab6d1e1 (diff)
parentff0be080598a8719032fd8c57aed9a42888b97b0 (diff)
downloadtor-6bd069630a64e540cb118ad84c2bcbb470ce92f8.tar.gz
tor-6bd069630a64e540cb118ad84c2bcbb470ce92f8.zip
Merge branch 'bug26470_032' into maint-0.3.3
-rw-r--r--changes/bug264704
-rw-r--r--src/or/connection_edge.c5
2 files changed, 8 insertions, 1 deletions
diff --git a/changes/bug26470 b/changes/bug26470
new file mode 100644
index 0000000000..854ec7ea72
--- /dev/null
+++ b/changes/bug26470
@@ -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.
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 003f84adb3..96b4700e4b 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2544,8 +2544,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);