From: Michael Kaufmann Date: Sat, 28 Jan 2017 19:06:31 +0000 (+0100) Subject: gnutls: disable TLS session tickets X-Git-Tag: curl-7_53_0~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=511674ab279cebe143748920755631539a198d33;p=thirdparty%2Fcurl.git gnutls: disable TLS session tickets SSL session reuse with TLS session tickets is not supported yet. Use SSL session IDs instead. Fixes https://github.com/curl/curl/issues/1109 --- diff --git a/lib/vtls/gtls.c b/lib/vtls/gtls.c index a992f99947..faa70aca2a 100644 --- a/lib/vtls/gtls.c +++ b/lib/vtls/gtls.c @@ -380,6 +380,7 @@ gtls_connect_step1(struct connectdata *conn, int sockindex) { struct Curl_easy *data = conn->data; + unsigned int init_flags; gnutls_session_t session; int rc; bool sni = TRUE; /* default is SNI enabled */ @@ -526,7 +527,14 @@ gtls_connect_step1(struct connectdata *conn, } /* Initialize TLS session as a client */ - rc = gnutls_init(&conn->ssl[sockindex].session, GNUTLS_CLIENT); + init_flags = GNUTLS_CLIENT; + +#if defined(GNUTLS_NO_TICKETS) + /* Disable TLS session tickets */ + init_flags |= GNUTLS_NO_TICKETS; +#endif + + rc = gnutls_init(&conn->ssl[sockindex].session, init_flags); if(rc != GNUTLS_E_SUCCESS) { failf(data, "gnutls_init() failed: %d", rc); return CURLE_SSL_CONNECT_ERROR;