diff options
author | Volker Lendecke <vl@samba.org> | 2010-08-16 11:01:26 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-08-18 11:18:23 +0200 |
commit | 4b5e252354660501576c8452f48514852f40270e (patch) | |
tree | 16f112b0719f6252bd833f7a759f33bff1397abb /source3/rpc_server/rpc_ncacn_np_internal.c | |
parent | 6d10684556e9f9e847ec03dd8af057e8d4558e35 (diff) | |
download | samba-4b5e252354660501576c8452f48514852f40270e.tar.gz samba-4b5e252354660501576c8452f48514852f40270e.tar.bz2 samba-4b5e252354660501576c8452f48514852f40270e.zip |
s3: Add "client_id" to pipes_struct
Diffstat (limited to 'source3/rpc_server/rpc_ncacn_np_internal.c')
-rw-r--r-- | source3/rpc_server/rpc_ncacn_np_internal.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/source3/rpc_server/rpc_ncacn_np_internal.c b/source3/rpc_server/rpc_ncacn_np_internal.c index 71a14be845..bbb6338260 100644 --- a/source3/rpc_server/rpc_ncacn_np_internal.c +++ b/source3/rpc_server/rpc_ncacn_np_internal.c @@ -114,7 +114,7 @@ static int close_internal_rpc_pipe_hnd(struct pipes_struct *p) struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *syntax, - const char *client_address, + struct client_address *client_id, struct auth_serversupplied_info *server_info, struct messaging_context *msg_ctx) { @@ -157,7 +157,7 @@ struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx, DLIST_ADD(InternalPipes, p); - strlcpy(p->client_address, client_address, sizeof(p->client_address)); + p->client_id = client_id; p->endian = RPC_LITTLE_ENDIAN; @@ -469,6 +469,7 @@ static struct dcerpc_binding_handle *rpcint_binding_handle(struct pipes_struct * NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *abstract_syntax, struct auth_serversupplied_info *serversupplied_info, + struct client_address *client_id, struct messaging_context *msg_ctx, struct rpc_pipe_client **presult) { @@ -482,8 +483,16 @@ NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx, result->abstract_syntax = *abstract_syntax; result->transfer_syntax = ndr_transfer_syntax; + if (client_id == NULL) { + static struct client_address unknown; + strlcpy(unknown.addr, "<UNKNOWN>", sizeof(unknown.addr)); + unknown.name = "<UNKNOWN>"; + client_id = &unknown; + } + result->pipes_struct = make_internal_rpc_pipe_p( - result, abstract_syntax, "", serversupplied_info, msg_ctx); + result, abstract_syntax, client_id, serversupplied_info, + msg_ctx); if (result->pipes_struct == NULL) { TALLOC_FREE(result); return NT_STATUS_NO_MEMORY; |