mirror of
https://github.com/samba-team/samba.git
synced 2024-12-22 13:34:15 +03:00
s4-dns: Add support for BIND 9.10
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Matthieu Patou <mat@matws.net> Autobuild-User(master): Amitay Isaacs <amitay@samba.org> Autobuild-Date(master): Sat Oct 25 05:42:19 CEST 2014 on sn-devel-104
This commit is contained in:
parent
aeb6ad8a9c
commit
faa3423d1a
@ -921,10 +921,13 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger):
|
||||
cwd='.').communicate()[0]
|
||||
bind9_8 = '#'
|
||||
bind9_9 = '#'
|
||||
bind9_10 = '#'
|
||||
if bind_info.upper().find('BIND 9.8') != -1:
|
||||
bind9_8 = ''
|
||||
elif bind_info.upper().find('BIND 9.9') != -1:
|
||||
bind9_9 = ''
|
||||
elif bind_info.upper().find('BIND 9.10') != -1:
|
||||
bind9_10 = ''
|
||||
elif bind_info.upper().find('BIND 9.7') != -1:
|
||||
raise ProvisioningError("DLZ option incompatible with BIND 9.7.")
|
||||
else:
|
||||
@ -933,7 +936,8 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger):
|
||||
"NAMED_CONF": paths.namedconf,
|
||||
"MODULESDIR" : samba.param.modules_dir(),
|
||||
"BIND9_8" : bind9_8,
|
||||
"BIND9_9" : bind9_9
|
||||
"BIND9_9" : bind9_9,
|
||||
"BIND9_10" : bind9_10
|
||||
})
|
||||
|
||||
|
||||
|
@ -792,7 +792,13 @@ static isc_result_t b9_find_name_dn(struct dlz_bind9_data *state, const char *na
|
||||
/*
|
||||
see if we handle a given zone
|
||||
*/
|
||||
#if DLZ_DLOPEN_VERSION < 3
|
||||
_PUBLIC_ isc_result_t dlz_findzonedb(void *dbdata, const char *name)
|
||||
#else
|
||||
_PUBLIC_ isc_result_t dlz_findzonedb(void *dbdata, const char *name,
|
||||
dns_clientinfomethods_t *methods,
|
||||
dns_clientinfo_t *clientinfo)
|
||||
#endif
|
||||
{
|
||||
struct dlz_bind9_data *state = talloc_get_type_abort(dbdata, struct dlz_bind9_data);
|
||||
return b9_find_zone_dn(state, name, NULL, NULL);
|
||||
@ -874,7 +880,9 @@ _PUBLIC_ isc_result_t dlz_lookup(const char *zone, const char *name,
|
||||
_PUBLIC_ isc_result_t dlz_allowzonexfr(void *dbdata, const char *name, const char *client)
|
||||
{
|
||||
/* just say yes for all our zones for now */
|
||||
return dlz_findzonedb(dbdata, name);
|
||||
struct dlz_bind9_data *state = talloc_get_type(
|
||||
dbdata, struct dlz_bind9_data);
|
||||
return b9_find_zone_dn(state, name, NULL, NULL);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1116,7 +1124,12 @@ static bool b9_zone_exists(struct dlz_bind9_data *state, const char *name)
|
||||
/*
|
||||
configure a writeable zone
|
||||
*/
|
||||
#if DLZ_DLOPEN_VERSION < 3
|
||||
_PUBLIC_ isc_result_t dlz_configure(dns_view_t *view, void *dbdata)
|
||||
#else
|
||||
_PUBLIC_ isc_result_t dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb,
|
||||
void *dbdata)
|
||||
#endif
|
||||
{
|
||||
struct dlz_bind9_data *state = talloc_get_type_abort(dbdata, struct dlz_bind9_data);
|
||||
TALLOC_CTX *tmp_ctx;
|
||||
@ -1187,7 +1200,11 @@ _PUBLIC_ isc_result_t dlz_configure(dns_view_t *view, void *dbdata)
|
||||
return ISC_R_NOMEMORY;
|
||||
}
|
||||
|
||||
#if DLZ_DLOPEN_VERSION < 3
|
||||
result = state->writeable_zone(view, zone);
|
||||
#else
|
||||
result = state->writeable_zone(view, dlzdb, zone);
|
||||
#endif
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
state->log(ISC_LOG_ERROR, "samba_dlz: Failed to configure zone '%s'",
|
||||
zone);
|
||||
|
@ -37,6 +37,16 @@ bld.SAMBA_LIBRARY('dlz_bind9_9',
|
||||
deps='samba-hostconfig samdb-common gensec popt dnsserver_common',
|
||||
enabled=bld.AD_DC_BUILD_IS_ENABLED())
|
||||
|
||||
bld.SAMBA_LIBRARY('dlz_bind9_10',
|
||||
source='dlz_bind9.c',
|
||||
cflags='-DBIND_VERSION_9_10',
|
||||
private_library=True,
|
||||
link_name='modules/bind9/dlz_bind9_10.so',
|
||||
realname='dlz_bind9_10.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',
|
||||
|
@ -15,5 +15,8 @@ dlz "AD DNS Zone" {
|
||||
|
||||
# For BIND 9.9.x
|
||||
${BIND9_9} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_9.so";
|
||||
|
||||
# For BIND 9.10.x
|
||||
${BIND9_10} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_10.so";
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user