diff --git a/CHANGES b/CHANGES index 0f7336b2d..e9678eee8 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 fd94aca1f..54453c8e9 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 29c35bf05..6c3b662b4 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;