From: Nick Mathewson Date: Tue, 12 Mar 2013 21:36:09 +0000 (-0400) Subject: Don't warn about not sending a socks reply if we get a write error X-Git-Tag: tor-0.2.4.12-alpha~5^2~6^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=16f2e4aa8ce76387c19687dd0c78c97929a852d6;p=thirdparty%2Ftor.git Don't warn about not sending a socks reply if we get a write error If we get a write error on a SOCKS connection, we can't send a SOCKS reply, now can we? This bug has been here since 36baf7219, where we added the "hey, I'm closing an AP connection but I haven't finished the socks handshake!" message. It's bug 8427. --- diff --git a/changes/bug8427 b/changes/bug8427 new file mode 100644 index 0000000000..22b003fc38 --- /dev/null +++ b/changes/bug8427 @@ -0,0 +1,5 @@ + o Minor bugfixes: + - If we encounter a write failure on a SOCKS connection before we + finish our SOCKS handshake, don't warn that we closed the + connection before we could send a SOCKS reply. Fixes bug 8427; + bugfix on 0.1.0.1-rc. diff --git a/src/or/connection.c b/src/or/connection.c index eac9c4f32b..75c1656206 100644 --- a/src/or/connection.c +++ b/src/or/connection.c @@ -3286,6 +3286,10 @@ connection_handle_write_impl(connection_t *conn, int force) if (result < 0) { if (CONN_IS_EDGE(conn)) connection_edge_end_errno(TO_EDGE_CONN(conn)); + if (conn->type == CONN_TYPE_AP) { + /* writing failed; we couldn't send a SOCKS reply if we wanted to */ + TO_ENTRY_CONN(conn)->socks_request->has_finished = 1; + } connection_close_immediate(conn); /* Don't flush; connection is dead. */ connection_mark_for_close(conn);