Made CURLOPT_SSL_VERIFYHOST set to 1 acts as described in the documentation:
fail to connect if there is no Common Name field found in the remote cert. We should deprecate the support for this set to 1 anyway soon, since the feature is pointless and most likely never really used by anyone.
This commit is contained in:
13
lib/ssluse.c
13
lib/ssluse.c
@@ -1131,16 +1131,9 @@ static CURLcode verifyhost(struct connectdata *conn,
|
||||
#endif /* CURL_DOES_CONVERSIONS */
|
||||
|
||||
if (!peer_CN) {
|
||||
if(data->set.ssl.verifyhost > 1) {
|
||||
failf(data,
|
||||
"SSL: unable to obtain common name from peer certificate");
|
||||
return CURLE_SSL_PEER_CERTIFICATE;
|
||||
}
|
||||
else {
|
||||
/* Consider verifyhost == 1 as an "OK" for a missing CN field, but we
|
||||
output a note about the situation */
|
||||
infof(data, "\t common name: WARNING couldn't obtain\n");
|
||||
}
|
||||
failf(data,
|
||||
"SSL: unable to obtain common name from peer certificate");
|
||||
return CURLE_SSL_PEER_CERTIFICATE;
|
||||
}
|
||||
else if(!cert_hostcheck((const char *)peer_CN, conn->host.name)) {
|
||||
if(data->set.ssl.verifyhost > 1) {
|
||||
|
Reference in New Issue
Block a user