| --- a/SWIG/_bio.i |
| +++ b/SWIG/_bio.i |
| @@ -63,14 +63,14 @@ extern BIO *BIO_pop(BIO *); |
| static PyObject *_bio_err; |
| |
| |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| void pyfd_init(void); |
| #endif |
| |
| void bio_init(PyObject *bio_err) { |
| Py_INCREF(bio_err); |
| _bio_err = bio_err; |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| pyfd_init(); |
| #endif |
| } |
| @@ -299,7 +299,7 @@ int bio_should_write(BIO* a) { |
| return BIO_should_write(a); |
| } |
| |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| /* implment custom BIO_s_pyfd */ |
| |
| #ifdef WIN32 |
| |
| --- a/SWIG/_evp.i |
| +++ b/SWIG/_evp.i |
| @@ -19,7 +19,7 @@ Copyright (c) 2009-2010 Heikki Toivonen. All rights reserved. |
| #include <openssl/rsa.h> |
| #include <openssl/opensslv.h> |
| |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| |
| HMAC_CTX *HMAC_CTX_new(void) { |
| HMAC_CTX *ret = PyMem_Malloc(sizeof(HMAC_CTX)); |
| |
| --- a/SWIG/_lib.i |
| +++ b/SWIG/_lib.i |
| @@ -18,7 +18,7 @@ |
| |
| %{ |
| /* OpenSSL 1.0.2 copmatbility shim */ |
| -#if OPENSSL_VERSION_NUMBER < 0x10002000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10002000L || defined(LIBRESSL_VERSION_NUMBER) |
| typedef void (*OPENSSL_sk_freefunc)(void *); |
| typedef void *(*OPENSSL_sk_copyfunc)(const void *); |
| typedef struct stack_st OPENSSL_STACK; |
| @@ -501,7 +501,7 @@ int passphrase_callback(char *buf, int num, int v, void *arg) { |
| %inline %{ |
| |
| void lib_init() { |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| SSLeay_add_all_algorithms(); |
| ERR_load_ERR_strings(); |
| #endif |
| |
| --- a/SWIG/_lib11_compat.i |
| +++ b/SWIG/_lib11_compat.i |
| @@ -8,7 +8,7 @@ |
| */ |
| |
| %{ |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| |
| #include <string.h> |
| #include <openssl/engine.h> |
| |
| --- a/SWIG/_ssl.i |
| +++ b/SWIG/_ssl.i |
| @@ -268,7 +268,7 @@ void ssl_init(PyObject *ssl_err, PyObject *ssl_timeout_err) { |
| |
| #ifndef OPENSSL_NO_SSL3 |
| const SSL_METHOD *sslv3_method(void) { |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| PyErr_WarnEx(PyExc_DeprecationWarning, |
| "Function SSLv3_method has been deprecated.", 1); |
| #endif |
| @@ -277,7 +277,7 @@ const SSL_METHOD *sslv3_method(void) { |
| #endif |
| |
| const SSL_METHOD *tlsv1_method(void) { |
| -#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER) |
| PyErr_WarnEx(PyExc_DeprecationWarning, |
| "Function TLSv1_method has been deprecated.", 1); |
| #endif |
| |
| --- a/SWIG/_threads.i |
| +++ b/SWIG/_threads.i |
| @@ -5,7 +5,7 @@ |
| #include <pythread.h> |
| #include <openssl/crypto.h> |
| |
| -#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| #define CRYPTO_num_locks() (CRYPTO_NUM_LOCKS) |
| static PyThread_type_lock lock_cs[CRYPTO_num_locks()]; |
| static long lock_count[CRYPTO_num_locks()]; |
| @@ -13,7 +13,7 @@ static int thread_mode = 0; |
| #endif |
| |
| void threading_locking_callback(int mode, int type, const char *file, int line) { |
| -#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| if (mode & CRYPTO_LOCK) { |
| PyThread_acquire_lock(lock_cs[type], WAIT_LOCK); |
| lock_count[type]++; |
| @@ -25,7 +25,7 @@ void threading_locking_callback(int mode, int type, const char *file, int line) |
| } |
| |
| unsigned long threading_id_callback(void) { |
| -#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| return (unsigned long)PyThread_get_thread_ident(); |
| #else |
| return (unsigned long)0; |
| @@ -35,7 +35,7 @@ unsigned long threading_id_callback(void) { |
| |
| %inline %{ |
| void threading_init(void) { |
| -#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| int i; |
| if (!thread_mode) { |
| for (i=0; i<CRYPTO_num_locks(); i++) { |
| @@ -50,7 +50,7 @@ void threading_init(void) { |
| } |
| |
| void threading_cleanup(void) { |
| -#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if defined(THREADING) && OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| int i; |
| if (thread_mode) { |
| CRYPTO_set_locking_callback(NULL); |
| |
| --- a/SWIG/libcrypto-compat.h |
| +++ b/SWIG/libcrypto-compat.h |
| @@ -1,7 +1,7 @@ |
| #ifndef LIBCRYPTO_COMPAT_H |
| #define LIBCRYPTO_COMPAT_H |
| |
| -#if OPENSSL_VERSION_NUMBER < 0x10100000L |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) |
| |
| #include <openssl/rsa.h> |
| #include <openssl/dsa.h> |