Skip to content

Commit 500b28a

Browse files
committed
Fix GH-10000: Test failures when OpenSSL compiled with no-dsa
1 parent 4987e65 commit 500b28a

11 files changed

+40
-4
lines changed

NEWS

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ PHP NEWS
2929
- OpenSSL:
3030
. Fixed bug GH-9064 (PHP fails to build if openssl was built with --no-ec).
3131
(Jakub Zelenka)
32+
. Fixed bug GH-10000 (OpenSSL test failures when OpenSSL compiled with
33+
no-dsa). (Jakub Zelenka)
3234

3335
- Pcntl:
3436
. Fixed bug GH-9298 (Signal handler called after rshutdown leads to crash).

ext/openssl/openssl.c

+3-3
Original file line numberDiff line numberDiff line change
@@ -1347,7 +1347,7 @@ PHP_MINIT_FUNCTION(openssl)
13471347

13481348
/* Values for key types */
13491349
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_RSA", OPENSSL_KEYTYPE_RSA, CONST_CS|CONST_PERSISTENT);
1350-
#ifndef NO_DSA
1350+
#ifndef OPENSSL_NO_DSA
13511351
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DSA", OPENSSL_KEYTYPE_DSA, CONST_CS|CONST_PERSISTENT);
13521352
#endif
13531353
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DH", OPENSSL_KEYTYPE_DH, CONST_CS|CONST_PERSISTENT);
@@ -3759,7 +3759,7 @@ static int php_openssl_get_evp_pkey_type(int key_type) {
37593759
switch (key_type) {
37603760
case OPENSSL_KEYTYPE_RSA:
37613761
return EVP_PKEY_RSA;
3762-
#if !defined(NO_DSA)
3762+
#if !defined(OPENSSL_NO_DSA)
37633763
case OPENSSL_KEYTYPE_DSA:
37643764
return EVP_PKEY_DSA;
37653765
#endif
@@ -3811,7 +3811,7 @@ static EVP_PKEY * php_openssl_generate_private_key(struct php_x509_request * req
38113811
}
38123812

38133813
switch (type) {
3814-
#if !defined(NO_DSA)
3814+
#if !defined(OPENSSL_NO_DSA)
38153815
case EVP_PKEY_DSA:
38163816
if (EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, req->priv_key_bits) <= 0) {
38173817
php_openssl_store_errors();

ext/openssl/tests/bug41033.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
#41033, enable signing with DSA keys
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$prv = 'file://' . __DIR__ . '/' . 'bug41033.pem';

ext/openssl/tests/bug73711.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
Bug #73711: Segfault in openssl_pkey_new when generating DSA or DH key
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$config = __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf';

ext/openssl/tests/bug81713.phpt

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
--TEST--
22
Bug #81713 (OpenSSL functions null byte injection)
3+
--EXTENSIONS--
4+
openssl
35
--SKIPIF--
46
<?php
5-
if (!extension_loaded("openssl")) die("skip openssl not loaded");
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
68
?>
79
--FILE--
810
<?php

ext/openssl/tests/openssl_csr_export_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_csr_export() tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$wrong = "wrong";

ext/openssl/tests/openssl_csr_export_to_file_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_csr_export_to_file() tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$csrfile = __DIR__ . "/openssl_csr_export_to_file_csr.tmp";

ext/openssl/tests/openssl_csr_get_public_key_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_csr_get_public_key() tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$config = __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf';

ext/openssl/tests/openssl_csr_get_subject_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_csr_get_subject() tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$config = __DIR__ . DIRECTORY_SEPARATOR . 'openssl.cnf';

ext/openssl/tests/openssl_csr_sign_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_csr_sign() tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
$cert = "file://" . __DIR__ . "/cert.crt";

ext/openssl/tests/openssl_pkey_new_basic.phpt

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
openssl_pkey_new() basic usage tests
33
--EXTENSIONS--
44
openssl
5+
--SKIPIF--
6+
<?php
7+
if (!defined("OPENSSL_KEYTYPE_DSA")) die("skip DSA disabled");
8+
?>
59
--FILE--
610
<?php
711
function openssl_pkey_test_cmp($expected, $bin_key) {

0 commit comments

Comments
 (0)