summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorUri Simchoni <uri@samba.org>2016-03-03 09:18:44 +0200
committerJeremy Allison <jra@samba.org>2016-03-07 22:16:20 +0100
commitef84f4c018424b1fcc232a4780dc2c0435701d86 (patch)
tree92180c4d90c6dfae437887b3e060561b509a08e5 /source3/libsmb
parent980f8cfe30577f2b14dfd2ac53a785f4395d980f (diff)
downloadsamba-ef84f4c018424b1fcc232a4780dc2c0435701d86.tar.gz
dsgetdcname: return an IP address on rediscovery
When dsgetdcname return its result based on discovery process (instead of retrieving cached value), always return the found server's IP address in dc_address field, rather than its netbios name. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11769 Signed-off-by: Uri Simchoni <uri@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/dsgetdcname.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index a63ba5a0ce7..1033329a04e 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -792,14 +792,14 @@ static NTSTATUS make_dc_info_from_cldap_reply(TALLOC_CTX *mem_ctx,
print_sockaddr(addr, sizeof(addr), ss);
dc_address = addr;
dc_address_type = DS_ADDRESS_TYPE_INET;
- }
-
- if (!ss && r->sockaddr.pdc_ip) {
- dc_address = r->sockaddr.pdc_ip;
- dc_address_type = DS_ADDRESS_TYPE_INET;
} else {
- dc_address = r->pdc_name;
- dc_address_type = DS_ADDRESS_TYPE_NETBIOS;
+ if (r->sockaddr.pdc_ip) {
+ dc_address = r->sockaddr.pdc_ip;
+ dc_address_type = DS_ADDRESS_TYPE_INET;
+ } else {
+ dc_address = r->pdc_name;
+ dc_address_type = DS_ADDRESS_TYPE_NETBIOS;
+ }
}
map_dc_and_domain_names(flags,