summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-07-12 09:40:34 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:20:12 -0500
commite87f589f00a24b312f9e987ebcb5d998360800b8 (patch)
treef98656510facd84f6a42f2f3b4fb7ca2c2ac09a3 /source4
parentbab3e5d6ce4546988f3807828c6a1533c2dd991e (diff)
downloadsamba-e87f589f00a24b312f9e987ebcb5d998360800b8.tar.gz
samba-e87f589f00a24b312f9e987ebcb5d998360800b8.tar.bz2
samba-e87f589f00a24b312f9e987ebcb5d998360800b8.zip
r8368: the type filed depends on the user being present or not
call ndr_print for each call metze (This used to be commit 0a07e4ef8d869d35ceb0761495e367077f2361ba)
Diffstat (limited to 'source4')
-rw-r--r--source4/cldap_server/netlogon.c6
-rw-r--r--source4/librpc/idl/nbt.idl8
-rw-r--r--source4/torture/ldap/cldap.c19
3 files changed, 16 insertions, 17 deletions
diff --git a/source4/cldap_server/netlogon.c b/source4/cldap_server/netlogon.c
index 33f8734278..8dd7d549b4 100644
--- a/source4/cldap_server/netlogon.c
+++ b/source4/cldap_server/netlogon.c
@@ -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;
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl
index db6dad9524..fe41549327 100644
--- a/source4/librpc/idl/nbt.idl
+++ b/source4/librpc/idl/nbt.idl
@@ -454,7 +454,7 @@
quite identical to, the netlogon structures above */
typedef struct {
- [value(21)] uint16 type;
+ uint16 type;
nstring pdc_name;
nstring user_name;
nstring domain_name;
@@ -464,7 +464,7 @@
} nbt_cldap_netlogon_1;
typedef struct {
- [value(21)] uint16 type;
+ uint16 type;
nstring pdc_name;
nstring user_name;
nstring domain_name;
@@ -481,7 +481,7 @@
} nbt_cldap_netlogon_3;
typedef struct {
- [value(25)] uint32 type;
+ uint32 type;
nbt_server_type server_type;
GUID domain_uuid;
nbt_string forest;
@@ -498,7 +498,7 @@
} nbt_cldap_netlogon_5;
typedef struct {
- [value(25)] uint32 type;
+ uint32 type;
nbt_server_type server_type;
GUID domain_uuid;
nbt_string forest;
diff --git a/source4/torture/ldap/cldap.c b/source4/torture/ldap/cldap.c
index c0a073c2f8..d6c56dbd34 100644
--- a/source4/torture/ldap/cldap.c
+++ b/source4/torture/ldap/cldap.c
@@ -32,8 +32,13 @@
__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;