mirror of
https://github.com/samba-team/samba.git
synced 2025-09-18 09:44:19 +03:00
dcerpc.idl: fix dcerpc_bind_nack definition
The version array is always present. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
committed by
Andrew Bartlett
parent
97302100d0
commit
f73ef3028c
@@ -125,19 +125,15 @@ interface dcerpc
|
||||
DCERPC_BIND_NAK_REASON_INVALID_AUTH_TYPE;
|
||||
|
||||
typedef struct {
|
||||
uint32 num_versions;
|
||||
uint32 versions[num_versions];
|
||||
} dcerpc_bind_nak_versions;
|
||||
|
||||
typedef [nodiscriminant] union {
|
||||
[case(DCERPC_BIND_NAK_REASON_PROTOCOL_VERSION_NOT_SUPPORTED)]
|
||||
dcerpc_bind_nak_versions v;
|
||||
[default] ;
|
||||
} dcerpc_bind_nak_versions_ctr;
|
||||
uint8 rpc_vers; /* RPC version */
|
||||
uint8 rpc_vers_minor; /* Minor version */
|
||||
} dcerpc_bind_nak_version;
|
||||
|
||||
typedef struct {
|
||||
dcerpc_bind_nak_reason reject_reason;
|
||||
[switch_is(reject_reason)] dcerpc_bind_nak_versions_ctr versions;
|
||||
uint8 num_versions;
|
||||
dcerpc_bind_nak_version versions[num_versions];
|
||||
[flag(NDR_REMAINING)] DATA_BLOB _pad;
|
||||
} dcerpc_bind_nak;
|
||||
|
||||
const uint8 DCERPC_RESPONSE_LENGTH = 24;
|
||||
|
@@ -457,6 +457,7 @@ static void dcesrv_call_set_list(struct dcesrv_call_state *call,
|
||||
static NTSTATUS dcesrv_bind_nak(struct dcesrv_call_state *call, uint32_t reason)
|
||||
{
|
||||
struct ncacn_packet pkt;
|
||||
struct dcerpc_bind_nak_version version;
|
||||
struct data_blob_list_item *rep;
|
||||
NTSTATUS status;
|
||||
|
||||
@@ -467,9 +468,11 @@ static NTSTATUS dcesrv_bind_nak(struct dcesrv_call_state *call, uint32_t reason)
|
||||
pkt.ptype = DCERPC_PKT_BIND_NAK;
|
||||
pkt.pfc_flags = DCERPC_PFC_FLAG_FIRST | DCERPC_PFC_FLAG_LAST;
|
||||
pkt.u.bind_nak.reject_reason = reason;
|
||||
if (pkt.u.bind_nak.reject_reason == DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED) {
|
||||
pkt.u.bind_nak.versions.v.num_versions = 0;
|
||||
}
|
||||
version.rpc_vers = 5;
|
||||
version.rpc_vers_minor = 0;
|
||||
pkt.u.bind_nak.num_versions = 1;
|
||||
pkt.u.bind_nak.versions = &version;
|
||||
pkt.u.bind_nak._pad = data_blob_null;
|
||||
|
||||
rep = talloc(call, struct data_blob_list_item);
|
||||
if (!rep) {
|
||||
|
Reference in New Issue
Block a user