From: Ilia Alshanetsky Date: Sun, 7 Jan 2007 18:38:22 +0000 (+0000) Subject: Fixed bug #39394 (Missing check for older variants of openssl). X-Git-Tag: php-5.2.1RC3~83 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8df326e00366c77261f5b364749f81ca242ef016;p=php Fixed bug #39394 (Missing check for older variants of openssl). --- 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);