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:
committed by
Gerald (Jerry) Carter
parent
9a8f3e3c4c
commit
bd27e626c2
@@ -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)));
|
||||
|
||||
@@ -127,7 +127,7 @@ struct cldap_netlogon {
|
||||
uint8_t version;
|
||||
} in;
|
||||
struct {
|
||||
struct nbt_cldap_netlogon netlogon;
|
||||
union nbt_cldap_netlogon netlogon;
|
||||
} out;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user