From 5f37344d076f8cbd93a1842814b97763c3decc9a Mon Sep 17 00:00:00 2001 From: Timo Aaltonen Date: Mar 20 2023 09:23:41 +0000 Subject: Fix building against bind 9.18.13 db_registered got dropped from dns_rpc_zone. Signed-off-by: Timo Aaltonen --- diff --git a/configure.ac b/configure.ac index 9f7f364..16e61c6 100644 --- a/configure.ac +++ b/configure.ac @@ -160,6 +160,14 @@ int main(void) { [AC_MSG_ERROR([Cross compiling is not supported.])] ) +# Check db_registered +AC_CHECK_HEADER(dns/rpz.h, [], [AC_MSG_ERROR([dns/rpz.h not found])]) +AC_CHECK_MEMBER([struct dns_rpz_zone.db_registered], + [AC_DEFINE([HAVE_DB_REGISTERED], [1], + [Struct dns_rpz_zone has db_registered])], + [AC_MSG_NOTICE([Struct dns_rpz_zone has no db_registered])], + [[#include ]]) + dnl dns_db_setservestalettl() can be backported, detect support AC_CHECK_LIB([dns], [dns_db_setservestalettl], [AC_DEFINE([HAVE_DNS_SERVESTALE], 1, [Define if dns library provides dns_db_setservestalettl])] diff --git a/src/ldap_driver.c b/src/ldap_driver.c index e4aeeb2..7f250b9 100644 --- a/src/ldap_driver.c +++ b/src/ldap_driver.c @@ -814,7 +814,9 @@ rpz_attach(dns_db_t *db, void *void_rpzs, uint8_t rpz_num) REQUIRE(VALID_LDAPDB(ldapdb)); +#if defined(HAVE_DB_REGISTERED) rpzs->zones[rpz_num]->db_registered = true; +#endif result = dns_db_updatenotify_register(ldapdb->rbtdb, dns_rpz_dbupdate_callback, rpzs->zones[rpz_num]);