1
0
mirror of https://github.com/samba-team/samba.git synced 2025-11-05 04:23:51 +03:00

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 commit is contained in:
Andrew Tridgell
2005-05-10 23:33:56 +00:00
committed by Gerald (Jerry) Carter
parent 9a8f3e3c4c
commit bd27e626c2
6 changed files with 105 additions and 32 deletions

View File

@@ -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)));

View File

@@ -127,7 +127,7 @@ struct cldap_netlogon {
uint8_t version;
} in;
struct {
struct nbt_cldap_netlogon netlogon;
union nbt_cldap_netlogon netlogon;
} out;
};