s4:libcli/raw: setup a smbXcli_tcon for each smbcli_tree
authorStefan Metzmacher <metze@samba.org>
Mon, 23 Jul 2012 18:57:23 +0000 (20:57 +0200)
committerStefan Metzmacher <metze@samba.org>
Tue, 24 Jul 2012 16:44:05 +0000 (18:44 +0200)
metze

source4/libcli/raw/clitree.c
source4/libcli/raw/libcliraw.h
source4/libcli/raw/rawrequest.c

index a47b395a6b680e06afef458048b5394fa524f83c..1c3321e6b83008f4c6f4b3c92692bfbea0ef39b4 100644 (file)
@@ -24,6 +24,7 @@
 #include "libcli/raw/libcliraw.h"
 #include "libcli/raw/raw_proto.h"
 #include "libcli/smb_composite/smb_composite.h"
+#include "../libcli/smb/smbXcli_base.h"
 
 #define SETUP_REQUEST_TREE(cmd, wct, buflen) do { \
        req = smbcli_request_setup(tree, cmd, wct, buflen); \
@@ -49,6 +50,11 @@ _PUBLIC_ struct smbcli_tree *smbcli_tree_init(struct smbcli_session *session,
                tree->session = talloc_reference(tree, session);
        }
 
+       tree->smbXcli = smbXcli_tcon_create(tree);
+       if (tree->smbXcli == NULL) {
+               talloc_free(tree);
+               return NULL;
+       }
 
        return tree;
 }
index 8cdccc1f4516a851ff9d6eb226c1ff58a1833864..b26947108108ccf1e32f1e32dfa6678a494b4816 100644 (file)
@@ -188,6 +188,7 @@ struct smbcli_tree {
        /* session layer info */
        struct smbcli_session *session;
 
+       struct smbXcli_tcon *smbXcli;
        uint16_t tid;                   /* tree id, aka cnum */
        char *device;
        char *fs_type;
index 56bbf259e1805dc7f89be7ab54501cc0e487dba9..9cabea5c78078c14bc2f2acb2c723084d299f94e 100644 (file)
@@ -169,6 +169,8 @@ struct smbcli_request *smbcli_request_setup(struct smbcli_tree *tree,
 
        req = smbcli_request_setup_session(tree->session, command, wct, buflen);
        if (req) {
+               smb1cli_tcon_set_id(tree->smbXcli, tree->tid);
+
                req->tree = tree;
                SSVAL(req->out.hdr,HDR_TID,tree->tid);
        }