summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/cldap_server/netlogon.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source4/cldap_server/netlogon.c b/source4/cldap_server/netlogon.c
index 1993c1f7db..e24f1b376e 100644
--- a/source4/cldap_server/netlogon.c
+++ b/source4/cldap_server/netlogon.c
@@ -270,8 +270,16 @@ NTSTATUS fill_netlogon_samlogon_response(struct ldb_context *sam_ctx,
src_address, NULL);
NT_STATUS_HAVE_NO_MEMORY(client_site);
load_interfaces(mem_ctx, lp_interfaces(lp_ctx), &ifaces);
- pdc_ip = iface_best_ip(ifaces, src_address);
-
+ /*
+ * TODO: the caller should pass the address which the client
+ * used to trigger this call, as the client is able to reach
+ * this ip.
+ */
+ if (src_address) {
+ pdc_ip = iface_best_ip(ifaces, src_address);
+ } else {
+ pdc_ip = iface_n_ip(ifaces, 0);
+ }
ZERO_STRUCTP(netlogon);
/* check if either of these bits is present */