Bug #72360 [Csd]: ext/openssl build failure with OpenSSL 1.1.0
| From: | bukka@php.net | Date: | Wed, 05 Apr 2017 20:22:53 +0000 |
| Subject: | Bug #72360 [Csd]: ext/openssl build failure with OpenSSL 1.1.0 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-208348@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
Updated by: bukka@php.net
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:
Sorry for posting twice the same (it's just stupid interface... :) )
Previous Comments:
------------------------------------------------------------------------
[2017-04-05 20:22:11] bukka@php.net
It builds fine but in the email that I got from you, it's suggested to apply these changes:
@ ext/openssl/openssl.c
PHP_MINFO_FUNCTION(openssl)
{
php_info_print_table_start();
php_info_print_table_row(2, "OpenSSL support", "enabled");
-- php_info_print_table_row(2, "OpenSSL Library Version",
SSLeay_version(SSLEAY_VERSION));
++ php_info_print_table_row(2, "OpenSSL Library Version",
OpenSSL_version(OPENSSL_VERSION));
php_info_print_table_row(2, "OpenSSL Header Version", OPENSSL_VERSION_TEXT);
php_info_print_table_row(2, "Openssl default config",
default_ssl_conf_filename);
php_info_print_table_end();
DISPLAY_INI_ENTRIES();
}
It means that you don't build openssl with compat api (OPENSSL_API_COMPAT < 0x10100000L)
which is currently necessary. See
https://github.com/openssl/openssl/blob/b3c31a6572bd7b89f469deb3c78f85f6e303df47/include/openssl/crypto.h#L54
I will take a look on those later but better to open a new bug for that called something like
"Compilation with OPENSSL_API_COMPAT >= 0x10100000L fails". This is not related to the
issues in this bug though.
------------------------------------------------------------------------
[2017-04-05 20:22:07] bukka@php.net
It builds fine but in the email that I got from you, it's suggested to apply these changes:
@ ext/openssl/openssl.c
PHP_MINFO_FUNCTION(openssl)
{
php_info_print_table_start();
php_info_print_table_row(2, "OpenSSL support", "enabled");
-- php_info_print_table_row(2, "OpenSSL Library Version",
SSLeay_version(SSLEAY_VERSION));
++ php_info_print_table_row(2, "OpenSSL Library Version",
OpenSSL_version(OPENSSL_VERSION));
php_info_print_table_row(2, "OpenSSL Header Version", OPENSSL_VERSION_TEXT);
php_info_print_table_row(2, "Openssl default config",
default_ssl_conf_filename);
php_info_print_table_end();
DISPLAY_INI_ENTRIES();
}
It means that you don't build openssl with compat api (OPENSSL_API_COMPAT < 0x10100000L)
which is currently necessary. See
https://github.com/openssl/openssl/blob/b3c31a6572bd7b89f469deb3c78f85f6e303df47/include/openssl/crypto.h#L54
I will take a look on those later but better to open a new bug for that called something like
"Compilation with OPENSSL_API_COMPAT >= 0x10100000L fails". This is not related to the
issues in this bug though.
------------------------------------------------------------------------
[2017-04-05 18:25:19] pgnet dot dev at gmail dot com
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?
------------------------------------------------------------------------
[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.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=72360
--
Edit this bug report at https://bugs.php.net/bug.php?id=72360&edit=1