- status = dns_add_socket(dns, model_ops, "dns", address, DNS_SERVICE_PORT);
- NT_STATUS_NOT_OK_RETURN(status);
+ status = dns_add_socket(dns, model_ops, "dns", address,
+ DNS_SERVICE_PORT);
+ NT_STATUS_NOT_OK_RETURN(status);
+ }
+ } else {
+ const char **wcard;
+ wcard = iface_list_wildcard(tmp_ctx, lp_ctx);
+ if (wcard == NULL) {
+ DEBUG(0, ("No wildcard address available\n"));
+ return NT_STATUS_INTERNAL_ERROR;
+ }
+ for (i = 0; wcard[i] != NULL; i++) {
+ status = dns_add_socket(dns, model_ops, "dns", wcard[i],
+ DNS_SERVICE_PORT);
+ NT_STATUS_NOT_OK_RETURN(status);
+ }