- Wesley Miaw reported bug #2958179 which identified a case of looping during
authorDaniel Stenberg <daniel@haxx.se>
Mon, 1 Mar 2010 21:59:07 +0000 (21:59 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 1 Mar 2010 21:59:07 +0000 (21:59 +0000)
  OpenSSL based SSL handshaking even though the multi interface was used and
  there was no good reason for it.

  http://curl.haxx.se/bug/view.cgi?id=2958179

CHANGES
RELEASE-NOTES
lib/ssluse.c

diff --git a/CHANGES b/CHANGES
index 4a79a4c..7201555 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,13 @@
 
                                   Changelog
 
+Daniel Stenberg (1 Mar 2010)
+- Wesley Miaw reported bug #2958179 which identified a case of looping during
+  OpenSSL based SSL handshaking even though the multi interface was used and
+  there was no good reason for it.
+
+  http://curl.haxx.se/bug/view.cgi?id=2958179
+
 Daniel Stenberg (26 Feb 2010)
 - Pat Ray in bug #2958474 pointed out an off-by-one case when receiving a
   chunked-encoding trailer.
index b6bd525..fc63380 100644 (file)
@@ -21,6 +21,7 @@ This release includes the following bugfixes:
  o SMTP: use angle brackets in RCPT TO
  o curl --trace-time not using local time
  o off-by-one in the chunked encoding trailer parser
+ o superfluous blocking for OpenSSL-based SSH connects and multi interface
 
 This release includes the following known bugs:
 
@@ -30,6 +31,6 @@ This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
  Steven M. Schweda, Yang Tse, Jack Zhang, Tom Donovan, Martin Hager,
- Daniel Fandrich, Patrick Monnerat, Pat Ray
+ Daniel Fandrich, Patrick Monnerat, Pat Ray, Wesley Miaw
 
         Thanks! (and sorry if I forgot to mention someone)
index 99cf3c3..a1b760e 100644 (file)
@@ -2423,7 +2423,7 @@ ossl_connect_common(struct connectdata *conn,
     }
 
     retcode = ossl_connect_step2(conn, sockindex);
-    if(retcode)
+    if(retcode || (data->state.used_interface == Curl_if_multi))
       return retcode;
 
   } /* repeat step2 until all transactions are done. */