diff options
author | Andreas Schneider <asn@samba.org> | 2011-03-03 14:20:26 +0100 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2011-03-08 11:41:30 +0100 |
commit | cc5b88545de27ae37a8e8876490d0207c80fae6f (patch) | |
tree | 4a10dbf8cd7bddadeb7df6b51d4c9e9211de111c /source3 | |
parent | bd66fc81b648eaa966522f78c03f5844d9019c44 (diff) | |
download | samba-cc5b88545de27ae37a8e8876490d0207c80fae6f.tar.gz samba-cc5b88545de27ae37a8e8876490d0207c80fae6f.tar.bz2 samba-cc5b88545de27ae37a8e8876490d0207c80fae6f.zip |
s3-rpc_server: Introduce transport in pipe_struct.
Signed-off-by: Günther Deschner <gd@samba.org>
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/includes.h | 2 | ||||
-rw-r--r-- | source3/include/ntdomain.h | 2 | ||||
-rw-r--r-- | source3/librpc/rpc/dcerpc.h | 1 | ||||
-rw-r--r-- | source3/rpc_server/rpc_ncacn_np.c | 1 | ||||
-rw-r--r-- | source3/rpc_server/rpc_server.c | 5 |
5 files changed, 9 insertions, 2 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h index d715db6354..c79c96260a 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -612,8 +612,8 @@ extern void *cmdline_lp_ctx; #include "msdfs.h" #include "auth.h" -#include "ntdomain.h" #include "librpc/rpc/dcerpc.h" +#include "ntdomain.h" #include "client.h" #include "module.h" diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h index e1be93c4ba..5819c9aa65 100644 --- a/source3/include/ntdomain.h +++ b/source3/include/ntdomain.h @@ -120,6 +120,8 @@ struct pipes_struct { struct client_address *client_id; struct client_address *server_id; + enum dcerpc_transport_t transport; + struct auth_serversupplied_info *session_info; struct messaging_context *msg_ctx; diff --git a/source3/librpc/rpc/dcerpc.h b/source3/librpc/rpc/dcerpc.h index 0f900871d1..72a8ad55da 100644 --- a/source3/librpc/rpc/dcerpc.h +++ b/source3/librpc/rpc/dcerpc.h @@ -120,6 +120,7 @@ _PUBLIC_ NTSTATUS dcerpc_binding_build_tower(TALLOC_CTX *mem_ctx, struct epm_tower *tower); struct NL_AUTH_MESSAGE; +struct pipe_auth_data; /* The following definitions come from librpc/rpc/dcerpc_helpers.c */ NTSTATUS dcerpc_push_ncacn_packet(TALLOC_CTX *mem_ctx, diff --git a/source3/rpc_server/rpc_ncacn_np.c b/source3/rpc_server/rpc_ncacn_np.c index 276e3f85db..41985e4ee0 100644 --- a/source3/rpc_server/rpc_ncacn_np.c +++ b/source3/rpc_server/rpc_ncacn_np.c @@ -166,6 +166,7 @@ struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx, p->endian = RPC_LITTLE_ENDIAN; p->syntax = *syntax; + p->transport = NCALRPC; DEBUG(4,("Created internal pipe %s (pipes_open=%d)\n", get_pipe_name_from_syntax(talloc_tos(), syntax), pipes_open)); diff --git a/source3/rpc_server/rpc_server.c b/source3/rpc_server/rpc_server.c index eb98a447f5..4cab4f1521 100644 --- a/source3/rpc_server/rpc_server.c +++ b/source3/rpc_server/rpc_server.c @@ -76,6 +76,7 @@ static NTSTATUS auth_anonymous_session_info(TALLOC_CTX *mem_ctx, static int make_server_pipes_struct(TALLOC_CTX *mem_ctx, const char *pipe_name, const struct ndr_syntax_id id, + enum dcerpc_transport_t transport, const char *client_address, const char *server_address, struct auth_session_info_transport *session_info, @@ -94,6 +95,7 @@ static int make_server_pipes_struct(TALLOC_CTX *mem_ctx, return -1; } p->syntax = id; + p->transport = transport; p->mem_ctx = talloc_named(p, 0, "pipe %s %p", pipe_name, p); if (!p->mem_ctx) { @@ -540,7 +542,7 @@ static void named_pipe_accept_done(struct tevent_req *subreq) } ret = make_server_pipes_struct(npc, - npc->pipe_name, npc->pipe_id, + npc->pipe_name, npc->pipe_id, NCACN_NP, cli_addr, NULL, npc->session_info, &npc->p, &error); if (ret != 0) { @@ -1218,6 +1220,7 @@ static void dcerpc_ncacn_accept(struct tevent_context *ev_ctx, rc = make_server_pipes_struct(ncacn_conn, pipe_name, ncacn_conn->syntax_id, + ncacn_conn->transport, cli_str, srv_str, ncacn_conn->session_info, |