r8368: the type filed depends on the user being present or not
authorStefan Metzmacher <metze@samba.org>
Tue, 12 Jul 2005 09:40:34 +0000 (09:40 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:20:12 +0000 (13:20 -0500)
call ndr_print for each call

metze
(This used to be commit 0a07e4ef8d869d35ceb0761495e367077f2361ba)

source4/cldap_server/netlogon.c
source4/librpc/idl/nbt.idl
source4/torture/ldap/cldap.c

index 33f87342789829f84c6b24959b952d91173d2ff8..8dd7d549b4140af2a9f78073e254db2f20a78cc6 100644 (file)
@@ -108,6 +108,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd,
        switch (version & 0xF) {
        case 0:
        case 1:
+               netlogon->logon1.type        = (user?19+2:19);
                netlogon->logon1.pdc_name    = pdc_name;
                netlogon->logon1.user_name   = user;
                netlogon->logon1.domain_name = flatname;
@@ -117,6 +118,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd,
                break;
        case 2:
        case 3:
+               netlogon->logon3.type         = (user?19+2:19);
                netlogon->logon3.pdc_name     = pdc_name;
                netlogon->logon3.user_name    = user;
                netlogon->logon3.domain_name  = flatname;
@@ -133,6 +135,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd,
        case 5:
        case 6:
        case 7:
+               netlogon->logon5.type         = (user?23+2:23);
                netlogon->logon5.server_type  = server_type;
                netlogon->logon5.domain_uuid  = domain_uuid;
                netlogon->logon5.forest       = realm;
@@ -147,6 +150,7 @@ static NTSTATUS cldapd_netlogon_fill(struct cldapd_server *cldapd,
                netlogon->logon5.lm20_token   = 0xFFFF;
                break;
        default:
+               netlogon->logon13.type         = (user?23+2:23);
                netlogon->logon13.server_type  = server_type;
                netlogon->logon13.domain_uuid  = domain_uuid;
                netlogon->logon13.forest       = realm;
@@ -181,7 +185,7 @@ void cldapd_netlogon_request(struct cldap_socket *cldap,
        int i;
        const char *domain = NULL;
        const char *host = NULL;
-       const char *user = "";
+       const char *user = NULL;
        const char *domain_guid = NULL;
        const char *domain_sid = NULL;
        int acct_control = -1;
index db6dad9524a1056c1763e8406ad482d967eccdd6..fe41549327eb8b20e4da426a62f45a2e2d4aef39 100644 (file)
           quite identical to, the netlogon structures above */
 
        typedef struct {
-               [value(21)] uint16   type;
+               uint16               type;
                nstring              pdc_name;
                nstring              user_name;
                nstring              domain_name;
        } nbt_cldap_netlogon_1;
 
        typedef struct {
-               [value(21)] uint16   type;
+               uint16               type;
                nstring              pdc_name;
                nstring              user_name;
                nstring              domain_name;
        } nbt_cldap_netlogon_3;
 
        typedef struct {
-               [value(25)] uint32   type;
+               uint32               type;
                nbt_server_type      server_type;
                GUID                 domain_uuid;
                nbt_string           forest;
        } nbt_cldap_netlogon_5;
 
        typedef struct {
-               [value(25)] uint32   type;
+               uint32               type;
                nbt_server_type      server_type;
                GUID                 domain_uuid;
                nbt_string           forest;
index c0a073c2f8e189cf133b0249fe22b2cc6d6c5bde..d6c56dbd3464bf2a83ce7ad7fdf762c226a02553 100644 (file)
                       __location__, nt_errstr(status), nt_errstr(correct)); \
                ret = False; \
                goto done; \
-       }} while (0)
-
+       } \
+       if (DEBUGLVL(10)) { \
+               NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, \
+                                     search.in.version & 0xF, \
+                                     &search.out.netlogon); \
+       } \
+} while (0)
 
 /*
   test netlogon operations
@@ -72,11 +77,6 @@ static BOOL test_cldap_netlogon(TALLOC_CTX *mem_ctx, const char *dest)
                printf("Trying netlogon level %d\n", i);
                status = cldap_netlogon(cldap, mem_ctx, &search);
                CHECK_STATUS(status, NT_STATUS_OK);
-               if (DEBUGLVL(10)) {
-                       NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, 
-                                             search.in.version & 0xF, 
-                                             &search.out.netlogon);
-               }
        }
 
        printf("Scanning for netlogon level bits\n");
@@ -85,11 +85,6 @@ static BOOL test_cldap_netlogon(TALLOC_CTX *mem_ctx, const char *dest)
                printf("Trying netlogon level 0x%x\n", i);
                status = cldap_netlogon(cldap, mem_ctx, &search);
                CHECK_STATUS(status, NT_STATUS_OK);
-               if (DEBUGLVL(10)) {
-                       NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, 
-                                             search.in.version & 0xF, 
-                                             &search.out.netlogon);
-               }
        }
 
        search.in.version = 6;