]> granicus.if.org Git - curl/commitdiff
Lau Hang Kin found and fixed a problem with the multi interface when doing
authorDaniel Stenberg <daniel@haxx.se>
Fri, 18 Jan 2008 21:51:10 +0000 (21:51 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Fri, 18 Jan 2008 21:51:10 +0000 (21:51 +0000)
CONNECT over a proxy. curl_multi_fdset() didn't report back the socket
properly during that state, due to a missing case in the switch in the
multi_getsock() function.

CHANGES
RELEASE-NOTES
lib/multi.c

diff --git a/CHANGES b/CHANGES
index 405655afe923ad061ad8472c60df1ca95852c2ba..3175ee212725e7ff7377527fa7b41a642fe5b349 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
 
                                   Changelog
 
+Daniel S (18 Jan 2008)
+- Lau Hang Kin found and fixed a problem with the multi interface when doing
+  CONNECT over a proxy. curl_multi_fdset() didn't report back the socket
+  properly during that state, due to a missing case in the switch in the
+  multi_getsock() function.
+
 Yang Tse (17 Jan 2008)
 - Don't abort tests 518 and 537 when unable to raise the open-file soft limit.
 
index 814935d19a5cfcb25375655d0bd0b32d7e412f44..6f44f6dc9e934afea0fdf3e9eb60c30a4e92a97e 100644 (file)
@@ -57,6 +57,7 @@ This release includes the following bugfixes:
  o improved pipelining
  o improved OOM handling for data url encoded HTTP POSTs when read from a file
  o test suite could pick wrong tool(s) if more than one existed in the PATH
+ o curl_multi_fdset() failed to return socket while doing CONNECT over proxy
 
 This release includes the following known bugs:
 
@@ -81,6 +82,6 @@ advice from friends like these:
  Gilles Blanc, David Wright, Vikram Saxena, Mateusz Loskot, Gary Maxwell,
  Dmitry Kurochkin, Mohun Biswas, Richard Atterer, Maxim Perenesenko,
  Daniel Egger, Jeff Johnson, Nikitinskit Dmitriy, Georg Lippitsch, Eric Landes,
- Joe Malicki, Nathan Coulter
+ Joe Malicki, Nathan Coulter, Lau Hang Kin
  
         Thanks! (and sorry if I forgot to mention someone)
index fef632adfe935206cc11bc3027c5bc40131c6ab6..e0a10cfcea5709c280eb23ebd87db24bc515ba96 100644 (file)
@@ -780,6 +780,7 @@ static int multi_getsock(struct Curl_one_easy *easy,
   case CURLM_STATE_DOING:
     return Curl_doing_getsock(easy->easy_conn, socks, numsocks);
 
+  case CURLM_STATE_WAITPROXYCONNECT:
   case CURLM_STATE_WAITCONNECT:
     return waitconnect_getsock(easy->easy_conn, socks, numsocks);