From 0354d00ddfae53f278bd2b3480f3eaeefe84e518 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Wed, 7 May 2008 18:38:37 +0200 Subject: dsgetdcname: use make_dc_info_from_cldap_reply() for cldap replies. Guenther (This used to be commit a3e5b073f0474543ca74b40775ce1d7f80719c96) --- source3/libsmb/dsgetdcname.c | 84 +++++++++++--------------------------------- 1 file changed, 21 insertions(+), 63 deletions(-) (limited to 'source3/libsmb') diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c index 72a0bb5984..6ea60ab854 100644 --- a/source3/libsmb/dsgetdcname.c +++ b/source3/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