What's the current status of Openssl 1.1 builds?

Several references

        https://externals.io/thread/661
        
http://git.php.net/?p=php-src.git;a=commitdiff;h=015a80ef7bb5d691745b6fba35060d996c788a53
        https://bugs.php.net/bug.php?id=72360

suggest that it should be 'in' head, at least, if not 71 branch.


But, here, with php HEAD

        cd /work/php-src
        git clean -xfd
        git reset --hard HEAD
        git checkout master
        git log | head

the 'cleanest' build on linux64 + openssl 1.1 I can manage atm,

*requires* this fix

        perl -pi -e '\
         
s|SSLeay_version\(SSLEAY_VERSION\)|OpenSSL_version\(OPENSSL_VERSION\)|g' \
        /work/php-src/ext/openssl/openssl.c

then, with simple config

        export PHP_RPATHS="/usr/local/openssl11/lib64"
        ./buildconf --force
        ./configure \
         --disable-all \
         --with-openssl=/usr/local/openssl11

builds, with lots of warnings, but no apparent errors

        make V=1

                /bin/sh /work/php-src/libtool --silent --preserve-dup-deps 
--mode=compile /usr/bin/gcc-6  -Iext/openssl/ -I/work/php-src/ext/openssl/ 
-DPHP_ATOM_INC -I/work/php-src/include -I/work/php-src/main -I/work/php-src 
-I/work/php-src/ext/date/lib -I/usr/local/openssl11/include 
-I/work/php-src/TSRM -I/work/php-src/Zend    -O3 -Wall -fstack-protector 
-funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 
-grecord-gcc-switches -march=native -mtune=native -fPIC -DPIC -D_GNU_SOURCE 
-fno-strict-aliasing -fvisibility=hidden -DZEND_SIGNALS    -c 
/work/php-src/ext/openssl/openssl.c -o ext/openssl/openssl.lo 
                /work/php-src/ext/openssl/openssl.c: In function 
‘add_assoc_name_entry’:
                /work/php-src/ext/openssl/openssl.c:859:13: warning: implicit 
declaration of function ‘ASN1_STRING_data’ [-Wimplicit-function-declaration]
                    to_add = ASN1_STRING_data(str);
                             ^~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:859:11: warning: assignment 
makes pointer from integer without a cast [-Wint-conversion]
                    to_add = ASN1_STRING_data(str);
                           ^
                /work/php-src/ext/openssl/openssl.c: In function 
‘asn1_time_to_time_t’:
                /work/php-src/ext/openssl/openssl.c:921:28: warning: cast to 
pointer from integer of different size [-Wint-to-pointer-cast]
                  if (timestr_len != strlen((const 
char*)ASN1_STRING_data(timestr))) {
                                            ^
                In file included from /work/php-src/Zend/zend.h:31:0,
                                 from /work/php-src/main/php.h:35,
                                 from /work/php-src/ext/openssl/openssl.c:30:
                /work/php-src/ext/openssl/openssl.c:936:19: warning: cast to 
pointer from integer of different size [-Wint-to-pointer-cast]
                  strbuf = estrdup((char *)ASN1_STRING_data(timestr));
                                   ^
                /work/php-src/Zend/zend_alloc.h:172:36: note: in definition of 
macro ‘estrdup’
                 #define estrdup(s)       _estrdup((s) ZEND_FILE_LINE_CC 
ZEND_FILE_LINE_EMPTY_CC)
                                                    ^
                /work/php-src/ext/openssl/openssl.c: In function 
‘zm_startup_openssl’:
                /work/php-src/ext/openssl/openssl.c:1402:2: warning: implicit 
declaration of function ‘SSL_library_init’ [-Wimplicit-function-declaration]
                  SSL_library_init();
                  ^~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1403:2: warning: implicit 
declaration of function ‘OpenSSL_add_all_ciphers’ 
[-Wimplicit-function-declaration]
                  OpenSSL_add_all_ciphers();
                  ^~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1404:2: warning: implicit 
declaration of function ‘OpenSSL_add_all_digests’ 
[-Wimplicit-function-declaration]
                  OpenSSL_add_all_digests();
                  ^~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1405:2: warning: implicit 
declaration of function ‘OpenSSL_add_all_algorithms’ 
[-Wimplicit-function-declaration]
                  OpenSSL_add_all_algorithms();
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1413:2: warning: implicit 
declaration of function ‘SSL_load_error_strings’ 
[-Wimplicit-function-declaration]
                  SSL_load_error_strings();
                  ^~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c: In function 
