- Rob Crittenden brought a fix for the NSS layer that makes libcurl no longer
authorDaniel Stenberg <daniel@haxx.se>
Wed, 18 Jun 2008 22:01:55 +0000 (22:01 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 18 Jun 2008 22:01:55 +0000 (22:01 +0000)
  always fire up a new connection rather than using the existing one when the
  multi interface is used. Original bug report:
  https://bugzilla.redhat.com/show_bug.cgi?id=450140

CHANGES
RELEASE-NOTES
lib/nss.c

diff --git a/CHANGES b/CHANGES
index 6fb46f4..b61afe8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,12 @@
 
                                   Changelog
 
+Daniel Stenberg (18 Jun 2008)
+- Rob Crittenden brought a fix for the NSS layer that makes libcurl no longer
+  always fire up a new connection rather than using the existing one when the
+  multi interface is used. Original bug report:
+  https://bugzilla.redhat.com/show_bug.cgi?id=450140
+
 Yang Tse (18 Jun 2008)
 - Internal configure script improvement. No longer break out of shell "for"
   statements from inside AC_FOO_IFELSE macros, otherwise temporary macro files
index fc085d0..50ea7ad 100644 (file)
@@ -19,6 +19,7 @@ This release includes the following changes:
 This release includes the following bugfixes:
 
  o Fixed curl-config --ca
+ o Fixed the multi interface connection re-use with NSS-built libcurl
 
 This release includes the following known bugs:
 
@@ -35,6 +36,7 @@ New curl mirrors:
 This release would not have looked like this without help, code, reports and
 advice from friends like these:
 
- Lenny Rachitsky, Axel Tillequin, Arnaud Ebalard
+ Lenny Rachitsky, Axel Tillequin, Arnaud Ebalard, Yang Tse, Dan Fandrich,
+ Rob Crittenden
 
         Thanks! (and sorry if I forgot to mention someone)
index cd52af1..39c7162 100644 (file)
--- a/lib/nss.c
+++ b/lib/nss.c
@@ -925,6 +925,9 @@ CURLcode Curl_nss_connect(struct connectdata *conn, int sockindex)
 
   curlerr = CURLE_SSL_CONNECT_ERROR;
 
+  if (connssl->state == ssl_connection_complete)
+    return CURLE_OK;
+
   /* FIXME. NSS doesn't support multiple databases open at the same time. */
   if(!initialized) {
     initialized = 1;