diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-05-10 23:33:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:16:37 -0500 |
commit | 2f2fc84a7c6724f6eab39bf301be70ba5bec15cc (patch) | |
tree | 13eb42b0238a5744bb2f368f8e686d350287afe5 /source4/libcli/cldap/cldap.c | |
parent | 398a3130f5166d4a4d455529ae3048316510f867 (diff) | |
download | samba-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/libcli/cldap/cldap.c')
-rw-r--r-- | source4/libcli/cldap/cldap.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source4/libcli/cldap/cldap.c b/source4/libcli/cldap/cldap.c index 7caf5a0810..a28afc6877 100644 --- a/source4/libcli/cldap/cldap.c +++ b/source4/libcli/cldap/cldap.c @@ -451,8 +451,9 @@ NTSTATUS cldap_netlogon_recv(struct cldap_request *req, } data = search.out.response->attributes[0].values; - status = ndr_pull_struct_blob_all(data, mem_ctx, &io->out.netlogon, - (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon); + status = ndr_pull_union_blob(data, mem_ctx, &io->out.netlogon, + io->in.version & 0xF, + (ndr_pull_flags_fn_t)ndr_pull_nbt_cldap_netlogon); if (!NT_STATUS_IS_OK(status)) { DEBUG(2,("cldap failed to parse netlogon response of type 0x%02x\n", SVAL(data->data, 0))); |