--- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -4541,7 +4541,7 @@ set_sni_callback(PySSLContext *self, PyO return 0; } -#if OPENSSL_VERSION_NUMBER < 0x30300000L +#if OPENSSL_VERSION_NUMBER < 0x30300000L && !defined(LIBRESSL_VERSION_NUMBER) static X509_OBJECT *x509_object_dup(const X509_OBJECT *obj) { int ok; @@ -4614,7 +4614,11 @@ _ssl__SSLContext_cert_store_stats_impl(P int x509 = 0, crl = 0, ca = 0, i; store = SSL_CTX_get_cert_store(self->ctx); +#if !defined(LIBRESSL_VERSION_NUMBER) objs = X509_STORE_get1_objects(store); +#else + objs = X509_STORE_get0_objects(store); +#endif if (objs == NULL) { PyErr_SetString(PyExc_MemoryError, "failed to query cert store"); return NULL; @@ -4669,7 +4673,11 @@ _ssl__SSLContext_get_ca_certs_impl(PySSL } store = SSL_CTX_get_cert_store(self->ctx); +#if !defined(LIBRESSL_VERSION_NUMBER) objs = X509_STORE_get1_objects(store); +#else + objs = X509_STORE_get0_objects(store); +#endif if (objs == NULL) { PyErr_SetString(PyExc_MemoryError, "failed to query cert store"); goto error;