]> granicus.if.org Git - php/commitdiff
Fixed bug #39394 (Missing check for older variants of openssl).
authorIlia Alshanetsky <iliaa@php.net>
Sun, 7 Jan 2007 18:38:22 +0000 (18:38 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 7 Jan 2007 18:38:22 +0000 (18:38 +0000)
NEWS
ext/openssl/config.w32
ext/openssl/config0.m4
ext/openssl/openssl.c

diff --git a/NEWS b/NEWS
index 3ded00318b987c8bb487445d98d1f54c50ad87b8..15ff376ebacf3a5168061baf9412c0bc3ede9acc 100644 (file)
--- 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)
index 98dc852ee8b4894d7f6c9b3dc27a612d2c382211..49edb068a8b6858c0ac8277321f2656f5812b0eb 100644 (file)
@@ -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);
        }
 }
 
index a51d9e19308448e3ffe7334acb128516a0ee0e62..e9699605fe73976a5ed67e69fff3b50b5d73c9d3 100644 (file)
@@ -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,[ ])
index e5ab2964766fb517a205da3b12df098ec322f134..638005a52c2560600296536740be04aadd602444 100644 (file)
@@ -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);