diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-05-21 11:39:50 +0000 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2006-05-21 11:39:50 +0000 |
commit | 43a4f86f2fe42c142bc03e6ecae5092433595319 (patch) | |
tree | 185407ec18ee7925cfea8022f1502d067f815fcc /source/rpc_server | |
parent | 16a1554d4857cb8a3156a876e8a5b38c18d99ad5 (diff) | |
download | samba-43a4f86f2fe42c142bc03e6ecae5092433595319.tar.gz samba-43a4f86f2fe42c142bc03e6ecae5092433595319.tar.xz samba-43a4f86f2fe42c142bc03e6ecae5092433595319.zip |
r15772: pass the messaging context and server_id to the dcerpc server subsystem
metze
Diffstat (limited to 'source/rpc_server')
-rw-r--r-- | source/rpc_server/dcerpc_server.c | 10 | ||||
-rw-r--r-- | source/rpc_server/dcerpc_server.h | 6 | ||||
-rw-r--r-- | source/rpc_server/dcerpc_sock.c | 2 |
3 files changed, 17 insertions, 1 deletions
diff --git a/source/rpc_server/dcerpc_server.c b/source/rpc_server/dcerpc_server.c index b56e397cf08..394bd45cea1 100644 --- a/source/rpc_server/dcerpc_server.c +++ b/source/rpc_server/dcerpc_server.c @@ -292,6 +292,8 @@ NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint *ep, struct auth_session_info *session_info, struct event_context *event_ctx, + struct messaging_context *msg_ctx, + uint32_t server_id, uint32_t state_flags, struct dcesrv_connection **_p) { @@ -321,6 +323,8 @@ NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx, p->auth_state.session_info = session_info; p->auth_state.session_key = dcesrv_generic_session_key; p->event_ctx = event_ctx; + p->msg_ctx = msg_ctx; + p->server_id = server_id; p->processing = False; p->state_flags = state_flags; ZERO_STRUCT(p->transport); @@ -339,6 +343,8 @@ _PUBLIC_ NTSTATUS dcesrv_endpoint_search_connect(struct dcesrv_context *dce_ctx, const struct dcerpc_binding *ep_description, struct auth_session_info *session_info, struct event_context *event_ctx, + struct messaging_context *msg_ctx, + uint32_t server_id, uint32_t state_flags, struct dcesrv_connection **dce_conn_p) { @@ -351,7 +357,9 @@ _PUBLIC_ NTSTATUS dcesrv_endpoint_search_connect(struct dcesrv_context *dce_ctx, return NT_STATUS_OBJECT_NAME_NOT_FOUND; } - status = dcesrv_endpoint_connect(dce_ctx, mem_ctx, ep, session_info, event_ctx, state_flags, dce_conn_p); + status = dcesrv_endpoint_connect(dce_ctx, mem_ctx, ep, session_info, + event_ctx, msg_ctx, server_id, + state_flags, dce_conn_p); NT_STATUS_NOT_OK_RETURN(status); (*dce_conn_p)->auth_state.session_key = dcesrv_inherited_session_key; diff --git a/source/rpc_server/dcerpc_server.h b/source/rpc_server/dcerpc_server.h index ca169fa2fa3..57d8bb2d79d 100644 --- a/source/rpc_server/dcerpc_server.h +++ b/source/rpc_server/dcerpc_server.h @@ -178,6 +178,12 @@ struct dcesrv_connection { /* the event_context that will be used for this connection */ struct event_context *event_ctx; + /* the message_context that will be used for this connection */ + struct messaging_context *msg_ctx; + + /* the server_id that will be used for this connection */ + uint32_t server_id; + /* the transport level session key */ DATA_BLOB transport_session_key; diff --git a/source/rpc_server/dcerpc_sock.c b/source/rpc_server/dcerpc_sock.c index 3346dedd443..946052e61d2 100644 --- a/source/rpc_server/dcerpc_sock.c +++ b/source/rpc_server/dcerpc_sock.c @@ -113,6 +113,8 @@ static void dcesrv_sock_accept(struct stream_connection *srv_conn) dcesrv_sock->endpoint, session_info, srv_conn->event.ctx, + srv_conn->msg_ctx, + srv_conn->server_id, DCESRV_CALL_STATE_FLAG_MAY_ASYNC, &dcesrv_conn); if (!NT_STATUS_IS_OK(status)) { |