summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ext/openssl/openssl_missing.c3
-rw-r--r--ext/openssl/openssl_missing.h7
3 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index ba69e644fa..e8436930e8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Mon Sep 6 11:03:13 2010 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
+
+ * Fixed wrong check of missing functions. Patch by Adrian Quark.
+ ref #3400
+ The patch contains following comment:
+ This patch should avoid unnecessary incompatibility with future
+ versions of Openssl. Changes suggested by bmaher_at_amazon.com.
+
Mon Sep 6 10:46:55 2010 NAKAMURA, Hiroshi <nahi@ruby-lang.org>
* Fixed exception message for SSL post connection check failure. Patch
diff --git a/ext/openssl/openssl_missing.c b/ext/openssl/openssl_missing.c
index 06e36b767e..3ffe651b5b 100644
--- a/ext/openssl/openssl_missing.c
+++ b/ext/openssl/openssl_missing.c
@@ -36,12 +36,13 @@ HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in)
#endif /* NO_HMAC */
#if !defined(HAVE_X509_STORE_SET_EX_DATA)
-
int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data)
{
return CRYPTO_set_ex_data(&str->ex_data, idx, data);
}
+#endif
+#if !defined(HAVE_X509_STORE_GET_EX_DATA)
void *X509_STORE_get_ex_data(X509_STORE *str, int idx)
{
return CRYPTO_get_ex_data(&str->ex_data, idx);
diff --git a/ext/openssl/openssl_missing.h b/ext/openssl/openssl_missing.h
index 619cf6fdb5..a1c256ba20 100644
--- a/ext/openssl/openssl_missing.h
+++ b/ext/openssl/openssl_missing.h
@@ -63,7 +63,7 @@ typedef int i2d_of_void();
(d2i_of_void *)d2i_PKCS7_RECIP_INFO, (char *)ri)
#endif
-#if !defined(HAVE_EVP_MD_CTX_INIT)
+#if !defined(HAVE_HMAC_CTX_INIT)
void HMAC_CTX_init(HMAC_CTX *ctx);
#endif
@@ -133,8 +133,11 @@ int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, EVP_CIPHER_CTX *in);
#define OPENSSL_cleanse(p, l) memset(p, 0, l)
#endif
-#if !defined(HAVE_X509_STORE_SET_EX_DATA)
+#if !defined(HAVE_X509_STORE_GET_EX_DATA)
void *X509_STORE_get_ex_data(X509_STORE *str, int idx);
+#endif
+
+#if !defined(HAVE_X509_STORE_SET_EX_DATA)
int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data);
#endif