Commit 450e00a8 authored by Stefan Metzmacher's avatar Stefan Metzmacher Committed by Andreas Schneider

s4:rpc_server: it's not a protocol error to do an alter context with an unknown transfer syntax

Windows 2012R2 only returns a protocol error if the client wants to change
between supported transfer syntaxes, e.g. from NDR32 to NDR64.

If the proposed transfer syntax is not known to the server,
the request will be silently ignored.
Signed-off-by: default avatarStefan Metzmacher <metze@samba.org>
Reviewed-by: default avatarAndreas Schneider <asn@samba.org>
parent 3d179d86
......@@ -294,3 +294,6 @@
#ntvfs server blocks copychunk with execute access on read handle
^samba4.smb2.ioctl.copy_chunk_bad_access
^samba4.drs.getnc_exop.python.*getnc_exop.DrsReplicaPrefixMapTestCase.test_regular_prefix_map_ex_attid.*
# We don't support NDR64 yet, so we generate the wrong FAULT code
^samba.tests.dcerpc.raw_protocol.*.TestDCERPC_BIND.test_spnego_change_auth_type2
^samba.tests.dcerpc.raw_protocol.*.TestDCERPC_BIND.test_spnego_change_transfer
......@@ -989,10 +989,6 @@ static NTSTATUS dcesrv_check_or_create_context(struct dcesrv_call_state *call,
return NT_STATUS_RPC_PROTOCOL_ERROR;
}
if (ctx->num_transfer_syntaxes != 1) {
return NT_STATUS_RPC_PROTOCOL_ERROR;
}
if (selected_transfer != NULL) {
ok = ndr_syntax_id_equal(&context->transfer_syntax,
selected_transfer);
......@@ -1003,8 +999,6 @@ static NTSTATUS dcesrv_check_or_create_context(struct dcesrv_call_state *call,
ack->result = DCERPC_BIND_ACK_RESULT_ACCEPTANCE;
ack->reason.value = DCERPC_BIND_ACK_REASON_NOT_SPECIFIED;
ack->syntax = context->transfer_syntax;
} else {
return NT_STATUS_RPC_PROTOCOL_ERROR;
}
/*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment