summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-09-22 08:31:49 +0200
committerStefan Metzmacher <metze@samba.org>2014-01-07 08:37:36 +0100
commitcc899e8d96dee8aadd84c44cdace0fffaf026a8c (patch)
treebe1d44d204dacbe1377e5aac0ba1cb15d30dc3ef
parentef568f425c4199960bd9eb10c5769902f5eb6593 (diff)
downloadsamba-cc899e8d96dee8aadd84c44cdace0fffaf026a8c.tar.gz
samba-cc899e8d96dee8aadd84c44cdace0fffaf026a8c.tar.xz
samba-cc899e8d96dee8aadd84c44cdace0fffaf026a8c.zip
s4:rpc_server: don't support functions DCERPC pipes in remoted backend
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andreas Schneider <asn@samba.org>
-rw-r--r--source4/rpc_server/remote/dcesrv_remote.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c
index 2d6be6adee..df4e574c89 100644
--- a/source4/rpc_server/remote/dcesrv_remote.c
+++ b/source4/rpc_server/remote/dcesrv_remote.c
@@ -161,6 +161,18 @@ static NTSTATUS remote_op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CT
return NT_STATUS_NET_WRITE_FAULT;
}
+ /*
+ * We don't have support for calls with pipes.
+ */
+ if (table->calls[opnum].in_pipes.num_pipes != 0) {
+ dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
+ return NT_STATUS_NET_WRITE_FAULT;
+ }
+ if (table->calls[opnum].out_pipes.num_pipes != 0) {
+ dce_call->fault_code = DCERPC_FAULT_OP_RNG_ERROR;
+ return NT_STATUS_NET_WRITE_FAULT;
+ }
+
*r = talloc_size(mem_ctx, table->calls[opnum].struct_size);
if (!*r) {
return NT_STATUS_NO_MEMORY;