summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsergii.kavunenko <sergii.kavunenko@globallogic.com>2018-03-01 20:10:36 +0200
committerDaniel Stenberg <daniel@haxx.se>2018-03-05 00:02:34 +0100
commit613ccbf26c50758670874c5e61315c0ab18b088e (patch)
tree0f0b38c2791bf0ec5a60bf0f25133f613b94612e
parentcb281f9df032deeab8ffb44f3c12f548810387b0 (diff)
downloadcurl-613ccbf26c50758670874c5e61315c0ab18b088e.tar.gz
WolfSSL: adding TLSv1.3
Closes #2349
-rw-r--r--lib/vtls/cyassl.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/vtls/cyassl.c b/lib/vtls/cyassl.c
index 46b71bfd3..1bd42d2c8 100644
--- a/lib/vtls/cyassl.c
+++ b/lib/vtls/cyassl.c
@@ -199,8 +199,14 @@ cyassl_connect_step1(struct connectdata *conn,
use_sni(TRUE);
break;
case CURL_SSLVERSION_TLSv1_3:
+#ifdef WOLFSSL_TLS13
+ req_method = wolfTLSv1_3_client_method();
+ use_sni(TRUE);
+ break;
+#else
failf(data, "CyaSSL: TLS 1.3 is not yet supported");
return CURLE_SSL_CONNECT_ERROR;
+#endif
case CURL_SSLVERSION_SSLv3:
#ifdef WOLFSSL_ALLOW_SSLV3
req_method = SSLv3_client_method();
@@ -245,7 +251,11 @@ cyassl_connect_step1(struct connectdata *conn,
*/
if((wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1) != 1) &&
(wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_1) != 1) &&
- (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_2) != 1)) {
+ (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_2) != 1)
+#ifdef WOLFSSL_TLS13
+ && (wolfSSL_CTX_SetMinVersion(BACKEND->ctx, WOLFSSL_TLSV1_3) != 1)
+#endif
+ ) {
failf(data, "SSL: couldn't set the minimum protocol version");
return CURLE_SSL_CONNECT_ERROR;
}