Fix socks5 handshake for username/password auth

The fix for bug 8117 exposed this bug, and it turns out real-world
applications like Pidgin do care. Bugfix on 0.2.3.2-alpha; fixes bug 8879.
This commit is contained in:
Roger Dingledine 2013-05-15 03:34:37 -04:00
parent aaa3a085db
commit 0bfaf86612
2 changed files with 6 additions and 1 deletions

5
changes/bug8879 Normal file
View File

@ -0,0 +1,5 @@
o Major bugfixes:
- Follow the socks5 protocol when offering username/password
authentication. The fix for bug 8117 exposed this bug, and it
turns out real-world applications like Pidgin do care. Bugfix on
0.2.3.2-alpha; fixes bug 8879.

View File

@ -1751,7 +1751,7 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
return 0; return 0;
} }
req->replylen = 2; /* 2 bytes of response */ req->replylen = 2; /* 2 bytes of response */
req->reply[0] = 5; req->reply[0] = 1; /* authversion == 1 */
req->reply[1] = 0; /* authentication successful */ req->reply[1] = 0; /* authentication successful */
log_debug(LD_APP, log_debug(LD_APP,
"socks5: Accepted username/password without checking."); "socks5: Accepted username/password without checking.");