- Kaspar Brand made GnuTLS-built libcurl properly acknowledge the option that

forces it to prefer SSLv3.
This commit is contained in:
Daniel Stenberg 2008-02-25 07:51:39 +00:00
parent 3154f04fb9
commit 74241e7d85
3 changed files with 13 additions and 1 deletions

View File

@ -6,6 +6,10 @@
Changelog Changelog
Daniel S (25 Feb 2008)
- Kaspar Brand made GnuTLS-built libcurl properly acknowledge the option that
forces it to prefer SSLv3.
Daniel S (23 Feb 2008) Daniel S (23 Feb 2008)
- Sam Listopad provided a patch in feature-request #1900014 - Sam Listopad provided a patch in feature-request #1900014
http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to

View File

@ -31,6 +31,7 @@ This release includes the following bugfixes:
o bad re-use of SSL connections in non-complete state o bad re-use of SSL connections in non-complete state
o test case 405 failures with GnuTLS builds o test case 405 failures with GnuTLS builds
o crash when connection cache size is 1 and Curl_do() failed o crash when connection cache size is 1 and Curl_do() failed
o GnuTLS-built libcurl can now be forced to prefer SSLv3
This release includes the following known bugs: This release includes the following known bugs:

View File

@ -233,7 +233,7 @@ Curl_gtls_connect(struct connectdata *conn,
if(!gtls_inited) if(!gtls_inited)
_Curl_gtls_init(); _Curl_gtls_init();
/* GnuTLS only supports TLSv1 (and SSLv3?) */ /* GnuTLS only supports SSLv3 and TLSv1 */
if(data->set.ssl.version == CURL_SSLVERSION_SSLv2) { if(data->set.ssl.version == CURL_SSLVERSION_SSLv2) {
failf(data, "GnuTLS does not support SSLv2"); failf(data, "GnuTLS does not support SSLv2");
return CURLE_SSL_CONNECT_ERROR; return CURLE_SSL_CONNECT_ERROR;
@ -280,6 +280,13 @@ Curl_gtls_connect(struct connectdata *conn,
if(rc < 0) if(rc < 0)
return CURLE_SSL_CONNECT_ERROR; return CURLE_SSL_CONNECT_ERROR;
if(data->set.ssl.version == CURL_SSLVERSION_SSLv3) {
int protocol_priority[] = { GNUTLS_SSL3, 0 };
gnutls_protocol_set_priority(session, protocol_priority);
if(rc < 0)
return CURLE_SSL_CONNECT_ERROR;
}
/* Sets the priority on the certificate types supported by gnutls. Priority /* Sets the priority on the certificate types supported by gnutls. Priority
is higher for types specified before others. After specifying the types is higher for types specified before others. After specifying the types
you want, you must append a 0. */ you want, you must append a 0. */