From c8c330d5f4921aaca803b9ff571aacb0dde0c7bc Mon Sep 17 00:00:00 2001 From: Amitay Isaacs Date: Tue, 27 Sep 2016 00:51:03 +1000 Subject: [PATCH] dlz-bind: Add support for BIND 9.11.x BUG: https://bugzilla.samba.org/show_bug.cgi?id=12366 Signed-off-by: Amitay Isaacs Reviewed-by: Jeremy Allison --- source4/dns_server/dlz_minimal.h | 27 +++++++++++++++++++++++++++ source4/dns_server/wscript_build | 10 ++++++++++ 2 files changed, 37 insertions(+) diff --git a/source4/dns_server/dlz_minimal.h b/source4/dns_server/dlz_minimal.h index 7c2163d39f1..89ada7a6fdb 100644 --- a/source4/dns_server/dlz_minimal.h +++ b/source4/dns_server/dlz_minimal.h @@ -31,6 +31,9 @@ #elif defined (BIND_VERSION_9_10) # define DLZ_DLOPEN_VERSION 3 # define DNS_CLIENTINFO_VERSION 1 +#elif defined (BIND_VERSION_9_11) +# define DLZ_DLOPEN_VERSION 3 +# define DNS_CLIENTINFO_VERSION 2 #else # error Unsupported BIND version #endif @@ -118,6 +121,30 @@ typedef struct dns_clientinfomethods { dns_clientinfo_sourceip_t sourceip; } dns_clientinfomethods_t; +#elif DNS_CLIENTINFO_VERSION == 2 + +typedef struct dns_clientinfo { + uint16_t version; + void *data; + void *dbversion; +} dns_clientinfo_t; + +typedef isc_result_t (*dns_clientinfo_sourceip_t)(dns_clientinfo_t *client, + isc_sockaddr_t **addrp); + +typedef isc_result_t (*dns_clientinfo_version_t)(dns_clientinfo_t *client, + void **addrp); + +#define DNS_CLIENTINFOMETHODS_VERSION 2 +#define DNS_CLIENTINFOMETHODS_AGE 1 + +typedef struct dns_clientinfomethods { + uint16_t version; + uint16_t age; + dns_clientinfo_sourceip_t sourceip; + dns_clientinfo_version_t dbversion; +} dns_clientinfomethods_t; + #endif /* DNS_CLIENTINFO_VERSION */ #endif /* DLZ_DLOPEN_VERSION > 1 */ diff --git a/source4/dns_server/wscript_build b/source4/dns_server/wscript_build index 75f3499ae6b..396ed768d6d 100644 --- a/source4/dns_server/wscript_build +++ b/source4/dns_server/wscript_build @@ -47,6 +47,16 @@ bld.SAMBA_LIBRARY('dlz_bind9_10', deps='samba-hostconfig samdb-common gensec popt dnsserver_common', enabled=bld.AD_DC_BUILD_IS_ENABLED()) +bld.SAMBA_LIBRARY('dlz_bind9_11', + source='dlz_bind9.c', + cflags='-DBIND_VERSION_9_11', + private_library=True, + link_name='modules/bind9/dlz_bind9_11.so', + realname='dlz_bind9_11.so', + install_path='${MODULESDIR}/bind9', + deps='samba-hostconfig samdb-common gensec popt dnsserver_common', + enabled=bld.AD_DC_BUILD_IS_ENABLED()) + bld.SAMBA_LIBRARY('dlz_bind9_for_torture', source='dlz_bind9.c', cflags='-DBIND_VERSION_9_8', -- 2.11.4.GIT