mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Fix GH-8430: OpenSSL compiled with old disgests does not build
Specifically no-md2, no-md4 or no-rmd160 were not supported
This commit is contained in:
parent
845c6b3b3b
commit
fa1b6ab5db
4
NEWS
4
NEWS
@ -12,6 +12,10 @@ PHP NEWS
|
||||
. Fixed bug GH-9763 (DateTimeZone ctr mishandles input and adds null byte if
|
||||
the argument is an offset larger than 100*60 minutes). (Derick)
|
||||
|
||||
- OpenSSL:
|
||||
. Fixed bug GH-8430 (OpenSSL compiled with no-md2, no-md4 or no-rmd160 does
|
||||
not build). (Jakub Zelenka, fsbruva)
|
||||
|
||||
- SOAP:
|
||||
. Fixed GH-9720 (Null pointer dereference while serializing the response).
|
||||
(cmb)
|
||||
|
@ -68,8 +68,10 @@
|
||||
|
||||
#define OPENSSL_ALGO_SHA1 1
|
||||
#define OPENSSL_ALGO_MD5 2
|
||||
#ifndef OPENSSL_NO_MD4
|
||||
#define OPENSSL_ALGO_MD4 3
|
||||
#ifdef HAVE_OPENSSL_MD2_H
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MD2
|
||||
#define OPENSSL_ALGO_MD2 4
|
||||
#endif
|
||||
#if PHP_OPENSSL_API_VERSION < 0x10100
|
||||
@ -79,7 +81,9 @@
|
||||
#define OPENSSL_ALGO_SHA256 7
|
||||
#define OPENSSL_ALGO_SHA384 8
|
||||
#define OPENSSL_ALGO_SHA512 9
|
||||
#ifndef OPENSSL_NO_RMD160
|
||||
#define OPENSSL_ALGO_RMD160 10
|
||||
#endif
|
||||
#define DEBUG_SMIME 0
|
||||
|
||||
#if !defined(OPENSSL_NO_EC) && defined(EVP_PKEY_EC)
|
||||
@ -1104,10 +1108,12 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(zend_long algo) { /* {{{ */
|
||||
case OPENSSL_ALGO_MD5:
|
||||
mdtype = (EVP_MD *) EVP_md5();
|
||||
break;
|
||||
#ifndef OPENSSL_NO_MD4
|
||||
case OPENSSL_ALGO_MD4:
|
||||
mdtype = (EVP_MD *) EVP_md4();
|
||||
break;
|
||||
#ifdef HAVE_OPENSSL_MD2_H
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MD2
|
||||
case OPENSSL_ALGO_MD2:
|
||||
mdtype = (EVP_MD *) EVP_md2();
|
||||
break;
|
||||
@ -1129,9 +1135,11 @@ static EVP_MD * php_openssl_get_evp_md_from_algo(zend_long algo) { /* {{{ */
|
||||
case OPENSSL_ALGO_SHA512:
|
||||
mdtype = (EVP_MD *) EVP_sha512();
|
||||
break;
|
||||
#ifndef OPENSSL_NO_RMD160
|
||||
case OPENSSL_ALGO_RMD160:
|
||||
mdtype = (EVP_MD *) EVP_ripemd160();
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
return NULL;
|
||||
break;
|
||||
@ -1279,8 +1287,10 @@ PHP_MINIT_FUNCTION(openssl)
|
||||
/* digest algorithm constants */
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA1", OPENSSL_ALGO_SHA1, CONST_CS|CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD5", OPENSSL_ALGO_MD5, CONST_CS|CONST_PERSISTENT);
|
||||
#ifndef OPENSSL_NO_MD4
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD4", OPENSSL_ALGO_MD4, CONST_CS|CONST_PERSISTENT);
|
||||
#ifdef HAVE_OPENSSL_MD2_H
|
||||
#endif
|
||||
#ifndef OPENSSL_NO_MD2
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_MD2", OPENSSL_ALGO_MD2, CONST_CS|CONST_PERSISTENT);
|
||||
#endif
|
||||
#if PHP_OPENSSL_API_VERSION < 0x10100
|
||||
@ -1290,7 +1300,9 @@ PHP_MINIT_FUNCTION(openssl)
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA256", OPENSSL_ALGO_SHA256, CONST_CS|CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA384", OPENSSL_ALGO_SHA384, CONST_CS|CONST_PERSISTENT);
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_SHA512", OPENSSL_ALGO_SHA512, CONST_CS|CONST_PERSISTENT);
|
||||
#ifndef OPENSSL_NO_RMD160
|
||||
REGISTER_LONG_CONSTANT("OPENSSL_ALGO_RMD160", OPENSSL_ALGO_RMD160, CONST_CS|CONST_PERSISTENT);
|
||||
#endif
|
||||
|
||||
/* flags for S/MIME */
|
||||
REGISTER_LONG_CONSTANT("PKCS7_DETACHED", PKCS7_DETACHED, CONST_CS|CONST_PERSISTENT);
|
||||
|
Loading…
Reference in New Issue
Block a user