Bug #72360 [Com]: ext/openssl build failure with OpenSSL 1.1.0

From: 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

« previous php.bugs (#208343) next »