From https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=828361 OpenSSL 1.1.0 is about to released. During a rebuild of all packages using
OpenSSL this package fail to build. A log of that build can be found at: https://breakpoint.cc/openssl-1.1-rebuild-2016-05-29/Attempted/kamailio_4.4....
``` gcc -fPIC -DPIC -funroll-loops -Wcast-align -m64 -minline-all-stringops -falign-loops -ftree-vectorize -fno-strict-overflow -Wall -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -DVERSION_NODATE -DNAME='"kamailio"' -DVERSION='"4.4.1"' -DARCH='"x86_64"' -DOS='linux_' -DOS_QUOTED='"linux"' -DCOMPILER='"gcc 5.3.1"' -D__CPU_x86_64 -D__OS_linux -DSER_VER=4004001 -DCFG_DIR='"/etc/kamailio/"' -DRUN_DIR='"/var/run/kamailio/"' -DPKG_MALLOC -DSHM_MEM -DSHM_MMAP -DDNS_IP_HACK -DUSE_MCAST -DUSE_TCP -DDISABLE_NAGLE -DHAVE_RESOLV_RES -DUSE_DNS_CACHE -DUSE_DNS_FAILOVER -DUSE_DST_BLACKLIST -DUSE_NAPTR -DWITH_XAVP -DMEM_JOIN_FREE -DF_MALLOC -DQ_MALLOC -DTLSF_MALLOC -DDBG_SR_MEMORY -DUSE_TLS -DTLS_HOOKS -DUSE_CORE_STATS -DSTATISTICS -DMALLOC_STATS -DWITH_AS_SUPPORT -DUSE_SCTP -DFAST_LOCK -DADAPTIVE_WAIT -DADAPTIVE_WAIT_LOOPS=1024 -DCC_GCC_LIKE_ASM -DHAVE_GETHOSTBYNAME2 -DHAVE_UNION_SEMUN -DHAVE_SCHED_YIELD -DHAVE_MSG_NOSIGNAL -DHAVE_MSGHDR_MSG_CONTROL -DHAVE_ALLOCA_H -DHAVE_TIMEGM -DHAVE_SCHED_SETSCHEDULER -DUSE_RAW_SOCKS -DHAVE_EPOLL -DHAVE_SIGIO_RT -DSIGINFO64_WORKARROUND -DUSE_FUTEX -DHAVE_SELECT -DSER_MOD_INTERFACE -DMOD_NAME='"auth_identity"' -c auth_crypt.c -o auth_crypt.o -MMD -MP auth_crypt.c: In function 'verify_x509': auth_crypt.c:165:17: error: storage size of 'ca_ctx' isn't known X509_STORE_CTX ca_ctx; ^ auth_crypt.c:165:17: warning: unused variable 'ca_ctx' [-Wunused-variable] ../../Makefile.rules:97: recipe for target 'auth_crypt.o' failed make[2]: *** [auth_crypt.o] Error 1 ```
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/685
I pushed a patch only to auth_identity module to see if fixes it. Can you give it a try again?
If all ok, then it can be pushed to the other modules.
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/685#issuecomment-228702696
still failing ``` root@57ff6dd0f34b:/code# make modules modules=modules/auth_identity/ CC (gcc) [M auth_identity.so] auth_http.o CC (gcc) [M auth_identity.so] auth_hdrs.o CC (gcc) [M auth_identity.so] auth_tables.o CC (gcc) [M auth_identity.so] auth_identity.o CC (gcc) [M auth_identity.so] auth_crypt.o auth_crypt.c: In function 'verify_x509': auth_crypt.c:164:17: error: storage size of 'ca_ctx' isn't known X509_STORE_CTX ca_ctx; ^ auth_crypt.c:164:17: warning: unused variable 'ca_ctx' [-Wunused-variable] ../../Makefile.rules:97: recipe for target 'auth_crypt.o' failed make[1]: *** [auth_crypt.o] Error 1 Makefile:511: recipe for target 'modules' failed make: *** [modules] Error 1 ```
--- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/kamailio/kamailio/issues/685#issuecomment-229324333
using 5a21952e45ae31e432bda357a6bc8cbe152610ad (4.4) still failing: ``` auth_crypt.c: In function 'check_x509_subj': auth_crypt.c:118:5: warning: 'ASN1_STRING_data' is deprecated [-Wdeprecated-declarations] altptr = (char *)ASN1_STRING_data(actname->d.ia5); ^~~~~~ In file included from /usr/include/openssl/bn.h:31:0, from /usr/include/openssl/asn1.h:24, from /usr/include/openssl/objects.h:916, from /usr/include/openssl/evp.h:27, from /usr/include/openssl/pem.h:16, from auth_crypt.c:35: /usr/include/openssl/asn1.h:553:1: note: declared here DEPRECATEDIN_1_1_0(unsigned char *ASN1_STRING_data(ASN1_STRING *x)) ^ auth_crypt.c: In function 'verify_x509': auth_crypt.c:166:17: error: storage size of 'ca_ctx' isn't known X509_STORE_CTX ca_ctx; ^~~~~~ auth_crypt.c:166:17: warning: unused variable 'ca_ctx' [-Wunused-variable] ../../Makefile.rules:97: recipe for target 'auth_crypt.o' failed make[2]: *** [auth_crypt.o] Error 1 ```
with libssl-dev 1.0.1t-1+deb8u2 : ``` make every-module group_include="ktls" make[1]: Entering directory '/code' CC (gcc) [M auth_identity.so] auth_http.o CC (gcc) [M auth_identity.so] auth_hdrs.o CC (gcc) [M auth_identity.so] auth_tables.o CC (gcc) [M auth_identity.so] auth_identity.o CC (gcc) [M auth_identity.so] auth_crypt.o auth_crypt.c: In function 'check_x509_subj': auth_crypt.c:117:22: warning: implicit declaration of function 'ASN1_STRING_get0_data' [-Wimplicit-function-declaration] altptr = (char *)ASN1_STRING_get0_data(actname->d.ia5); ^ auth_crypt.c:117:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] altptr = (char *)ASN1_STRING_get0_data(actname->d.ia5); ^ CC (gcc) [M auth_identity.so] auth_dynstr.o LD (gcc) [M auth_identity.so] auth_identity.so CC (gcc) [M crypto.so] crypto_uuid.o CC (gcc) [M crypto.so] crypto_mod.o LD (gcc) [M crypto.so] crypto.so CC (gcc) [M tls.so] tls_domain.o CC (gcc) [M tls.so] tls_locking.o CC (gcc) [M tls.so] tls_server.o CC (gcc) [M tls.so] tls_cfg.o CC (gcc) [M tls.so] tls_util.o CC (gcc) [M tls.so] tls_select.o CC (gcc) [M tls.so] tls_dump_vf.o CC (gcc) [M tls.so] tls_init.o CC (gcc) [M tls.so] tls_bio.o CC (gcc) [M tls.so] tls_config.o CC (gcc) [M tls.so] tls_mod.o CC (gcc) [M tls.so] tls_rpc.o CC (gcc) [M tls.so] tls_ct_wrq.o CC (gcc) [M tls.so] tls_verify.o LD (gcc) [M tls.so] tls.so make[1]: Leaving directory '/code' ```
with libssl-dev 1.1.0-1: ``` make every-module group_include=ktls Makefile:56: modules.lst: No such file or directory Makefile:107: config.mak: No such file or directory target architecture <x86_64>, host architecture <x86_64> making config... saving modules list... CC (gcc) [M auth_identity.so] auth_http.o CC (gcc) [M auth_identity.so] auth_hdrs.o CC (gcc) [M auth_identity.so] auth_tables.o CC (gcc) [M auth_identity.so] auth_identity.o CC (gcc) [M auth_identity.so] auth_crypt.o CC (gcc) [M auth_identity.so] auth_dynstr.o LD (gcc) [M auth_identity.so] auth_identity.so CC (gcc) [M crypto.so] crypto_uuid.o CC (gcc) [M crypto.so] crypto_mod.o crypto_mod.c: In function 'w_crypto_aes_encrypt': crypto_mod.c:161:17: error: storage size of 'en' isn't known EVP_CIPHER_CTX en; ^~ crypto_mod.c:161:17: warning: unused variable 'en' [-Wunused-variable] crypto_mod.c: In function 'w_crypto_aes_decrypt': crypto_mod.c:241:17: error: storage size of 'de' isn't known EVP_CIPHER_CTX de; ^~ crypto_mod.c:241:17: warning: unused variable 'de' [-Wunused-variable] crypto_mod.c: In function 'crypto_aes_test': crypto_mod.c:436:17: error: storage size of 'en' isn't known EVP_CIPHER_CTX en, de; ^~ crypto_mod.c:436:21: error: storage size of 'de' isn't known EVP_CIPHER_CTX en, de; ^~ crypto_mod.c:436:21: warning: unused variable 'de' [-Wunused-variable] crypto_mod.c:436:17: warning: unused variable 'en' [-Wunused-variable] EVP_CIPHER_CTX en, de; ^~ ../../Makefile.rules:97: recipe for target 'crypto_mod.o' failed make[1]: *** [crypto_mod.o] Error 1 Makefile:511: recipe for target 'modules' failed make: *** [modules] Error 1 ```
The master branch should compile now with libssl v1.1.0, there are some warnings left in the tls module, some of them not clear how to be fixed (e.g., deprecated tls methods functions) and apparently the option to set custom crypto locking functions was removed (associated functions replaced with no ops defines), so some warnings about unused static declared functions. I will investigate more to be sure about, and if yes, it will just require to disable that part of code for libssl 1.1.0.
No real testing done so far apart of compiling. libssl 1.1.0 has quite some changes to the api versus v1.0.x, but the changes we needed were quite minimal.
If you find other different problems, probably is better to open a new issue in the tracker.
Closed #685.