‘zm_shutdown_openssl’:
                /work/php-src/ext/openssl/openssl.c:1577:2: warning: implicit 
declaration of function ‘EVP_cleanup’ [-Wimplicit-function-declaration]
                  EVP_cleanup();
                  ^~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1580:2: warning: implicit 
declaration of function ‘CRYPTO_set_locking_callback’ 
[-Wimplicit-function-declaration]
                  CRYPTO_set_locking_callback(NULL);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:1582:2: warning: implicit 
declaration of function ‘ERR_free_strings’ [-Wimplicit-function-declaration]
                  ERR_free_strings();
                  ^~~~~~~~~~~~~~~~
                In file included from /work/php-src/main/php.h:39:0,
                                 from /work/php-src/ext/openssl/openssl.c:30:
                /work/php-src/ext/openssl/openssl.c: In function 
‘zif_openssl_spki_export_challenge’:
                /work/php-src/ext/openssl/openssl.c:2045:16: warning: cast to 
pointer from integer of different size [-Wint-to-pointer-cast]
                  RETVAL_STRING((char *) 
ASN1_STRING_data(spki->spkac->challenge));
                                ^
                /work/php-src/Zend/zend_API.h:592:21: note: in definition of 
macro ‘ZVAL_STRING’
                   const char *_s = (s);     \
                                     ^
                /work/php-src/ext/openssl/openssl.c:2045:2: note: in expansion 
of macro ‘RETVAL_STRING’
                  RETVAL_STRING((char *) 
ASN1_STRING_data(spki->spkac->challenge));
                  ^~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c: In function 
‘openssl_x509v3_subjectAltName’:
                /work/php-src/ext/openssl/openssl.c:2236:20: warning: passing 
