summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/libsmb/dsgetdcname.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/source3/libsmb/dsgetdcname.c b/source3/libsmb/dsgetdcname.c
index 1fd42120ee..5d6e2daba4 100644
--- a/source3/libsmb/dsgetdcname.c
+++ b/source3/libsmb/dsgetdcname.c
@@ -217,6 +217,38 @@ static NTSTATUS dsgetdcname_cache_refresh(TALLOC_CTX *mem_ctx,
/****************************************************************
****************************************************************/
+static uint32_t get_cldap_reply_server_flags(union nbt_cldap_netlogon *r,
+ uint32_t nt_version)
+{
+ switch (nt_version & 0x000000ff) {
+ case 0:
+ case 1:
+ return 0;
+ case 2:
+ case 3:
+ return r->logon3.server_type;
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ return r->logon5.server_type;
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 12:
+ case 13:
+ case 14:
+ case 15:
+ return r->logon13.server_type;
+ default:
+ return r->logon29.server_type;
+ }
+}
+
+/****************************************************************
+****************************************************************/
+
#define RETURN_ON_FALSE(x) if (!x) return false;
static bool check_cldap_reply_required_flags(uint32_t ret_flags,