From 577218b2aded7adb367f3f33bcc5560f3d4c0ec2 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Mon, 10 Jan 2005 12:15:26 +0000 Subject: r4640: first stage in the server side support for multiple context_ids on one pipe this stage does the following: - simplifies the dcerpc_handle handling, and all the callers of it - split out the context_id depenent state into a linked list of established contexts - fixed some talloc handling in several rpc servers that i noticed while doing the above (This used to be commit fde042b3fc609c94e2c7eedcdd72ecdf489cf63b) --- source4/rpc_server/remote/dcesrv_remote.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'source4/rpc_server/remote/dcesrv_remote.c') diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c index 83c550974d..1464ef0307 100644 --- a/source4/rpc_server/remote/dcesrv_remote.c +++ b/source4/rpc_server/remote/dcesrv_remote.c @@ -50,14 +50,14 @@ static NTSTATUS remote_op_bind(struct dcesrv_call_state *dce_call, const struct return status; } - dce_call->conn->private = private; + dce_call->context->private = private; return NT_STATUS_OK; } -static void remote_op_unbind(struct dcesrv_connection *dce_conn, const struct dcesrv_interface *iface) +static void remote_op_unbind(struct dcesrv_connection_context *context, const struct dcesrv_interface *iface) { - struct dcesrv_remote_private *private = dce_conn->private; + struct dcesrv_remote_private *private = context->private; dcerpc_pipe_close(private->c_pipe); @@ -67,7 +67,7 @@ static void remote_op_unbind(struct dcesrv_connection *dce_conn, const struct dc static NTSTATUS remote_op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_pull *pull, void **r) { NTSTATUS status; - const struct dcerpc_interface_table *table = dce_call->conn->iface->private; + const struct dcerpc_interface_table *table = dce_call->context->iface->private; uint16_t opnum = dce_call->pkt.u.request.opnum; dce_call->fault_code = 0; @@ -96,9 +96,9 @@ static NTSTATUS remote_op_ndr_pull(struct dcesrv_call_state *dce_call, TALLOC_CT static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, void *r) { - struct dcesrv_remote_private *private = dce_call->conn->private; + struct dcesrv_remote_private *private = dce_call->context->private; uint16_t opnum = dce_call->pkt.u.request.opnum; - const struct dcerpc_interface_table *table = dce_call->conn->iface->private; + const struct dcerpc_interface_table *table = dce_call->context->iface->private; const struct dcerpc_interface_call *call; const char *name; @@ -129,7 +129,7 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT static NTSTATUS remote_op_ndr_push(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ndr_push *push, void *r) { NTSTATUS status; - const struct dcerpc_interface_table *table = dce_call->conn->iface->private; + const struct dcerpc_interface_table *table = dce_call->context->iface->private; uint16_t opnum = dce_call->pkt.u.request.opnum; /* unravel the NDR for the packet */ -- cgit