s3:libsmb: add cli_tree_connect() for a generic tree connect
authorStefan Metzmacher <metze@samba.org>
Tue, 20 Sep 2011 04:57:37 +0000 (06:57 +0200)
committerStefan Metzmacher <metze@samba.org>
Thu, 24 Nov 2011 18:02:32 +0000 (19:02 +0100)
metze

source3/libsmb/cliconnect.c
source3/libsmb/proto.h

index 39710525dd018d73c3d9c879c2977a303137d1d2..58fb2e8e034b4884f36d7991118d59f7b482d2bc 100644 (file)
@@ -2520,6 +2520,21 @@ NTSTATUS cli_tcon_andx(struct cli_state *cli, const char *share,
        return status;
 }
 
+NTSTATUS cli_tree_connect(struct cli_state *cli, const char *share,
+                         const char *dev, const char *pass, int passlen)
+{
+       cli->share = talloc_strdup(cli, share);
+       if (!cli->share) {
+               return NT_STATUS_NO_MEMORY;
+       }
+
+       if (cli_state_protocol(cli) >= PROTOCOL_SMB2_02) {
+               return smb2cli_tcon(cli, share);
+       }
+
+       return cli_tcon_andx(cli, share, dev, pass, passlen);
+}
+
 /****************************************************************************
  Send a tree disconnect.
 ****************************************************************************/
index 991deadfa5f3de7782fda6c42b01f1339495b74c..e03d721ef25b4652d2a14f099cbccea8a25a4bee 100644 (file)
@@ -64,6 +64,8 @@ struct tevent_req *cli_tcon_andx_send(TALLOC_CTX *mem_ctx,
 NTSTATUS cli_tcon_andx_recv(struct tevent_req *req);
 NTSTATUS cli_tcon_andx(struct cli_state *cli, const char *share,
                       const char *dev, const char *pass, int passlen);
+NTSTATUS cli_tree_connect(struct cli_state *cli, const char *share,
+                         const char *dev, const char *pass, int passlen);
 struct tevent_req *cli_tdis_send(TALLOC_CTX *mem_ctx,
                                  struct tevent_context *ev,
                                  struct cli_state *cli);