aboutsummaryrefslogtreecommitdiff
path: root/lib/ssluse.c
diff options
context:
space:
mode:
authorSteve Holme <steve_holme@hotmail.com>2013-10-16 20:48:24 +0100
committerSteve Holme <steve_holme@hotmail.com>2013-10-16 20:48:24 +0100
commit6a1363128f1107330fb16a8095c41991e32753bd (patch)
tree2120962e8af42af66e0ed82bbd76988b6aaf552a /lib/ssluse.c
parent75b9b26465d5f01b52564293c2d553649f801f70 (diff)
SSL: Added unsupported cipher version check for OpenSSL
...with the use of CURL_SSLVERSION_TLSv1_1 and CURL_SSLVERSION_TLSv1_2 being conditional on OpenSSL v1.0.1 as the appropriate flags are not supported under earlier versions.
Diffstat (limited to 'lib/ssluse.c')
-rw-r--r--lib/ssluse.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/ssluse.c b/lib/ssluse.c
index 37178f8aa..0faf43cf3 100644
--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -1559,10 +1559,12 @@ ossl_connect_step1(struct connectdata *conn,
}
#endif
break;
+
case CURL_SSLVERSION_TLSv1:
ctx_options |= SSL_OP_NO_SSLv2;
ctx_options |= SSL_OP_NO_SSLv3;
break;
+
case CURL_SSLVERSION_TLSv1_0:
ctx_options |= SSL_OP_NO_SSLv2;
ctx_options |= SSL_OP_NO_SSLv3;
@@ -1573,6 +1575,8 @@ ossl_connect_step1(struct connectdata *conn,
ctx_options |= SSL_OP_NO_TLSv1_2;
#endif
break;
+
+#if OPENSSL_VERSION_NUMBER >= 0x1000100FL
case CURL_SSLVERSION_TLSv1_1:
ctx_options |= SSL_OP_NO_SSLv2;
ctx_options |= SSL_OP_NO_SSLv3;
@@ -1581,6 +1585,7 @@ ossl_connect_step1(struct connectdata *conn,
ctx_options |= SSL_OP_NO_TLSv1_2;
#endif
break;
+
case CURL_SSLVERSION_TLSv1_2:
ctx_options |= SSL_OP_NO_SSLv2;
ctx_options |= SSL_OP_NO_SSLv3;
@@ -1589,6 +1594,11 @@ ossl_connect_step1(struct connectdata *conn,
ctx_options |= SSL_OP_NO_TLSv1_1;
#endif
break;
+#endif
+
+ default:
+ failf(data, "Unsupported cipher version");
+ return CURLE_SSL_CIPHER;
}
SSL_CTX_set_options(connssl->ctx, ctx_options);