summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2009-01-21 13:40:18 +0100
committerJelmer Vernooij <jelmer@samba.org>2009-01-21 13:40:18 +0100
commitb64b78e4cc2aaed779a07dbcb180323bfb3652d6 (patch)
tree9d8bf5faf0d16a5379e610119764dc6fbf6b8097 /source3
parent816934faa8bbe53dd299bc5e39f471eafdddefa8 (diff)
downloadsamba-b64b78e4cc2aaed779a07dbcb180323bfb3652d6.tar.gz
samba-b64b78e4cc2aaed779a07dbcb180323bfb3652d6.tar.bz2
samba-b64b78e4cc2aaed779a07dbcb180323bfb3652d6.zip
Allow overriding the function that ships the request in the Samba 3
client code.
Diffstat (limited to 'source3')
-rw-r--r--source3/include/client.h5
-rw-r--r--source3/rpc_client/cli_pipe.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/source3/include/client.h b/source3/include/client.h
index 587f3f6c67..86b4bee662 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -80,6 +80,11 @@ struct rpc_pipe_client {
struct ndr_syntax_id abstract_syntax;
struct ndr_syntax_id transfer_syntax;
+ NTSTATUS (*dispatch) (struct rpc_pipe_client *cli,
+ TALLOC_CTX *mem_ctx,
+ const struct ndr_interface_table *table,
+ uint32_t opnum, void *r);
+
char *desthost;
char *srv_name_slash;
diff --git a/source3/rpc_client/cli_pipe.c b/source3/rpc_client/cli_pipe.c
index cf621343e7..0a606f2438 100644
--- a/source3/rpc_client/cli_pipe.c
+++ b/source3/rpc_client/cli_pipe.c
@@ -3310,6 +3310,7 @@ static NTSTATUS rpc_pipe_open_tcp_port(TALLOC_CTX *mem_ctx, const char *host,
result->abstract_syntax = *abstract_syntax;
result->transfer_syntax = ndr_transfer_syntax;
+ result->dispatch = cli_do_rpc_ndr;
result->desthost = talloc_strdup(result, host);
result->srv_name_slash = talloc_asprintf_strupper_m(
@@ -3517,6 +3518,7 @@ NTSTATUS rpc_pipe_open_ncalrpc(TALLOC_CTX *mem_ctx, const char *socket_path,
result->abstract_syntax = *abstract_syntax;
result->transfer_syntax = ndr_transfer_syntax;
+ result->dispatch = cli_do_rpc_ndr;
result->desthost = talloc_get_myname(result);
result->srv_name_slash = talloc_asprintf_strupper_m(
@@ -3602,6 +3604,7 @@ static NTSTATUS rpc_pipe_open_np(struct cli_state *cli,
result->trans.np.cli = cli;
result->abstract_syntax = *abstract_syntax;
result->transfer_syntax = ndr_transfer_syntax;
+ result->dispatch = cli_do_rpc_ndr;
result->desthost = talloc_strdup(result, cli->desthost);
result->srv_name_slash = talloc_asprintf_strupper_m(
result, "\\\\%s", result->desthost);