diff options
-rw-r--r-- | source4/cldap_server/netlogon.c | 12 |
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 */ |