From: Daniel Stenberg Date: Mon, 10 Jan 2005 23:32:14 +0000 (+0000) Subject: Bruce Mitchener identified (bug report #1099640) the never-ending SOCKS5 X-Git-Tag: curl-7_13_0~81 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9d1145598abf9fddae2e88cca9e114c12a1b7d9d;p=thirdparty%2Fcurl.git Bruce Mitchener identified (bug report #1099640) the never-ending SOCKS5 problem with the version byte and the check for bad versions. Bruce has lots of clues on this, and based on his suggestion I've now removed the check of that byte since it seems to be able to contain 1 or 5. --- diff --git a/CHANGES b/CHANGES index 0f7336b2df..e9678eee83 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,12 @@ Changelog +Daniel (11 January 2005) +- Bruce Mitchener identified (bug report #1099640) the never-ending SOCKS5 + problem with the version byte and the check for bad versions. Bruce has lots + of clues on this, and based on his suggestion I've now removed the check of + that byte since it seems to be able to contain 1 or 5. + Daniel (10 January 2005) - Pavel Orehov reported memory problems with the multi interface in bug report #1098843. In short, a shared DNS cache was setup for a multi handle and when diff --git a/RELEASE-NOTES b/RELEASE-NOTES index fd94aca1f5..54453c8e9f 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -16,6 +16,7 @@ This release includes the following changes: This release includes the following bugfixes: + o SOCKS5 version check o memory problem with cleaning up multi interface o SSL certificate name memory leak o -d with -G to multiple URLs crashed @@ -34,6 +35,6 @@ advice from friends like these: Dan Fandrich, Peter Pentchev, Marcin Konicki, Rune Kleveland, David Shaw, Werner Koch, Gisle Vanem, Alex Neblett, Kai Sommerfeld, Marty Kuhrt, - Hzhijun, Pavel Orehov + Hzhijun, Pavel Orehov, Bruce Mitchener Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/url.c b/lib/url.c index 29c35bf050..6c3b662b4e 100644 --- a/lib/url.c +++ b/lib/url.c @@ -1829,8 +1829,8 @@ static int handleSock5Proxy(const char *proxy_name, return 1; } - if ((socksreq[0] != 5) || /* version */ - (socksreq[1] != 0)) { /* status */ + /* ignore the first (VER) byte */ + if (socksreq[1] != 0) { /* status */ failf(conn->data, "User was rejected by the SOCKS5 server (%d %d).", socksreq[0], socksreq[1]); return 1;