dsgetdcname: add get_cldap_reply_server_flags().
authorGünther Deschner <gd@samba.org>
Wed, 7 May 2008 14:49:39 +0000 (16:49 +0200)
committerKarolin Seeger <kseeger@samba.org>
Thu, 22 May 2008 18:01:03 +0000 (20:01 +0200)
Guenther
(cherry picked from commit 3c05c56d4c0aac8106684cda3152c65299c63075)

source/libsmb/dsgetdcname.c

index 1fd42120ee36ead8cee282a08a2fbb662d8e97ce..5d6e2daba4e674f6865adee2ff3b16af7338f457 100644 (file)
@@ -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,