Bug #72360 [Com]: ext/openssl build failure with OpenSSL 1.1.0
| From: | pgnet dot dev at gmail dot com | Date: | Wed, 05 Apr 2017 18:25:20 +0000 |
| Subject: | Bug #72360 [Com]: ext/openssl build failure with OpenSSL 1.1.0 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-208343@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=72360&edit=1
ID: 72360
Comment by: pgnet dot dev at gmail dot com
Reported by: bugs dot php dot net at majkl578 dot cz
Summary: ext/openssl build failure with OpenSSL 1.1.0
Status: Closed
Type: Bug
Package: OpenSSL related
Operating System: Debian experimental
PHP Version: 7.0.7
Assigned To: bukka
Block user comment: N
Private report: N
New Comment:
current 7.1 branch does not build , with similar errors as reported here, with Openssl 1.1.
are the reqd changes still just in master? or have these fixes already made it into 7.1 yet, but
need more attention?
Previous Comments:
------------------------------------------------------------------------
[2016-07-20 18:35:20] bukka@php.net
Fixed in master and the build with OpenSSL 1.1 should work in PHP 7.1
------------------------------------------------------------------------
[2016-06-08 17:50:17] bukka@php.net
I have got an initial port that requires more work as there were further API changes in OpenSSL 1.1
(e.g. structs like RSA, DSA, DH has been made opaque). The changes so far can be seen here:
https://github.com/bukka/php-src/compare/openssl_aead_with_error_store...bukka:openssl_1_1_port
I have to first sort out the error store and then merge openssl aead to master. After that I should
be able to update the patch and merge it to master.
------------------------------------------------------------------------
[2016-06-07 21:28:02] bugs dot php dot net at majkl578 dot cz
Description:
------------
OpenSSL extension is not compatible with upcoming OpenSSL 1.1.0.
Test script:
---------------
Install OpenSSL 1.1.0 headers (you can use Debian experimental for this).
$ ./configure --disable-all --with-openssl
$ make
Expected result:
----------------
No errors.
Actual result:
--------------
/build/php/ext/openssl/openssl.c: In function âphp_openssl_get_evp_md_from_algoâ:
/build/php/ext/openssl/openssl.c:1078:24: warning: implicit declaration of function
âEVP_dss1â [-Wimplicit-function-declaration]
mdtype = (EVP_MD *) EVP_dss1();
^~~~~~~~
/build/php/ext/openssl/openssl.c:1078:13: warning: cast to pointer from integer of different size
[-Wint-to-pointer-cast]
mdtype = (EVP_MD *) EVP_dss1();
^
/build/php/ext/openssl/openssl.c: In function âopenssl_x509v3_subjectAltNameâ:
/build/php/ext/openssl/openssl.c:1920:15: error: dereferencing pointer to incomplete type
âX509_EXTENSION {aka struct X509_extension_st}â
p = extension->value->data;
^~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_x509_parseâ:
/build/php/ext/openssl/openssl.c:1998:10: error: dereferencing pointer to incomplete type âX509
{aka struct x509_st}â
if (cert->name) {
^~
/build/php/ext/openssl/openssl.c: In function âphp_openssl_is_private_keyâ:
/build/php/ext/openssl/openssl.c:3501:14: error: dereferencing pointer to incomplete type
âEVP_PKEY {aka struct evp_pkey_st}â
switch (pkey->type) {
^~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_pkey_newâ:
/build/php/ext/openssl/openssl.c:3564:9: error: dereferencing pointer to incomplete type âRSA
{aka struct rsa_st}â
_type->_name = BN_bin2bn( \
^
/build/php/ext/openssl/openssl.c:3593:6: note: in expansion of macro âOPENSSL_PKEY_SET_BNâ
OPENSSL_PKEY_SET_BN(Z_ARRVAL_P(data), rsa, n);
^~~~~~~~~~~~~~~~~~~
/build/php/ext/openssl/openssl.c:3564:9: error: dereferencing pointer to incomplete type âDSA
{aka struct dsa_st}â
_type->_name = BN_bin2bn( \
^
/build/php/ext/openssl/openssl.c:3617:6: note: in expansion of macro âOPENSSL_PKEY_SET_BNâ
OPENSSL_PKEY_SET_BN(Z_ARRVAL_P(data), dsa, p);
^~~~~~~~~~~~~~~~~~~
/build/php/ext/openssl/openssl.c:3564:9: error: dereferencing pointer to incomplete type âDH
{aka struct dh_st}â
_type->_name = BN_bin2bn( \
^
/build/php/ext/openssl/openssl.c:3641:6: note: in expansion of macro âOPENSSL_PKEY_SET_BNâ
OPENSSL_PKEY_SET_BN(Z_ARRVAL_P(data), dh, p);
^~~~~~~~~~~~~~~~~~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_signâ:
/build/php/ext/openssl/openssl.c:4788:13: error: storage size of âmd_ctxâ isnât known
EVP_MD_CTX md_ctx;
^~~~~~
/build/php/ext/openssl/openssl.c:4833:2: warning: implicit declaration of function
âEVP_MD_CTX_cleanupâ [-Wimplicit-function-declaration]
EVP_MD_CTX_cleanup(&md_ctx);
^~~~~~~~~~~~~~~~~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_verifyâ:
/build/php/ext/openssl/openssl.c:4847:13: error: storage size of âmd_ctxâ isnât known
EVP_MD_CTX md_ctx;
^~~~~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_sealâ:
/build/php/ext/openssl/openssl.c:4912:17: error: storage size of âctxâ isnât known
EVP_CIPHER_CTX ctx;
^~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_openâ:
/build/php/ext/openssl/openssl.c:5035:17: error: storage size of âctxâ isnât known
EVP_CIPHER_CTX ctx;
^~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_digestâ:
/build/php/ext/openssl/openssl.c:5163:13: error: storage size of âmd_ctxâ isnât known
EVP_MD_CTX md_ctx;
^~~~~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_encryptâ:
/build/php/ext/openssl/openssl.c:5244:17: error: storage size of âcipher_ctxâ isnât
known
EVP_CIPHER_CTX cipher_ctx;
^~~~~~~~~~
/build/php/ext/openssl/openssl.c: In function âzif_openssl_decryptâ:
/build/php/ext/openssl/openssl.c:5327:17: error: storage size of âcipher_ctxâ isnât
known
EVP_CIPHER_CTX cipher_ctx;
^~~~~~~~~~
Makefile:485: recipe for target 'ext/openssl/openssl.lo' failed
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=72360&edit=1