Learn more about these different git repos.
Other Git URLs
Bind 9.16.48 and 9.18.24 closes a lot of CVEs, one of them was CVE-2023-4408.
CVE-2023-4408
9.16.48 change (added new field isc_ht_t *ht to dns_name): https://gitlab.isc.org/isc-projects/bind9/-/commit/608707b4f5b473e416563bfe0d43e26d6dc4a5c6#d2f7ec9b0041cbd24e6f67688266ac1be90d9970
isc_ht_t *ht
dns_name
and same change for 9.18.24: https://gitlab.isc.org/isc-projects/bind9/-/commit/849c05adf43870ddcdc816ee7f6159e06e843d21#d2f7ec9b0041cbd24e6f67688266ac1be90d9970
This leads to build error:
libtool: compile: x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Werror -std=gnu99 -O2 -I/usr/include/bind9 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=auto -fvisibility=hidden -fno-delete-null-pointer-checks -std=gnu11 -c mldap.c -fPIC -DPIC -o .libs/ldap_la-mldap.o mldap.c:64:1: error: missing initializer for field 'ht' of 'dns_name_t' {aka 'struct dns_name'} [-Werror=missing-field-initializers] 64 | }; | ^ In file included from /usr/include/bind9/dns/fixedname.h:55, from /usr/include/bind9/dns/db.h:60, from mldap.c:21: /usr/include/bind9/dns/name.h:115:19: note: 'ht' declared here 115 | isc_ht_t *ht; | ^~ cc1: all warnings being treated as errors make[2]: *** [Makefile:641: ldap_la-mldap.lo] Error 1
Another build error against bind 9.18.24:
9.18.24
/bin/sh ../libtool --tag=CC --mode=compile x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Werror -std=gnu99 -O2 -I/usr/include/bind9 -pipe -frecord-gcc- switches -Wall -g -O2 -flto=auto -fvisibility=hidden -fno-delete-null-pointer-checks - std=gnu11 -c -o ldap_la-syncrepl.lo `test -f 'syncrepl.c' || echo './'`syncrepl.c libtool: compile: x86_64-alt-linux-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wextra -Werror -std=gnu99 -O2 -I/usr/include/bind9 -pipe -frecord-gcc-switches -Wall -g -O2 -flto=au to -fvisibility=hidden -fno-delete-null-pointer-checks -std=gnu11 -c syncrepl.c -fPIC -DPIC -o .libs/ldap_la-syncrepl.o In file included from /usr/include/bind9/isc/atomic.h:19, from /usr/include/bind9/isc/types.h:16, from /usr/include/bind9/isc/condition.h:26, from syncrepl.c:7: /usr/include/bind9/isc/stdatomic.h:29:2: error: #error "isc/stdatomic.h does not suppo rt your compiler" 29 | #error "isc/stdatomic.h does not support your compiler" | ^~~~~ make[2]: *** [Makefile:676: ldap_la-syncrepl.lo] Error 1
See, https://gitlab.isc.org/isc-projects/bind9/-/issues/4467
Metadata Update from @abbra: - Issue assigned to abbra
PR: https://pagure.io/bind-dyndb-ldap/pull-request/229
@pemensik any idea about stdatomic.h change?
@abbra I have seen that isc/stdatomic.h error already. I think that requires some special order of used includes. Some rely on platform specific defines to be included beforehand. I think you need to define HAVE_STDATOMIC_H before inclusion of any #include <isc/atomic.h>. That is what is hidden in bind9 config.h, which does not seem to be exported anywhere.
HAVE_STDATOMIC_H
#include <isc/atomic.h>
Do what I did for all files needing it in commit 131ddb9, for syncrepl.c also, and any other new files needing it. Just move #include "dyndb-config.h" above <isc/*.h> includes.
#include "dyndb-config.h"
<isc/*.h>
Thanks, I pushed one more commit to my PR.
merged the fix.
Metadata Update from @abbra: - Issue close_status updated to: fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.