diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2019-06-13 17:21:37 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-13 17:21:37 +1200 |
commit | 9a0d2cb145a205094579c7defc9acddde11c7ba6 (patch) | |
tree | f37c47332076d08e4b55f0567d5de1e22261d33b | |
parent | 10afb354f771c2cf67e21de2127772e32124bb47 (diff) | |
parent | 5353140cc11c9a5f744e920a458250730e93848a (diff) | |
download | ruby-openssl-9a0d2cb145a205094579c7defc9acddde11c7ba6.tar.gz |
Merge pull request #253 from jeremyevans/libressl-extconf
Minor changes for better LibreSSL support
-rw-r--r-- | ext/openssl/extconf.rb | 1 | ||||
-rw-r--r-- | ext/openssl/openssl_missing.h | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 4f218562..d86e1301 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -144,6 +144,7 @@ have_func("HMAC_CTX_free") OpenSSL.check_func("RAND_pseudo_bytes", "openssl/rand.h") # deprecated have_func("X509_STORE_get_ex_data") have_func("X509_STORE_set_ex_data") +have_func("X509_STORE_get_ex_new_index") have_func("X509_CRL_get0_signature") have_func("X509_REQ_get0_signature") have_func("X509_REVOKED_get0_serialNumber") diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h index 09998214..10afed2a 100644 --- a/ext/openssl/openssl_missing.h +++ b/ext/openssl/openssl_missing.h @@ -72,6 +72,9 @@ void ossl_HMAC_CTX_free(HMAC_CTX *); #if !defined(HAVE_X509_STORE_SET_EX_DATA) # define X509_STORE_set_ex_data(x, idx, data) \ CRYPTO_set_ex_data(&(x)->ex_data, (idx), (data)) +#endif + +#if !defined(HAVE_X509_STORE_GET_EX_NEW_INDEX) && !defined(X509_STORE_get_ex_new_index) # define X509_STORE_get_ex_new_index(l, p, newf, dupf, freef) \ CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_X509_STORE, (l), (p), \ (newf), (dupf), (freef)) @@ -144,7 +147,8 @@ void ossl_X509_REQ_get0_signature(const X509_REQ *, const ASN1_BIT_STRING **, co CRYPTO_add(&(x)->references, 1, CRYPTO_LOCK_EVP_PKEY); #endif -#if !defined(HAVE_OPAQUE_OPENSSL) +#if !defined(HAVE_OPAQUE_OPENSSL) && \ + (!defined(LIBRESSL_VERSION_NUMBER) || LIBRESSL_VERSION_NUMBER < 0x2070000fL) #define IMPL_PKEY_GETTER(_type, _name) \ static inline _type *EVP_PKEY_get0_##_type(EVP_PKEY *pkey) { \ return pkey->pkey._name; } |