diff options
author | Daniel Stenberg <daniel@haxx.se> | 2008-02-25 07:51:39 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2008-02-25 07:51:39 +0000 |
commit | 74241e7d852531bc8ee9301fd3e5ec0c5fabc7cf (patch) | |
tree | e47471dacb29dc1e030a5e4ce46ae4932f36f8ab | |
parent | 3154f04fb908ddf0066fe1d07cab2bbc0e9e67f4 (diff) |
- Kaspar Brand made GnuTLS-built libcurl properly acknowledge the option that
forces it to prefer SSLv3.
-rw-r--r-- | CHANGES | 4 | ||||
-rw-r--r-- | RELEASE-NOTES | 1 | ||||
-rw-r--r-- | lib/gtls.c | 9 |
3 files changed, 13 insertions, 1 deletions
@@ -6,6 +6,10 @@ 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) - Sam Listopad provided a patch in feature-request #1900014 http://curl.haxx.se/bug/feature.cgi?id=1900014 that makes libcurl (built to diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 0127a1308..71195e25a 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -31,6 +31,7 @@ This release includes the following bugfixes: o bad re-use of SSL connections in non-complete state o test case 405 failures with GnuTLS builds 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: diff --git a/lib/gtls.c b/lib/gtls.c index 05efd11c7..01e8e97a4 100644 --- a/lib/gtls.c +++ b/lib/gtls.c @@ -233,7 +233,7 @@ Curl_gtls_connect(struct connectdata *conn, if(!gtls_inited) _Curl_gtls_init(); - /* GnuTLS only supports TLSv1 (and SSLv3?) */ + /* GnuTLS only supports SSLv3 and TLSv1 */ if(data->set.ssl.version == CURL_SSLVERSION_SSLv2) { failf(data, "GnuTLS does not support SSLv2"); return CURLE_SSL_CONNECT_ERROR; @@ -280,6 +280,13 @@ Curl_gtls_connect(struct connectdata *conn, if(rc < 0) 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 is higher for types specified before others. After specifying the types you want, you must append a 0. */ |