Skip to content

Commit ec844cc

Browse files
committed
Merge branch 'PHP-8.0' into PHP-8.1
2 parents 386bbf4 + fa1b6ab commit ec844cc

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ PHP NEWS
1111
- MySQLnd:
1212
. Fixed potential heap corruption due to alignment mismatch. (cmb)
1313

14+
- OpenSSL:
15+
. Fixed bug GH-8430 (OpenSSL compiled with no-md2, no-md4 or no-rmd160 does
16+
not build). (Jakub Zelenka, fsbruva)
17+
1418
- SOAP:
1519
. Fixed GH-9720 (Null pointer dereference while serializing the response).
1620
(cmb)

ext/openssl/openssl.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,10 @@
7272
/* constants used in ext/phar/util.c, keep in sync */
7373
#define OPENSSL_ALGO_SHA1 1
7474
#define OPENSSL_ALGO_MD5 2
75+
#ifndef OPENSSL_NO_MD4
7576
#define OPENSSL_ALGO_MD4 3
76-
#ifdef HAVE_OPENSSL_MD2_H
77+
#endif
78+
#ifndef OPENSSL_NO_MD2
7779
#define OPENSSL_ALGO_MD2 4
7880
#endif
7981
#if PHP_OPENSSL_API_VERSION < 0x10100
@@ -83,7 +85,9 @@
8385
#define OPENSSL_ALGO_SHA256 7
8486
#define OPENSSL_ALGO_SHA384 8
8587
#define OPENSSL_ALGO_SHA512 9
88+
#ifndef OPENSSL_NO_RMD160
8689
#define OPENSSL_ALGO_RMD160 10
90+
#endif
8791
#define DEBUG_SMIME 0
8892

8993
#if !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC)
@@ -1121,10 +1125,12 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(zend_long algo) { /* {{{ */
11211125
case OPENSSL_ALGO_MD5:
11221126
mdtype = (EVP_MD *) EVP_md5();
11231127
break;
1128+
#ifndef OPENSSL_NO_MD4
11241129
case OPENSSL_ALGO_MD4:
11251130
mdtype = (EVP_MD *) EVP_md4();
11261131
break;
1127-
#ifdef HAVE_OPENSSL_MD2_H
1132+
#endif
1133+
#ifndef OPENSSL_NO_MD2
11281134
case OPENSSL_ALGO_MD2:
11291135
mdtype = (EVP_MD *) EVP_md2();
11301136
break;
@@ -1146,9 +1152,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(zend_long algo) { /* {{{ */
11461152
case OPENSSL_ALGO_SHA512:
11471153
mdtype = (EVP_MD *) EVP_sha512();
11481154
break;
1155+
#ifndef OPENSSL_NO_RMD160
11491156
case OPENSSL_ALGO_RMD160:
11501157
mdtype = (EVP_MD *) EVP_ripemd160();
11511158
break;
1159+
#endif
11521160
default:
11531161
return NULL;
11541162
break;
@@ -1274,8 +1282,10 @@ PHP_MINIT_FUNCTION(openssl)
12741282
/* digest algorithm constants */
12751283
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA1", OPENSSL_ALGO_SHA1, CONST_CS|CONST_PERSISTENT);
12761284
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD5", OPENSSL_ALGO_MD5, CONST_CS|CONST_PERSISTENT);
1285+
#ifndef OPENSSL_NO_MD4
12771286
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD4", OPENSSL_ALGO_MD4, CONST_CS|CONST_PERSISTENT);
1278-
#ifdef HAVE_OPENSSL_MD2_H
1287+
#endif
1288+
#ifndef OPENSSL_NO_MD2
12791289
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
12801290
#endif
12811291
#if PHP_OPENSSL_API_VERSION < 0x10100
@@ -1285,7 +1295,9 @@ PHP_MINIT_FUNCTION(openssl)
12851295
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT);
12861296
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA384", OPENSSL_ALGO_SHA384, CONST_CS|CONST_PERSISTENT);
12871297
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA512", OPENSSL_ALGO_SHA512, CONST_CS|CONST_PERSISTENT);
1298+
#ifndef OPENSSL_NO_RMD160
12881299
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_RMD160", OPENSSL_ALGO_RMD160, CONST_CS|CONST_PERSISTENT);
1300+
#endif
12891301

12901302
/* flags for S/MIME */
12911303
REGISTER_LONG_CONSTANT("PKCS7_DETACHED", PKCS7_DETACHED, CONST_CS|CONST_PERSISTENT);

0 commit comments

Comments
 (0)