remote proxy params
authorStefan Metzmacher <metze@samba.org>
Sat, 12 Mar 2011 01:15:38 +0000 (02:15 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 4 Jun 2019 11:14:55 +0000 (13:14 +0200)
source4/rpc_server/remote/dcesrv_remote.c

index d34643a68db3714d4df817caf282dd6585268416..b0204edc9e39b24c81c84137f4b9d79a77be8d55 100644 (file)
@@ -291,6 +291,7 @@ static void remote_op_dispatch_done(struct tevent_req *subreq);
 struct dcesrv_remote_call {
        struct dcesrv_call_state *dce_call;
        struct dcesrv_remote_private *priv;
+       struct dcerpc_binding_handle_call_params params;
 };
 
 static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r)
@@ -319,6 +320,12 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT
        }
        rcall->dce_call = dce_call;
        rcall->priv = priv;
+       rcall->params.r_mem = mem_ctx;
+       rcall->params.r_ptr = r;
+       rcall->params.in.num_pipes = 0;
+       rcall->params.in.pipes = NULL;
+       rcall->params.out.num_pipes = 0;
+       rcall->params.out.pipes = NULL;
 
        if (priv->c_pipe->conn->flags & DCERPC_DEBUG_PRINT_IN) {
                ndr_print_function_debug(call->ndr_print, name, NDR_IN | NDR_SET_VALUES, r);            
@@ -330,7 +337,7 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT
        subreq = dcerpc_binding_handle_call_send(rcall, dce_call->event_ctx,
                                                 priv->c_pipe->binding_handle,
                                                 NULL, table,
-                                                opnum, mem_ctx, r);
+                                                opnum, &rcall->params);
        if (subreq == NULL) {
                DEBUG(0,("dcesrv_remote: call[%s] dcerpc_binding_handle_call_send() failed!\n", name));
                return NT_STATUS_NO_MEMORY;