@@ -485,18 +485,23 @@ fill_and_set_sslerror(PySSLSocket *sslsock, PyObject *type, int ssl_errno,
|
485 | 485 | } |
486 | 486 | |
487 | 487 | switch (verify_code) { |
| 488 | +#ifdef X509_V_ERR_HOSTNAME_MISMATCH |
| 489 | +/* OpenSSL >= 1.0.2, LibreSSL >= 2.5.3 */ |
488 | 490 | case X509_V_ERR_HOSTNAME_MISMATCH: |
489 | 491 | verify_obj = PyUnicode_FromFormat( |
490 | 492 | "Hostname mismatch, certificate is not valid for '%S'.", |
491 | 493 | sslsock->server_hostname |
492 | 494 | ); |
493 | 495 | break; |
| 496 | +#endif |
| 497 | +#ifdef X509_V_ERR_IP_ADDRESS_MISMATCH |
494 | 498 | case X509_V_ERR_IP_ADDRESS_MISMATCH: |
495 | 499 | verify_obj = PyUnicode_FromFormat( |
496 | 500 | "IP address mismatch, certificate is not valid for '%S'.", |
497 | 501 | sslsock->server_hostname |
498 | 502 | ); |
499 | 503 | break; |
| 504 | +#endif |
500 | 505 | default: |
501 | 506 | verify_str = X509_verify_cert_error_string(verify_code); |
502 | 507 | if (verify_str != NULL) { |
|