Skip to content

Commit 633f898

Browse files
committed
Skip failing tests when EC unavailable (RHEL)
1 parent a289b37 commit 633f898

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

ext/openssl/openssl.c

+8-4
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@
7878
#endif
7979
#define DEBUG_SMIME 0
8080

81+
#if !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC)
82+
#define HAVE_EVP_PKEY_EC 1
83+
#endif
84+
8185
/* FIXME: Use the openssl constants instead of
8286
* enum. It is now impossible to match real values
8387
* against php constants. Also sorry to break the
@@ -88,7 +92,7 @@ enum php_openssl_key_type {
8892
OPENSSL_KEYTYPE_DSA,
8993
OPENSSL_KEYTYPE_DH,
9094
OPENSSL_KEYTYPE_DEFAULT = OPENSSL_KEYTYPE_RSA,
91-
#ifdef EVP_PKEY_EC
95+
#ifdef HAVE_EVP_PKEY_EC
9296
OPENSSL_KEYTYPE_EC = OPENSSL_KEYTYPE_DH +1
9397
#endif
9498
};
@@ -1116,7 +1120,7 @@ PHP_MINIT_FUNCTION(openssl)
11161120
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DSA", OPENSSL_KEYTYPE_DSA, CONST_CS|CONST_PERSISTENT);
11171121
#endif
11181122
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_DH", OPENSSL_KEYTYPE_DH, CONST_CS|CONST_PERSISTENT);
1119-
#ifdef EVP_PKEY_EC
1123+
#ifdef HAVE_EVP_PKEY_EC
11201124
REGISTER_LONG_CONSTANT("OPENSSL_KEYTYPE_EC", OPENSSL_KEYTYPE_EC, CONST_CS|CONST_PERSISTENT);
11211125
#endif
11221126

@@ -3014,7 +3018,7 @@ static int php_openssl_is_private_key(EVP_PKEY* pkey TSRMLS_DC)
30143018
}
30153019
break;
30163020
#endif
3017-
#if OPENSSL_VERSION_NUMBER >= 0x0090800fL && !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC)
3021+
#ifdef HAVE_EVP_PKEY_EC
30183022
case EVP_PKEY_EC:
30193023
assert(pkey->pkey.ec != NULL);
30203024

@@ -3423,7 +3427,7 @@ PHP_FUNCTION(openssl_pkey_get_details)
34233427
}
34243428

34253429
break;
3426-
#ifdef EVP_PKEY_EC
3430+
#ifdef HAVE_EVP_PKEY_EC
34273431
case EVP_PKEY_EC:
34283432
ktype = OPENSSL_KEYTYPE_EC;
34293433
break;

ext/openssl/tests/bug64802.phpt

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Bug #64802: openssl_x509_parse fails to parse subject properly in some cases
33
--SKIPIF--
44
<?php
55
if (!extension_loaded("openssl")) die("skip");
6+
if (!defined(OPENSSL_KEYTYPE_EC)) die("skip no EC available);
67
?>
78
--FILE--
89
<?php

ext/openssl/tests/bug66501.phpt

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ Bug #66501: EC private key support in openssl_sign
33
--SKIPIF--
44
<?php
55
if (!extension_loaded("openssl")) die("skip");
6+
if (!defined(OPENSSL_KEYTYPE_EC)) die("skip no EC available);
67
--FILE--
78
<?php
89
$pkey = 'ASN1 OID: prime256v1

0 commit comments

Comments
 (0)