Sfoglia il codice sorgente

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.
Fabian Keil 14 anni fa
parent
commit
2888644a9f
1 ha cambiato i file con 5 aggiunte e 0 eliminazioni
  1. 5 0
      src/or/connection_edge.c

+ 5 - 0
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) {