summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorSamuel Cabrero <scabrero@suse.de>2019-01-23 20:41:54 +0100
committerAndreas Schneider <asn@cryptomilk.org>2019-10-18 16:07:36 +0000
commitf402b937f4862843015686b8e28504fe588d0c5f (patch)
tree3ace68c1e78bf6f55727fc6412a1cf55175940eb /source4
parent3d7167f4f43f5cf8ca4393d8d852bd146bf05cde (diff)
downloadsamba-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.c11
-rw-r--r--source4/rpc_server/dcerpc_server.h5
-rw-r--r--source4/rpc_server/srvsvc/srvsvc_ntvfs.c3
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",