summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-01-07 18:38:22 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-01-07 18:38:22 +0000
commit8df326e00366c77261f5b364749f81ca242ef016 (patch)
tree1dea084dcfd3e7c1af3a58ae2ff98e868b25b8ce
parenta688c62f57f32eafb76106b7524114a0eb5d9507 (diff)
downloadphp-git-8df326e00366c77261f5b364749f81ca242ef016.tar.gz
Fixed bug #39394 (Missing check for older variants of openssl).
-rw-r--r--NEWS1
-rw-r--r--ext/openssl/config.w321
-rw-r--r--ext/openssl/config0.m42
-rw-r--r--ext/openssl/openssl.c2
4 files changed, 5 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 3ded00318b..15ff376eba 100644
--- a/NEWS
+++ b/NEWS
@@ -9,6 +9,7 @@ PHP NEWS
establish a new connection). (Ilia)
- Fixed bug #39504 (xmlwriter_write_dtd_entity() creates Attlist tag,
not entity). (Hannes)
+- Fixed bug #39394 (Missing check for older variants of openssl). (Ilia)
04 Jan 2007, PHP 5.2.1RC2
- Small optimization of the date() function (Matt,Ilia)
diff --git a/ext/openssl/config.w32 b/ext/openssl/config.w32
index 98dc852ee8..49edb068a8 100644
--- a/ext/openssl/config.w32
+++ b/ext/openssl/config.w32
@@ -11,6 +11,7 @@ if (PHP_OPENSSL != "no") {
AC_DEFINE("HAVE_OPENSSL_EXT", PHP_OPENSSL_SHARED ? 0 : 1, "Have openssl");
AC_DEFINE("HAVE_OPENSSL", 1);
+ AC_DEFINE("HAVE_DSA_DEFAULT_METHOD", 1);
}
}
diff --git a/ext/openssl/config0.m4 b/ext/openssl/config0.m4
index a51d9e1930..e9699605fe 100644
--- a/ext/openssl/config0.m4
+++ b/ext/openssl/config0.m4
@@ -16,6 +16,8 @@ if test "$PHP_OPENSSL" != "no"; then
PHP_SETUP_KERBEROS(OPENSSL_SHARED_LIBADD)
fi
+ AC_CHECK_LIB(ssl, DSA_get_default_method, AC_DEFINE(HAVE_DSA_DEFAULT_METHOD, 1, [OpenSSL 0.9.7 or later]))
+
PHP_SETUP_OPENSSL(OPENSSL_SHARED_LIBADD,
[
AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ])
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index e5ab296476..638005a52c 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -2056,7 +2056,7 @@ static EVP_PKEY * php_openssl_generate_private_key(struct php_x509_request * req
return_val = req->priv_key;
}
break;
-#ifndef NO_DSA
+#if !defined(NO_DSA) && defined(HAVE_DSA_DEFAULT_METHOD)
case OPENSSL_KEYTYPE_DSA:
{
DSA *dsapar = DSA_generate_parameters(req->priv_key_bits, NULL, 0, NULL, NULL, NULL, NULL);