Skip to content

Commit 01d4b54

Browse files
committed
nss: Improve info message when falling back SSL protocol
Use descriptive text strings rather than decimal numbers.
1 parent 0751db5 commit 01d4b54

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

lib/vtls/nss.c

+34-2
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,32 @@ static void nss_print_error_message(struct Curl_easy *data, PRUint32 err)
246246
failf(data, "%s", PR_ErrorToString(err, PR_LANGUAGE_I_DEFAULT));
247247
}
248248

249+
static char *nss_sslver_to_name(PRUint16 nssver)
250+
{
251+
switch(nssver) {
252+
case SSL_LIBRARY_VERSION_2:
253+
return strdup("SSLv2");
254+
case SSL_LIBRARY_VERSION_3_0:
255+
return strdup("SSLv3");
256+
case SSL_LIBRARY_VERSION_TLS_1_0:
257+
return strdup("TLSv1.0");
258+
#ifdef SSL_LIBRARY_VERSION_TLS_1_1
259+
case SSL_LIBRARY_VERSION_TLS_1_1:
260+
return strdup("TLSv1.1");
261+
#endif
262+
#ifdef SSL_LIBRARY_VERSION_TLS_1_2
263+
case SSL_LIBRARY_VERSION_TLS_1_2:
264+
return strdup("TLSv1.2");
265+
#endif
266+
#ifdef SSL_LIBRARY_VERSION_TLS_1_3
267+
case SSL_LIBRARY_VERSION_TLS_1_3:
268+
return strdup("TLSv1.3");
269+
#endif
270+
default:
271+
return curl_maprintf("0x%04x", nssver);
272+
}
273+
}
274+
249275
static SECStatus set_ciphers(struct Curl_easy *data, PRFileDesc * model,
250276
char *cipher_list)
251277
{
@@ -1837,8 +1863,14 @@ static CURLcode nss_setup_connect(struct connectdata *conn, int sockindex)
18371863
&sslver_supported) != SECSuccess)
18381864
goto error;
18391865
if(sslver_supported.max < sslver.max && sslver_supported.max >= sslver.min) {
1840-
infof(data, "Falling back (from %d) to max supported SSL version (%d)\n",
1841-
sslver.max, sslver_supported.max);
1866+
char *sslver_req_str, *sslver_supp_str;
1867+
sslver_req_str = nss_sslver_to_name(sslver.max);
1868+
sslver_supp_str = nss_sslver_to_name(sslver_supported.max);
1869+
if(sslver_req_str && sslver_supp_str)
1870+
infof(data, "Falling back from %s to max supported SSL version (%s)\n",
1871+
sslver_req_str, sslver_supp_str);
1872+
free(sslver_req_str);
1873+
free(sslver_supp_str);
18421874
sslver.max = sslver_supported.max;
18431875
}
18441876
if(SSL_VersionRangeSet(model, &sslver) != SECSuccess)

0 commit comments

Comments
 (0)