s4:rpc_server: don't support functions DCERPC pipes in remoted backend
authorStefan Metzmacher <metze@samba.org>
Sun, 22 Sep 2013 06:31:49 +0000 (08:31 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 7 Jan 2014 07:37:36 +0000 (08:37 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source4/rpc_server/remote/dcesrv_remote.c

index 2d6be6adeeb13cc8b4a709d0c2d67bf663681e31..df4e574c89657773a9fd8305dea3a8d441bf50e0 100644 (file)
@@ -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;