argument 2 of ‘BIO_write’ makes pointer from integer without a cast 
[-Wint-conversion]
                     BIO_write(bio, ASN1_STRING_data(as),
                                    ^~~~~~~~~~~~~~~~
                In file included from 
/usr/local/openssl11/include/openssl/err.h:21:0,
                                 from 
/work/php-src/ext/openssl/php_openssl.h:49,
                                 from /work/php-src/ext/openssl/openssl.c:32:
                /usr/local/openssl11/include/openssl/bio.h:549:5: note: 
expected ‘const void *’ but argument is of type ‘int’
                 int BIO_write(BIO *b, const void *data, int len);
                     ^~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:2242:20: warning: passing 
argument 2 of ‘BIO_write’ makes pointer from integer without a cast 
[-Wint-conversion]
                     BIO_write(bio, ASN1_STRING_data(as),
                                    ^~~~~~~~~~~~~~~~
                In file included from 
/usr/local/openssl11/include/openssl/err.h:21:0,
                                 from 
/work/php-src/ext/openssl/php_openssl.h:49,
                                 from /work/php-src/ext/openssl/openssl.c:32:
                /usr/local/openssl11/include/openssl/bio.h:549:5: note: 
expected ‘const void *’ but argument is of type ‘int’
                 int BIO_write(BIO *b, const void *data, int len);
                     ^~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:2248:20: warning: passing 
argument 2 of ‘BIO_write’ makes pointer from integer without a cast 
[-Wint-conversion]
                     BIO_write(bio, ASN1_STRING_data(as),
                                    ^~~~~~~~~~~~~~~~
                In file included from 
/usr/local/openssl11/include/openssl/err.h:21:0,
                                 from 
/work/php-src/ext/openssl/php_openssl.h:49,
                                 from /work/php-src/ext/openssl/openssl.c:32:
                /usr/local/openssl11/include/openssl/bio.h:549:5: note: 
expected ‘const void *’ but argument is of type ‘int’
                 int BIO_write(BIO *b, const void *data, int len);
                     ^~~~~~~~~
                /work/php-src/ext/openssl/openssl.c: In function 
‘zif_openssl_x509_parse’:
                /work/php-src/ext/openssl/openssl.c:2340:52: warning: implicit 
declaration of function ‘X509_get_notBefore’ [-Wimplicit-function-declaration]
                  add_assoc_asn1_string(return_value, "validFrom",  
X509_get_notBefore(cert));
                                                                    
^~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:2340:52: warning: passing 
argument 3 of ‘add_assoc_asn1_string’ makes pointer from integer without a cast 
[-Wint-conversion]
                /work/php-src/ext/openssl/openssl.c:892:13: note: expected 
‘ASN1_STRING * {aka struct asn1_string_st *}’ but argument is of type ‘int’
                 static void add_assoc_asn1_string(zval * val, char * key, 
ASN1_STRING * str) /* {{{ */
                             ^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:2341:51: warning: implicit 
declaration of function ‘X509_get_notAfter’ [-Wimplicit-function-declaration]
                  add_assoc_asn1_string(return_value, "validTo",   
X509_get_notAfter(cert));
                                                                   
^~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:2341:51: warning: passing 
argument 3 of ‘add_assoc_asn1_string’ makes pointer from integer without a cast 
[-Wint-conversion]
                /work/php-src/ext/openssl/openssl.c:892:13: note: expected 
‘ASN1_STRING * {aka struct asn1_string_st *}’ but argument is of type ‘int’
                 static void add_assoc_asn1_string(zval * val, char * key, 
ASN1_STRING * str) /* {{{ */
                             ^~~~~~~~~~~~~~~~~~~~~
                In file included from /work/php-src/main/php.h:39:0,
                                 from /work/php-src/ext/openssl/openssl.c:30:
                /work/php-src/ext/openssl/openssl.c:2343:72: warning: passing 
argument 1 of ‘asn1_time_to_time_t’ makes pointer from integer without a cast 
[-Wint-conversion]
                  add_assoc_long(return_value, "validFrom_time_t",  
asn1_time_to_time_t(X509_get_notBefore(cert)));
                                                                                
        ^
                /work/php-src/Zend/zend_API.h:413:90: note: in definition of 
macro ‘add_assoc_long’
                 define add_assoc_long(__arg, __key, __n) 
add_assoc_long_ex(__arg, __key, strlen(__key), __n)
                                                                                
                         ^~~
                /work/php-src/ext/openssl/openssl.c:898:15: note: expected 
‘ASN1_UTCTIME * {aka struct asn1_string_st *}’ but argument is of type ‘int’
                 static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr) /* 
{{{ */
                               ^~~~~~~~~~~~~~~~~~~
                In file included from /work/php-src/main/php.h:39:0,
                                 from /work/php-src/ext/openssl/openssl.c:30:
                /work/php-src/ext/openssl/openssl.c:2344:71: warning: passing 
argument 1 of ‘asn1_time_to_time_t’ makes pointer from integer without a cast 
[-Wint-conversion]
                  add_assoc_long(return_value, "validTo_time_t",   
asn1_time_to_time_t(X509_get_notAfter(cert)));
                                                                                
       ^
                /work/php-src/Zend/zend_API.h:413:90: note: in definition of 
macro ‘add_assoc_long’
                 define add_assoc_long(__arg, __key, __n) 
add_assoc_long_ex(__arg, __key, strlen(__key), __n)
                                                                                
                         ^~~
                /work/php-src/ext/openssl/openssl.c:898:15: note: expected 
‘ASN1_UTCTIME * {aka struct asn1_string_st *}’ but argument is of type ‘int’
                 static time_t asn1_time_to_time_t(ASN1_UTCTIME * timestr) /* 
{{{ */
                               ^~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c: In function 
‘zif_openssl_csr_sign’:
                /work/php-src/ext/openssl/openssl.c:3421:18: warning: passing 
argument 1 of ‘X509_gmtime_adj’ makes pointer from integer without a cast 
[-Wint-conversion]
                  X509_gmtime_adj(X509_get_notBefore(new_cert), 0);
                                  ^~~~~~~~~~~~~~~~~~
                In file included from /work/php-src/ext/openssl/openssl.c:50:0:
                /usr/local/openssl11/include/openssl/x509.h:479:12: note: 
expected ‘ASN1_TIME * {aka struct asn1_string_st *}’ but argument is of type 
‘int’
                 ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
                            ^~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c:3422:18: warning: passing 
argument 1 of ‘X509_gmtime_adj’ makes pointer from integer without a cast 
[-Wint-conversion]
                  X509_gmtime_adj(X509_get_notAfter(new_cert), 
60*60*24*(long)num_days);
                                  ^~~~~~~~~~~~~~~~~
                In file included from /work/php-src/ext/openssl/openssl.c:50:0:
                /usr/local/openssl11/include/openssl/x509.h:479:12: note: 
expected ‘ASN1_TIME * {aka struct asn1_string_st *}’ but argument is of type 
‘int’
                 ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj);
                            ^~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/openssl.c: In function 
‘zif_openssl_seal’:
                /work/php-src/ext/openssl/openssl.c:5886:2: warning: implicit 
declaration of function ‘EVP_CIPHER_CTX_cleanup’ 
[-Wimplicit-function-declaration]
                  EVP_CIPHER_CTX_cleanup(ctx);
                  ^~~~~~~~~~~~~~~~~~~~~~
                /bin/sh /work/php-src/libtool --silent --preserve-dup-deps 
--mode=compile /usr/bin/gcc-6  -Iext/openssl/ -I/work/php-src/ext/openssl/ 
-DPHP_ATOM_INC -I/work/php-src/include -I/work/php-src/main -I/work/php-src 
-I/work/php-src/ext/date/lib -I/usr/local/openssl11/include 
-I/work/php-src/TSRM -I/work/php-src/Zend    -O3 -Wall -fstack-protector 
-funwind-tables -fasynchronous-unwind-tables -fmessage-length=0 
-grecord-gcc-switches -march=native -mtune=native -fPIC -DPIC -D_GNU_SOURCE 
-fno-strict-aliasing -fvisibility=hidden -DZEND_SIGNALS    -c 
/work/php-src/ext/openssl/xp_ssl.c -o ext/openssl/xp_ssl.lo 
                /work/php-src/ext/openssl/xp_ssl.c: In function 
‘php_select_crypto_method’:
                /work/php-src/ext/openssl/xp_ssl.c:946:22: warning: implicit 
declaration of function ‘TLSv1_client_method’ [-Wimplicit-function-declaration]
                   return is_client ? TLSv1_client_method() : 
TLSv1_server_method();
                                      ^~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:946:46: warning: implicit 
declaration of function ‘TLSv1_server_method’ [-Wimplicit-function-declaration]
                   return is_client ? TLSv1_client_method() : 
TLSv1_server_method();
                                                              
^~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:946:44: warning: return 
makes pointer from integer without a cast [-Wint-conversion]
                   return is_client ? TLSv1_client_method() : 
TLSv1_server_method();
                          
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:949:22: warning: implicit 
declaration of function ‘TLSv1_1_client_method’ 
[-Wimplicit-function-declaration]
                   return is_client ? TLSv1_1_client_method() : 
TLSv1_1_server_method();
                                      ^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:949:48: warning: implicit 
declaration of function ‘TLSv1_1_server_method’ 
[-Wimplicit-function-declaration]
                   return is_client ? TLSv1_1_client_method() : 
TLSv1_1_server_method();
                                                                
^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:949:46: warning: return 
makes pointer from integer without a cast [-Wint-conversion]
                   return is_client ? TLSv1_1_client_method() : 
TLSv1_1_server_method();
                          
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:957:22: warning: implicit 
declaration of function ‘TLSv1_2_client_method’ 
[-Wimplicit-function-declaration]
                   return is_client ? TLSv1_2_client_method() : 
TLSv1_2_server_method();
                                      ^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:957:48: warning: implicit 
declaration of function ‘TLSv1_2_server_method’ 
[-Wimplicit-function-declaration]
                   return is_client ? TLSv1_2_client_method() : 
TLSv1_2_server_method();
                                                                
^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:957:46: warning: return 
makes pointer from integer without a cast [-Wint-conversion]
                   return is_client ? TLSv1_2_client_method() : 
TLSv1_2_server_method();
                          
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c: In function 
‘php_openssl_sockop_set_option’:
                /work/php-src/ext/openssl/xp_ssl.c:1867:22: warning: 
‘cert_captured’ may be used uninitialized in this function 
[-Wmaybe-uninitialized]
                   if (n && peer_cert && cert_captured == 0) {
                       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
                /work/php-src/ext/openssl/xp_ssl.c:1737:6: note: 
‘cert_captured’ was declared here
                  int cert_captured;
                      ^~~~~~~~~~~~~
                /bin/sh /work/php-src/libtool --silent --preserve-dup-deps 
--mode=link /usr/bin/gcc
                ...

        make install
        ldd /usr/local/php-dev/bin/php | egrep "ssl|crypto"
                libssl.so.1.1 => /usr/local/openssl11/lib64/libssl.so.1.1 
(0x00007f8f58586000)
                libcrypto.so.1.1 => /usr/local/openssl11/lib64/libcrypto.so.1.1 
(0x00007f8f580dc000)

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to