summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2018-11-23 14:21:45 +0100
committerJeremy Allison <jra@samba.org>2019-01-12 03:13:39 +0100
commit199d4ba7ac45d2740987be0b85438d2b4c532035 (patch)
tree7da56686506cc92b25510757350c42b1aa93690b /source4
parent954dd89f511865c14bd5160f8f6c26bc28691d40 (diff)
downloadsamba-199d4ba7ac45d2740987be0b85438d2b4c532035.tar.gz
s4:rpc_server/remote: fail the connection if the remote server don't support MPX
If we already negotiated with our client to support concurent multiplexing (MPX), we need a remote connection that also supports it. BUG: https://bugzilla.samba.org/show_bug.cgi?id=7113 BUG: https://bugzilla.samba.org/show_bug.cgi?id=11892 Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
Diffstat (limited to 'source4')
-rw-r--r--source4/rpc_server/remote/dcesrv_remote.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c
index 4a441f34b23..9e40a974e0c 100644
--- a/source4/rpc_server/remote/dcesrv_remote.c
+++ b/source4/rpc_server/remote/dcesrv_remote.c
@@ -179,9 +179,13 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct
return status;
}
- flags = dcerpc_binding_get_flags(priv->c_pipe->binding);
- if (!(flags & DCERPC_CONCURRENT_MULTIPLEX)) {
- dce_call->state_flags &= ~DCESRV_CALL_STATE_FLAG_MULTIPLEXED;
+ if (dce_call->pkt.pfc_flags & DCERPC_PFC_FLAG_CONC_MPX) {
+ flags = dcerpc_binding_get_flags(priv->c_pipe->binding);
+ if (!(flags & DCERPC_CONCURRENT_MULTIPLEX)) {
+ DEBUG(1,("dcerpc_remote: RPC Proxy: "
+ "Remote server doesn't support MPX\n"));
+ return NT_STATUS_INVALID_NETWORK_RESPONSE;
+ }
}
if (dce_call->conn->assoc_group->proxied_id == 0) {