summaryrefslogtreecommitdiff
path: root/source4/torture/ldap
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-05-10 23:33:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:16:37 -0500
commit2f2fc84a7c6724f6eab39bf301be70ba5bec15cc (patch)
tree13eb42b0238a5744bb2f368f8e686d350287afe5 /source4/torture/ldap
parent398a3130f5166d4a4d455529ae3048316510f867 (diff)
downloadsamba-2f2fc84a7c6724f6eab39bf301be70ba5bec15cc.tar.gz
samba-2f2fc84a7c6724f6eab39bf301be70ba5bec15cc.tar.bz2
samba-2f2fc84a7c6724f6eab39bf301be70ba5bec15cc.zip
r6720: added support for the remaining 2 types of CLDAP netlogon
response. To work around the fact that the type of the returned data is not encoded in the packet, this required adding ndr_pull_union_blob() which allows us to pull a blob into a union with a specified switch value, in this case the switch value comes from the calling NtVer field. (This used to be commit bd27e626c27be72913d1a1569ee6e2e2711df84e)
Diffstat (limited to 'source4/torture/ldap')
-rw-r--r--source4/torture/ldap/cldap.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/source4/torture/ldap/cldap.c b/source4/torture/ldap/cldap.c
index 23bb7f5ba0..24cbc184ad 100644
--- a/source4/torture/ldap/cldap.c
+++ b/source4/torture/ldap/cldap.c
@@ -37,25 +37,19 @@ static BOOL test_cldap_netlogon(TALLOC_CTX *mem_ctx, const char *dest)
struct cldap_netlogon search;
int i;
- search.in.dest_address = dest;
- search.in.realm = lp_realm();
- search.in.host = lp_netbios_name();
- search.in.version = 6;
- status = cldap_netlogon(cldap, mem_ctx, &search);
+ search.in.dest_address = dest;
+ search.in.realm = lp_realm();
+ search.in.host = lp_netbios_name();
- if (!NT_STATUS_IS_OK(status)) {
- printf("netlogon failed - %s\n", nt_errstr(status));
- } else {
- NDR_PRINT_DEBUG(nbt_cldap_netlogon, &search.out.netlogon);
- }
-
- for (i=0;i<20;i++) {
+ for (i=0;i<256;i++) {
search.in.version = i;
+ printf("Trying netlogon level %d\n", i);
status = cldap_netlogon(cldap, mem_ctx, &search);
if (!NT_STATUS_IS_OK(status)) {
printf("netlogon[%d] failed - %s\n", i, nt_errstr(status));
} else {
- NDR_PRINT_DEBUG(nbt_cldap_netlogon, &search.out.netlogon);
+ NDR_PRINT_UNION_DEBUG(nbt_cldap_netlogon, i & 0xF,
+ &search.out.netlogon);
}
}