diff options
author | Samuel Cabrero <scabrero@suse.de> | 2019-01-23 20:41:54 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2019-10-18 16:07:36 +0000 |
commit | f402b937f4862843015686b8e28504fe588d0c5f (patch) | |
tree | 3ace68c1e78bf6f55727fc6412a1cf55175940eb /source4 | |
parent | 3d7167f4f43f5cf8ca4393d8d852bd146bf05cde (diff) | |
download | samba-f402b937f4862843015686b8e28504fe588d0c5f.tar.gz |
s4:rpc_server: Remove server_id from dcerpc core structs
Add a helper function to retrieve it from the stream connection.
Signed-off-by: Samuel Cabrero <scabrero@suse.de>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Diffstat (limited to 'source4')
-rw-r--r-- | source4/rpc_server/dcerpc_server.c | 11 | ||||
-rw-r--r-- | source4/rpc_server/dcerpc_server.h | 5 | ||||
-rw-r--r-- | source4/rpc_server/srvsvc/srvsvc_ntvfs.c | 3 |
3 files changed, 11 insertions, 8 deletions
diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index c45bc17db1d..146558de3b4 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -609,7 +609,6 @@ static NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx, const struct dcesrv_endpoint *ep, struct auth_session_info *session_info, struct tevent_context *event_ctx, - struct server_id server_id, uint32_t state_flags, struct dcesrv_connection **_p) { @@ -627,7 +626,6 @@ static NTSTATUS dcesrv_endpoint_connect(struct dcesrv_context *dce_ctx, p->endpoint = ep; p->packet_log_dir = lpcfg_lock_directory(dce_ctx->lp_ctx); p->event_ctx = event_ctx; - p->server_id = server_id; p->state_flags = state_flags; p->allow_bind = true; p->max_recv_frag = 5840; @@ -2822,7 +2820,6 @@ static void dcesrv_sock_accept(struct stream_connection *srv_conn) dcesrv_sock->endpoint, srv_conn->session_info, srv_conn->event.ctx, - srv_conn->server_id, DCESRV_CALL_STATE_FLAG_MAY_ASYNC, &dcesrv_conn); if (!NT_STATUS_IS_OK(status)) { @@ -3394,3 +3391,11 @@ _PUBLIC_ struct imessaging_context *dcesrv_imessaging_context( struct stream_connection); return srv_conn->msg_ctx; } + +_PUBLIC_ struct server_id dcesrv_server_id(struct dcesrv_connection *conn) +{ + struct stream_connection *srv_conn = + talloc_get_type_abort(conn->transport.private_data, + struct stream_connection); + return srv_conn->server_id; +} diff --git a/source4/rpc_server/dcerpc_server.h b/source4/rpc_server/dcerpc_server.h index 0baff2cb049..35ac3abe2ce 100644 --- a/source4/rpc_server/dcerpc_server.h +++ b/source4/rpc_server/dcerpc_server.h @@ -23,7 +23,6 @@ #ifndef SAMBA_DCERPC_SERVER_H #define SAMBA_DCERPC_SERVER_H -#include "librpc/gen_ndr/server_id.h" #include "librpc/rpc/dcerpc.h" #include "librpc/ndr/libndr.h" @@ -260,9 +259,6 @@ struct dcesrv_connection { /* the event_context that will be used for this connection */ struct tevent_context *event_ctx; - /* the server_id that will be used for this connection */ - struct server_id server_id; - /* is this connection pending termination? If so, why? */ const char *terminate; @@ -577,5 +573,6 @@ _PUBLIC_ void *_dcesrv_iface_state_find_conn( _PUBLIC_ struct imessaging_context *dcesrv_imessaging_context( struct dcesrv_connection *conn); +_PUBLIC_ struct server_id dcesrv_server_id(struct dcesrv_connection *conn); #endif /* SAMBA_DCERPC_SERVER_H */ diff --git a/source4/rpc_server/srvsvc/srvsvc_ntvfs.c b/source4/rpc_server/srvsvc/srvsvc_ntvfs.c index f83fd03502a..2d45e554a14 100644 --- a/source4/rpc_server/srvsvc/srvsvc_ntvfs.c +++ b/source4/rpc_server/srvsvc/srvsvc_ntvfs.c @@ -43,6 +43,7 @@ NTSTATUS srvsvc_create_ntvfs_context(struct dcesrv_call_state *dce_call, dcesrv_call_session_info(dce_call); struct imessaging_context *imsg_ctx = dcesrv_imessaging_context(dce_call->conn); + struct server_id server_id = dcesrv_server_id(dce_call->conn); NTSTATUS status; struct srvsvc_ntvfs_ctx *c; struct ntvfs_request *ntvfs_req; @@ -96,7 +97,7 @@ NTSTATUS srvsvc_create_ntvfs_context(struct dcesrv_call_state *dce_call, dce_call->event_ctx, imsg_ctx, dce_call->conn->dce_ctx->lp_ctx, - dce_call->conn->server_id, + server_id, &c->ntvfs); if (!NT_STATUS_IS_OK(status)) { DEBUG(0, ("srvsvc_create_ntvfs_context: ntvfs_init_connection failed for service %s\n", |