-
Incident report
-
Resolution: Fixed
-
Major
-
3.0.4
A new major version of OpenSSL was recently released: see https://www.openssl.org/news/openssl-1.1.0-notes.html .
Unfortunately, trying to compile Zabbix with OpenSSL 1.1.0 fails with the following errors:
$ make > /dev/null
tls.c:1608:34: error: incomplete definition of type 'struct ssl_ctx_st'
num = sk_SSL_CIPHER_num(ciphers->cipher_list);
~~~~~~~^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/ossl_typ.h:145:16: note: forward declaration of 'struct ssl_ctx_st'
typedef struct ssl_ctx_st SSL_CTX;
^
tls.c:1613:33: error: incomplete definition of type 'struct ssl_ctx_st'
sk_SSL_CIPHER_value(ciphers->cipher_list, i)->name);
~~~~~~~^
../../../include/common.h:934:85: note: expanded from macro 'zbx_snprintf_alloc'
__zbx_zbx_snprintf_alloc(str, alloc_len, offset, ZBX_CONST_STRING(fmt), ##__VA_ARGS__)
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/ossl_typ.h:145:16: note: forward declaration of 'struct ssl_ctx_st'
typedef struct ssl_ctx_st SSL_CTX;
^
tls.c:3095:12: warning: 'TLSv1_2_client_method' is deprecated [-Wdeprecated-declarations]
method = TLSv1_2_client_method();
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/ssl.h:1610:45: note: 'TLSv1_2_client_method' has been explicitly marked deprecated here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_client_method(void)) /* TLSv1.2 */
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/opensslconf.h:127:53: note: expanded from macro 'DEPRECATEDIN_1_1_0'
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/opensslconf.h:102:35: note: expanded from macro 'DECLARE_DEPRECATED'
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
tls.c:3097:12: warning: 'TLSv1_2_method' is deprecated [-Wdeprecated-declarations]
method = TLSv1_2_method();
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/ssl.h:1608:45: note: 'TLSv1_2_method' has been explicitly marked deprecated here
DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *TLSv1_2_method(void)) /* TLSv1.2 */
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/opensslconf.h:127:53: note: expanded from macro 'DEPRECATEDIN_1_1_0'
# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f)
^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/opensslconf.h:102:35: note: expanded from macro 'DECLARE_DEPRECATED'
# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated));
^
tls.c:5644:41: error: incomplete definition of type 'struct ssl_session_st'
if (NULL != (attr->psk_identity = sess->psk_identity))
~~~~^
/home/asaveljevs/software/openssl-1.1.0-install/include/openssl/ssl.h:228:16: note: forward declaration of 'struct ssl_session_st'
typedef struct ssl_session_st SSL_SESSION;
^
2 warnings and 3 errors generated.
make[3]: *** [libzbxcrypto_a-tls.o] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1