From: Matthias Dieter Wallnöfer Date: Sun, 12 Aug 2012 16:08:20 +0000 (+0200) Subject: s4:dns_server - introduce the wildcard binding feature X-Git-Tag: talloc-2.0.8~186 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5f973631b6ba6666ecf5f026d07dded9da15650e;p=thirdparty%2Fsamba.git s4:dns_server - introduce the wildcard binding feature We need the wildcard binding feature otherwise we might get bound to a private interface in case of multiple interfaces and no "interfaces" parameter in smb.conf. Code taken from source4/ldap_server/ldap_server.c Signed-off-by: Kai Blin Autobuild-User(master): Kai Blin Autobuild-Date(master): Sun Sep 23 23:44:03 CEST 2012 on sn-devel-104 --- diff --git a/source4/dns_server/dns_server.c b/source4/dns_server/dns_server.c index c88ea83f3f9..dbdc300f901 100644 --- a/source4/dns_server/dns_server.c +++ b/source4/dns_server/dns_server.c @@ -669,13 +669,29 @@ static NTSTATUS dns_startup_interfaces(struct dns_server *dns, struct loadparm_c return NT_STATUS_INTERNAL_ERROR; } - num_interfaces = iface_list_count(ifaces); + if (ifaces != NULL) { + num_interfaces = iface_list_count(ifaces); - for (i=0; ilp_ctx, &ifaces); + if (lpcfg_interfaces(task->lp_ctx) && lpcfg_bind_interfaces_only(task->lp_ctx)) { + load_interface_list(task, task->lp_ctx, &ifaces); - if (iface_list_count(ifaces) == 0) { - task_server_terminate(task, "dns: no network interfaces configured", false); - return; + if (iface_list_count(ifaces) == 0) { + task_server_terminate(task, "dns: no network interfaces configured", false); + return; + } } task_server_set_title(task, "task[dns]");