summaryrefslogtreecommitdiff
path: root/ext/openssl
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 /ext/openssl
parenta688c62f57f32eafb76106b7524114a0eb5d9507 (diff)
downloadphp-git-8df326e00366c77261f5b364749f81ca242ef016.tar.gz
Fixed bug #39394 (Missing check for older variants of openssl).
Diffstat (limited to 'ext/openssl')
-rw-r--r--ext/openssl/config.w321
-rw-r--r--ext/openssl/config0.m42
-rw-r--r--ext/openssl/openssl.c2
3 files changed, 4 insertions, 1 deletions
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);