Commit 53a54900 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Based on initial work done by Gautam Kachroo to address a bug, we now keep

  better control at the exact state of the connection's SSL status so that we
  know exactly when it has completed the SSL negotiation or not so that there
  won't be accidental re-uses of connections that are wrongly believed to be
  in SSL-completed-negotiate state.
parent 55700cb0
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -7,6 +7,12 @@
                                  Changelog

Daniel S (20 Feb 2008)
- Based on initial work done by Gautam Kachroo to address a bug, we now keep
  better control at the exact state of the connection's SSL status so that we
  know exactly when it has completed the SSL negotiation or not so that there
  won't be accidental re-uses of connections that are wrongly believed to be
  in SSL-completed-negotiate state.

- We no longer support setting the CURLOPT_URL option from inside a callback
  such as the CURLOPT_SSL_CTX_FUNCTION one treat that as if it was a Location:
  following. The patch that introduced this feature was done for 7.11.0, but
+2 −1
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ This release includes the following bugfixes:
   problems with the cert
 o when using the multi interface and a handle is removed while still having
   a transfer going on, the connection is now closed by force
 o bad re-use of SSL connections in non-complete state

This release includes the following known bugs:

@@ -45,6 +46,6 @@ advice from friends like these:

 Michal Marek, Dmitry Kurochkin, Niklas Angebrand, Günter Knauf, Yang Tse,
 Dan Fandrich, Mike Hommey, Pooyan McSporran, Jerome Muffat-Meridol,
 Kaspar Brand
 Kaspar Brand, Gautam Kachroo

        Thanks! (and sorry if I forgot to mention someone)
+2 −0
Original line number Diff line number Diff line
@@ -501,6 +501,8 @@ Curl_gtls_connect(struct connectdata *conn,
  ptr = gnutls_mac_get_name(gnutls_mac_get(session));
  infof(data, "\t MAC: %s\n", ptr);

  connssl->state = ssl_connection_complete;

  if(!ssl_sessionid) {
    /* this session was not previously in the cache, add it now */

+2 −0
Original line number Diff line number Diff line
@@ -1022,6 +1022,8 @@ CURLcode Curl_nss_connect(struct connectdata * conn, int sockindex)
    goto error;
  }

  connssl->state = ssl_connection_complete;

  display_conn_info(conn, connssl->handle);

  return CURLE_OK;
+3 −0
Original line number Diff line number Diff line
@@ -258,8 +258,11 @@ CURLcode Curl_qsossl_connect(struct connectdata * conn, int sockindex)
      SSL_Destroy(connssl->handle);
      connssl->handle = NULL;
      connssl->use = FALSE;
      connssl->state = ssl_connection_none;
    }
  }
  if (rc == CURLE_OK)
    connssl->state = ssl_connection_complete;

  return rc;
}
Loading