diff --git a/python/samba/provision/sambadns.py b/python/samba/provision/sambadns.py index 952e875c862331b5c03eb8de25ca8f5f728e672e..b3530328e9ab6cbad0d5df93ad4765f17b2734f5 100644 --- a/python/samba/provision/sambadns.py +++ b/python/samba/provision/sambadns.py @@ -1032,6 +1032,8 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): bind9_16 = '' elif bind_info.upper().find('BIND 9.18') != -1: bind9_18 = '' + elif bind_info.upper().find('BIND 9.20') != -1: + bind9_20 = '' 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: @@ -1052,7 +1054,8 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): "BIND9_12": bind9_12, "BIND9_14": bind9_14, "BIND9_16": bind9_16, - "BIND9_18": bind9_18 + "BIND9_18": bind9_18, + "BIND9_20": bind9_20 }) diff --git a/source4/dns_server/dlz_minimal.h b/source4/dns_server/dlz_minimal.h index b7e36e7f8e6571667895afbf8779f130d8e5c3c7..d4525b61b5a1de8bc2bd0b9ee953f18628da74fd 100644 --- a/source4/dns_server/dlz_minimal.h +++ b/source4/dns_server/dlz_minimal.h @@ -51,6 +51,9 @@ #elif defined (BIND_VERSION_9_18) # define DLZ_DLOPEN_VERSION 3 # define DNS_CLIENTINFO_VERSION 2 +#elif defined (BIND_VERSION_9_20) +# 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 ab0a241b937df486f6d803bff18643babe48faaf..f705d1de97d9de32adf494e7ae286311f58f7ff6 100644 --- a/source4/dns_server/wscript_build +++ b/source4/dns_server/wscript_build @@ -80,6 +80,16 @@ bld.SAMBA_LIBRARY('dlz_bind9_18', deps='samba-hostconfig samdb-common gensec popt dnsserver_common', enabled=bld.AD_DC_BUILD_IS_ENABLED()) +bld.SAMBA_LIBRARY('dlz_bind9_20', + source='dlz_bind9.c', + cflags='-DBIND_VERSION_9_20', + private_library=True, + link_name='modules/bind9/dlz_bind9_20.so', + realname='dlz_bind9_20.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 cbe7d805f58007c132c78b5d83ef1c492a27344e..82b9848293a009e9349bfb46b7febe5af2eadff8 100644 --- a/source4/setup/named.conf.dlz +++ b/source4/setup/named.conf.dlz @@ -30,8 +30,11 @@ 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"; + + # For BIND 9.20.x + ${BIND9_18} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_20.so"; };