summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2004-11-24 04:35:28 +0000
committerRoger Dingledine <arma@torproject.org>2004-11-24 04:35:28 +0000
commit0eebfe355879498b50c02cf8233f3174888ac5d6 (patch)
treeb60e9d2e958b526dcefa61027a5dda877a7f44e2
parent090c84627c99fb50329a92f909506093df9e9c3d (diff)
downloadtor-0eebfe355879498b50c02cf8233f3174888ac5d6.tar.gz
tor-0eebfe355879498b50c02cf8233f3174888ac5d6.zip
bugfix: let socks do multiple rounds of negotiation again
(which is needed for socks5) svn:r2970
-rw-r--r--src/or/connection_edge.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/or/connection_edge.c b/src/or/connection_edge.c
index 4ba528c488..b119089c25 100644
--- a/src/or/connection_edge.c
+++ b/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);