diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | ext/openssl/extconf.rb | 1 | ||||
-rw-r--r-- | ext/openssl/ossl.c | 7 |
3 files changed, 14 insertions, 1 deletions
@@ -1,3 +1,10 @@ +Tue Nov 01 10:48:49 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> + + * ext/openssl/extconf.rb: should check ERR_peek_last_error(). + [ruby-dev:27597] + + * ext/openssl/ossl.c (ossl_raise): ditto. + Mon Oct 31 05:46:08 2005 GOTOU Yuuzou <gotoyuzo@notwork.org> * ext/openssl/ossl_cipher.c (ossl_cipher_update): input data must diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 2ced7f62ce..f2fe9a40f4 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -62,6 +62,7 @@ unless have_header("openssl/conf_api.h") end message "=== Checking for OpenSSL features... ===\n" +have_func("ERR_peek_last_error") have_func("BN_mod_add") have_func("BN_mod_sqr") have_func("BN_mod_sub") diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c index b7eb79f053..a98f2641cc 100644 --- a/ext/openssl/ossl.c +++ b/ext/openssl/ossl.c @@ -278,9 +278,14 @@ ossl_raise(VALUE exc, const char *fmt, ...) va_list args; char buf[BUFSIZ]; const char *msg; - long e = ERR_peek_last_error(); + long e; int len = 0; +#ifdef HAVE_ERR_PEEK_LAST_ERROR + e = ERR_peek_last_error(); +#else + e = ERR_peek_error(); +#endif if (fmt) { va_start(args, fmt); len = vsnprintf(buf, BUFSIZ, fmt, args); |