From d5deea3499088a606c09ec16e03d54153ba3f6cd Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnther=20Deschner?= Date: Wed, 7 May 2008 18:38:37 +0200 Subject: [PATCH] dsgetdcname: use make_dc_info_from_cldap_reply() for cldap replies. Guenther (cherry picked from commit a3e5b073f0474543ca74b40775ce1d7f80719c96) --- source/libsmb/dsgetdcname.c | 84 ++++++++++++--------------------------------- 1 file changed, 21 insertions(+), 63 deletions(-) diff --git a/source/libsmb/dsgetdcname.c b/source/libsmb/dsgetdcname.c index 72a0bb5984f..6ea60ab854f 100644 --- a/source/libsmb/dsgetdcname.c +++ b/source/libsmb/dsgetdcname.c @@ -254,6 +254,10 @@ static uint32_t get_cldap_reply_server_flags(union nbt_cldap_netlogon *r, static bool check_cldap_reply_required_flags(uint32_t ret_flags, uint32_t req_flags) { + if (ret_flags == 0) { + return true; + } + if (req_flags & DS_PDC_REQUIRED) RETURN_ON_FALSE(ret_flags & NBT_SERVER_PDC); @@ -844,23 +848,26 @@ static NTSTATUS process_dc_dns(TALLOC_CTX *mem_ctx, { int i = 0; bool valid_dc = false; - struct nbt_cldap_netlogon_5 r; - const char *dc_hostname, *dc_domain_name; - const char *dc_address; - uint32_t dc_address_type; - uint32_t dc_flags; + union nbt_cldap_netlogon *r = NULL; + uint32_t nt_version = NETLOGON_VERSION_5 | + NETLOGON_VERSION_5EX; + uint32_t ret_flags = 0; for (i=0; i