diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2016-04-20 13:13:45 +0900 |
---|---|---|
committer | Kazuki Yamaguchi <k@rhe.jp> | 2016-04-27 23:07:41 +0900 |
commit | 13b33a2163ed52d4683f3901ed1f90ad93aa8474 (patch) | |
tree | 230d27d352d2955c4d1058232ec6f342ccb21159 /ext/openssl/openssl_missing.c | |
parent | 435fe7bdd0980e3fdb5483986a784fa2ba4bc46a (diff) | |
download | ruby-13b33a2163ed52d4683f3901ed1f90ad93aa8474.tar.gz |
ext/openssl: use EVP_CIPHER_CTX_{new,free} to allocate EVP_CIPHER_CTX
EVP_CIPHER_CTX was made opaque in OpenSSL 1.1.0
Diffstat (limited to 'ext/openssl/openssl_missing.c')
-rw-r--r-- | ext/openssl/openssl_missing.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c index 91797a8d7d..2e1e534854 100644 --- a/ext/openssl/openssl_missing.c +++ b/ext/openssl/openssl_missing.c @@ -18,6 +18,29 @@ #include "openssl_missing.h" +/*** added in 0.9.8X ***/ +#if !defined(HAVE_EVP_CIPHER_CTX_NEW) +EVP_CIPHER_CTX * +EVP_CIPHER_CTX_new(void) +{ + EVP_CIPHER_CTX *ctx = OPENSSL_malloc(sizeof(EVP_CIPHER_CTX)); + if (!ctx) + return NULL; + EVP_CIPHER_CTX_init(ctx); + return ctx; +} +#endif + +#if !defined(HAVE_EVP_CIPHER_CTX_FREE) +void +EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx) +{ + EVP_CIPHER_CTX_cleanup(ctx); + OPENSSL_free(ctx); +} +#endif + +/*** added in 1.0.0 ***/ #if !defined(HAVE_HMAC_CTX_COPY) void HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in) |