From: Alessandro Ghedini Date: Fri, 21 Aug 2015 12:50:45 +0000 (+0200) Subject: openssl: handle lack of server cert when strict checking disabled X-Git-Tag: curl-7_45_0~116 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8363656cb4e0c60a11d8531ead0ec43120b50591;p=curl openssl: handle lack of server cert when strict checking disabled If strict certificate checking is disabled (CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST are disabled) do not fail if the server doesn't present a certificate at all. Closes #392 --- diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c index 90e4c2b32..8600c6184 100644 --- a/lib/vtls/openssl.c +++ b/lib/vtls/openssl.c @@ -2644,8 +2644,10 @@ static CURLcode servercert(struct connectdata *conn, connssl->server_cert = SSL_get_peer_certificate(connssl->handle); if(!connssl->server_cert) { - if(strict) - failf(data, "SSL: couldn't get peer certificate!"); + if(!strict) + return CURLE_OK; + + failf(data, "SSL: couldn't get peer certificate!"); return CURLE_PEER_FAILED_VERIFICATION; }