From 84e4e3111d6008373813a7f2810f7ebc2d0f4e46 Mon Sep 17 00:00:00 2001 From: Paul Kehrer Date: Sat, 19 Nov 2016 11:07:28 +0800 Subject: add some BIO functions for pypy's ssl stdlib (#3249) refs #3248 --- src/_cffi_src/openssl/bio.py | 11 +++++++++++ src/_cffi_src/openssl/cryptography.py | 2 ++ 2 files changed, 13 insertions(+) (limited to 'src/_cffi_src') diff --git a/src/_cffi_src/openssl/bio.py b/src/_cffi_src/openssl/bio.py index 58b20a3e..a134d9b6 100644 --- a/src/_cffi_src/openssl/bio.py +++ b/src/_cffi_src/openssl/bio.py @@ -85,6 +85,9 @@ int BIO_method_type(const BIO *); """ MACROS = """ +/* Added in 1.1.0 */ +int BIO_up_ref(BIO *); + /* These added const to BIO_METHOD in 1.1.0 */ BIO *BIO_new(BIO_METHOD *); BIO_METHOD *BIO_s_mem(void); @@ -130,7 +133,15 @@ long BIO_set_write_buffer_size(BIO *, long); long BIO_set_buffer_size(BIO *, long); long BIO_set_buffer_read_data(BIO *, void *, long); long BIO_set_nbio(BIO *, long); +void BIO_set_retry_read(BIO *); +void BIO_clear_retry_flags(BIO *); """ CUSTOMIZATIONS = """ +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110PRE4 || defined(LIBRESSL_VERSION_NUMBER) +int BIO_up_ref(BIO *b) { + CRYPTO_add(&b->references, 1, CRYPTO_LOCK_BIO); + return 1; +} +#endif """ diff --git a/src/_cffi_src/openssl/cryptography.py b/src/_cffi_src/openssl/cryptography.py index 2ab13752..6d91d278 100644 --- a/src/_cffi_src/openssl/cryptography.py +++ b/src/_cffi_src/openssl/cryptography.py @@ -36,6 +36,8 @@ INCLUDES = """ (OPENSSL_VERSION_NUMBER < 0x1000209fL) #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110 \ (OPENSSL_VERSION_NUMBER < 0x10100000) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110PRE4 \ + (OPENSSL_VERSION_NUMBER < 0x10100004) #define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110PRE5 \ (OPENSSL_VERSION_NUMBER < 0x10100005) -- cgit v1.2.3