s4:librpc/rpc: add dcerpc_secondary_smb_send/recv()
authorStefan Metzmacher <metze@samba.org>
Tue, 17 Sep 2013 05:16:29 +0000 (07:16 +0200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 16 Oct 2013 19:48:54 +0000 (08:48 +1300)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source4/librpc/rpc/dcerpc.h
source4/librpc/rpc/dcerpc_smb.c

index c1e6445ba3b18b352f71792f186f1cdf9c5d7c00..0a319d31ff9693de1c2b684002991f585bc57406 100644 (file)
@@ -211,6 +211,10 @@ NTSTATUS dcerpc_bind_auth_schannel(TALLOC_CTX *tmp_ctx,
 struct tevent_context *dcerpc_event_context(struct dcerpc_pipe *p);
 NTSTATUS dcerpc_init(void);
 struct smbcli_tree *dcerpc_smb_tree(struct dcecli_connection *c);
+struct composite_context *dcerpc_secondary_smb_send(struct dcecli_connection *c1,
+                                                   struct dcerpc_pipe *p2,
+                                                   const char *pipe_name);
+NTSTATUS dcerpc_secondary_smb_recv(struct composite_context *c);
 NTSTATUS dcerpc_secondary_context(struct dcerpc_pipe *p, 
                                  struct dcerpc_pipe **pp2,
                                  const struct ndr_interface_table *table);
index 71faeb4b3feed3a3cf33167fa506390fe657fc19..c84896f4dca2e467f61f28511daa1af63aa03ab0 100644 (file)
@@ -597,3 +597,22 @@ _PUBLIC_ struct smbcli_tree *dcerpc_smb_tree(struct dcecli_connection *c)
 
        return smb->tree;
 }
+
+struct composite_context *dcerpc_secondary_smb_send(struct dcecli_connection *c1,
+                                                   struct dcerpc_pipe *p2,
+                                                   const char *pipe_name)
+{
+       struct smb_private *smb;
+
+       if (c1->transport.transport != NCACN_NP) return NULL;
+
+       smb = talloc_get_type(c1->transport.private_data, struct smb_private);
+       if (!smb) return NULL;
+
+       return dcerpc_pipe_open_smb_send(p2, smb->tree, pipe_name);
+}
+
+NTSTATUS dcerpc_secondary_smb_recv(struct composite_context *c)
+{
+       return dcerpc_pipe_open_smb_recv(c);
+}