From 692a37259e8a9651e9bfe2b56ac1a3d64e701a8c Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Thu, 24 Feb 2022 12:17:00 +1300 Subject: [PATCH] s4/dlz: add support for bind 9.18 It seems nothing has changed since 9.16 for our purposes. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14986 Signed-off-by: Douglas Bagnall Signed-off-by: Andreas Hasenack Pair-programmed-with: Andreas Hasenack --- python/samba/provision/sambadns.py | 6 +++++- source4/dns_server/dlz_minimal.h | 3 +++ source4/dns_server/wscript_build | 10 ++++++++++ source4/setup/named.conf.dlz | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/python/samba/provision/sambadns.py b/python/samba/provision/sambadns.py index 79cb4c998fa..9184711a764 100644 --- a/python/samba/provision/sambadns.py +++ b/python/samba/provision/sambadns.py @@ -1015,6 +1015,7 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): bind9_12 = '#' bind9_14 = '#' bind9_16 = '#' + bind9_18 = '#' if bind_info.upper().find('BIND 9.8') != -1: bind9_8 = '' elif bind_info.upper().find('BIND 9.9') != -1: @@ -1029,6 +1030,8 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): bind9_14 = '' elif bind_info.upper().find('BIND 9.16') != -1: bind9_16 = '' + elif bind_info.upper().find('BIND 9.18') != -1: + bind9_18 = '' elif bind_info.upper().find('BIND 9.7') != -1: raise ProvisioningError("DLZ option incompatible with BIND 9.7.") elif bind_info.upper().find('BIND_9.13') != -1: @@ -1048,7 +1051,8 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): "BIND9_11": bind9_11, "BIND9_12": bind9_12, "BIND9_14": bind9_14, - "BIND9_16": bind9_16 + "BIND9_16": bind9_16, + "BIND9_18": bind9_18 }) diff --git a/source4/dns_server/dlz_minimal.h b/source4/dns_server/dlz_minimal.h index e2a14266810..b7e36e7f8e6 100644 --- a/source4/dns_server/dlz_minimal.h +++ b/source4/dns_server/dlz_minimal.h @@ -48,6 +48,9 @@ #elif defined (BIND_VERSION_9_16) # define DLZ_DLOPEN_VERSION 3 # define DNS_CLIENTINFO_VERSION 2 +#elif defined (BIND_VERSION_9_18) +# define DLZ_DLOPEN_VERSION 3 +# define DNS_CLIENTINFO_VERSION 2 #else # error Unsupported BIND version #endif diff --git a/source4/dns_server/wscript_build b/source4/dns_server/wscript_build index 8f606f92692..ab0a241b937 100644 --- a/source4/dns_server/wscript_build +++ b/source4/dns_server/wscript_build @@ -70,6 +70,16 @@ bld.SAMBA_LIBRARY('dlz_bind9_16', deps='samba-hostconfig samdb-common gensec popt dnsserver_common', enabled=bld.AD_DC_BUILD_IS_ENABLED()) +bld.SAMBA_LIBRARY('dlz_bind9_18', + source='dlz_bind9.c', + cflags='-DBIND_VERSION_9_18', + private_library=True, + link_name='modules/bind9/dlz_bind9_18.so', + realname='dlz_bind9_18.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_16', diff --git a/source4/setup/named.conf.dlz b/source4/setup/named.conf.dlz index c2c41e2cddf..cbe7d805f58 100644 --- a/source4/setup/named.conf.dlz +++ b/source4/setup/named.conf.dlz @@ -30,5 +30,8 @@ dlz "AD DNS Zone" { # For BIND 9.16.x ${BIND9_16} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_16.so"; + # + # For BIND 9.18.x + ${BIND9_18} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_18.so"; }; -- GitLab