[tor-commits] [tor/master] In connection_ap_handshake_process_socks(), mark the socks request as finished if a reply is send after a parse error

nickm at torproject.org nickm at torproject.org
Wed May 16 15:48:08 UTC 2012


commit 2888644a9f268683ab70cc972b36efbbbe466a25
Author: Fabian Keil <fk at fabiankeil.de>
Date:   Sun Sep 25 16:32:43 2011 +0200

    In connection_ap_handshake_process_socks(), mark the socks request as finished if a reply is send after a parse error
    
    Silences the log message:
    [warn] {BUG} _connection_mark_unattached_ap(): Bug: stream (marked at connection_edge.c:2224) sending two socks replies?
    after the client triggered the "Tor is not an HTTP Proxy" response.
    
    No additional socks reply was sent, though.
---
 src/or/connection_edge.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 3b053c7..ca4bf3f 100644
--- a/src/or/connection_edge.c
+++ b/src/or/connection_edge.c
@@ -2319,6 +2319,11 @@ connection_ap_handshake_process_socks(entry_connection_t *conn)
     connection_write_to_buf((const char*)socks->reply, socks->replylen,
                             base_conn);
     socks->replylen = 0;
+    if (sockshere == -1) {
+      /* An invalid request just got a reply, no additional
+       * one is necessary. */
+      socks->has_finished = 1;
+    }
   }
 
   if (sockshere == 0) {





More information about the tor-commits mailing list