Browse Source

bugfix: let socks do multiple rounds of negotiation again
(which is needed for socks5)


svn:r2970

Roger Dingledine 20 years ago
parent
commit
0eebfe3558
1 changed files with 1 additions and 0 deletions
  1. 1 0
      src/or/connection_edge.c

+ 1 - 0
src/or/connection_edge.c

@@ -365,6 +365,7 @@ static int connection_ap_handshake_process_socks(connection_t *conn) {
     if(socks->replylen) { /* we should send reply back */
       log_fn(LOG_DEBUG,"reply is already set for us. Using it.");
       connection_ap_handshake_socks_reply(conn, socks->reply, socks->replylen, 0);
+      socks->replylen = 0; /* zero it out so we can do another round of negotiation */
     } else if(sockshere == -1) { /* send normal reject */
       log_fn(LOG_WARN,"Fetching socks handshake failed. Closing.");
       connection_ap_handshake_socks_reply(conn, NULL, 0, -1);