Author: Armin Rigo <ar...@tunes.org> Branch: openssl-1.1 Changeset: r88037:3f3f9319d227 Date: 2016-11-01 17:30 +0100 http://bitbucket.org/pypy/pypy/changeset/3f3f9319d227/
Log: Fix for Windows: fails in untranslated tests if the TLS_method() function is made 'macro=True'. Not sure I want to dig into the reason for that mess. diff --git a/rpython/rlib/ropenssl.py b/rpython/rlib/ropenssl.py --- a/rpython/rlib/ropenssl.py +++ b/rpython/rlib/ropenssl.py @@ -62,9 +62,6 @@ '#if (OPENSSL_VERSION_NUMBER < 0x10100000)\n' '# define COMP_get_name(meth) (meth->name)\n' '# define COMP_get_type(meth) (meth->type)\n' - '# define EVP_MD_CTX_free EVP_MD_CTX_destroy\n' - '# define EVP_MD_CTX_new EVP_MD_CTX_create\n' - '# define TLS_method SSLv23_method\n' '# define X509_NAME_ENTRY_set(ne) (ne->set)\n' '# define X509_OBJECT_get0_X509(obj) (obj->data.x509)\n' '# define X509_OBJECT_get_type(obj) (obj->type)\n' @@ -314,8 +311,12 @@ ssl_external('TLSv1_2_method', [], SSL_METHOD) ssl_external('SSLv2_method', [], SSL_METHOD) ssl_external('SSLv3_method', [], SSL_METHOD) -ssl_external('TLS_method', [], SSL_METHOD, - macro=bool(OPENSSL_VERSION_NUMBER < 0x10100000) or None) +# Windows note: fails in untranslated tests if the following function is +# made 'macro=True'. Not sure I want to dig into the reason for that mess. +libssl_TLS_method = external( + 'TLS_method' if OPENSSL_VERSION_NUMBER >= 0x10100000 + else 'SSLv23_method', + [], SSL_METHOD) ssl_external('SSL_CTX_use_PrivateKey_file', [SSL_CTX, rffi.CCHARP, rffi.INT], rffi.INT, save_err=rffi.RFFI_FULL_ERRNO_ZERO) ssl_external('SSL_CTX_use_certificate_chain_file', [SSL_CTX, rffi.CCHARP], rffi.INT, @@ -498,7 +499,10 @@ # with the GIL held, and so is allowed to run in a RPython __del__ method. ssl_external('SSL_free', [SSL], lltype.Void, releasegil=False) ssl_external('SSL_CTX_free', [SSL_CTX], lltype.Void, releasegil=False) -ssl_external('OPENSSL_free', [rffi.VOIDP], lltype.Void, macro=True) +libssl_OPENSSL_free = external( + 'OPENSSL_free' if OPENSSL_VERSION_NUMBER >= 0x10100000 + else 'CRYPTO_free', + [rffi.VOIDP], lltype.Void) ssl_external('SSL_write', [SSL, rffi.CCHARP, rffi.INT], rffi.INT, save_err=SAVE_ERR) @@ -586,11 +590,13 @@ EVP_MD_CTX_copy = external( 'EVP_MD_CTX_copy', [EVP_MD_CTX, EVP_MD_CTX], rffi.INT) EVP_MD_CTX_new = external( - 'EVP_MD_CTX_new', [], EVP_MD_CTX, - macro=bool(OPENSSL_VERSION_NUMBER < 0x10100000) or None) + 'EVP_MD_CTX_new' if OPENSSL_VERSION_NUMBER >= 0x10100000 + else 'EVP_MD_CTX_create', + [], EVP_MD_CTX) EVP_MD_CTX_free = external( - 'EVP_MD_CTX_free', [EVP_MD_CTX], lltype.Void, releasegil=False, - macro=bool(OPENSSL_VERSION_NUMBER < 0x10100000) or None) + 'EVP_MD_CTX_free' if OPENSSL_VERSION_NUMBER >= 0x10100000 + else 'EVP_MD_CTX_destroy', + [EVP_MD_CTX], lltype.Void, releasegil=False) if OPENSSL_VERSION_NUMBER >= 0x10100000 and not LIBRESSL: PKCS5_PBKDF2_HMAC = external('PKCS5_PBKDF2_HMAC', [ _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit