BIND is not compatible with LibreSSL 3.5.0
Summary
BIND fails to compile with the newly released LibreSSL 3.5.0.
BIND version used
BIND 9.18.0
Steps to reproduce
./configure
make -j8
What is the current bug behavior?
Compilation error in 3 places:
aes.c: In function 'isc_aes128_crypt':
aes.c:35:24: error: storage size of '_context' isn't known
35 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
aes.c:26:43: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
26 | #define EVP_CIPHER_CTX_new() &(_context), EVP_CIPHER_CTX_init(&_context)
| ^
aes.c:41:13: note: in expansion of macro 'EVP_CIPHER_CTX_new'
41 | c = EVP_CIPHER_CTX_new();
| ^~~~~~~~~~~~~~~~~~
aes.c:35:24: error: unused variable '_context' [-Werror=unused-variable]
35 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
aes.c: In function 'isc_aes192_crypt':
aes.c:55:24: error: storage size of '_context' isn't known
55 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
aes.c:26:43: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
26 | #define EVP_CIPHER_CTX_new() &(_context), EVP_CIPHER_CTX_init(&_context)
| ^
aes.c:61:13: note: in expansion of macro 'EVP_CIPHER_CTX_new'
61 | c = EVP_CIPHER_CTX_new();
| ^~~~~~~~~~~~~~~~~~
aes.c:55:24: error: unused variable '_context' [-Werror=unused-variable]
55 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
aes.c: In function 'isc_aes256_crypt':
aes.c:75:24: error: storage size of '_context' isn't known
75 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
aes.c:26:43: error: left-hand operand of comma expression has no effect [-Werror=unused-value]
26 | #define EVP_CIPHER_CTX_new() &(_context), EVP_CIPHER_CTX_init(&_context)
| ^
aes.c:81:13: note: in expansion of macro 'EVP_CIPHER_CTX_new'
81 | c = EVP_CIPHER_CTX_new();
| ^~~~~~~~~~~~~~~~~~
aes.c:75:24: error: unused variable '_context' [-Werror=unused-variable]
75 | EVP_CIPHER_CTX _context;
| ^~~~~~~~
openssldh_link.c: In function 'progress_cb':
dst_openssl.h:38:33: error: invalid use of incomplete typedef 'BN_GENCB' {aka 'struct bn_gencb_st'}
38 | #define BN_GENCB_get_arg(x) ((x)->arg)
| ^~
openssldh_link.c:329:18: note: in expansion of macro 'BN_GENCB_get_arg'
329 | u.dptr = BN_GENCB_get_arg(cb);
| ^~~~~~~~~~~~~~~~
openssldh_link.c: In function 'openssldh_generate':
openssldh_link.c:364:18: error: storage size of '_cb' isn't known
364 | BN_GENCB _cb;
| ^~~
openssldh_link.c:364:18: error: unused variable '_cb' [-Werror=unused-variable]
opensslrsa_link.c: In function 'progress_cb':
dst_openssl.h:38:33: error: invalid use of incomplete typedef 'BN_GENCB' {aka 'struct bn_gencb_st'}
38 | #define BN_GENCB_get_arg(x) ((x)->arg)
| ^~
opensslrsa_link.c:352:18: note: in expansion of macro 'BN_GENCB_get_arg'
352 | u.dptr = BN_GENCB_get_arg(cb);
| ^~~~~~~~~~~~~~~~
opensslrsa_link.c: In function 'opensslrsa_generate':
opensslrsa_link.c:387:18: error: storage size of '_cb' isn't known
387 | BN_GENCB _cb;
| ^~~
opensslrsa_link.c:387:18: error: unused variable '_cb' [-Werror=unused-variable]
What is the expected correct behavior?
Clean compile.
Relevant configuration files
N/A
Relevant logs and/or screenshots
N/A
Possible fixes
MR Pending