[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Tue Jul 24 13:23:02 MDT 2012


The branch, master has been updated
       via  b9100a7 libcli/smb: pass down smbXcli_tcon to smb1cli_req_create/send() and smb1cli_trans*
       via  29dc01b s4:libcli/raw: setup a smbXcli_tcon for each smbcli_tree
       via  ed72628 s3:libsmb: use a smbXcli_tcon instead of uint16_t cli_state->smb1.tid
       via  552dda9 libcli/smb: add smbXcli_tcon structure
       via  20e4392 s3:libsmb: make use of cli_state_[g|s]et_tid()
       via  cc0d490 s4:libcli/raw: parse extended SMBtconX responses
       via  a6e5b98 s4:libcli/raw: fix SMBtconX response parsing
      from  d00d206 waf: Update to newer upstream snapshot.

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit b9100a7ac443159716398aaadfab34af64d8858b
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jul 23 21:34:58 2012 +0200

    libcli/smb: pass down smbXcli_tcon to smb1cli_req_create/send() and smb1cli_trans*
    
    metze
    
    Autobuild-User(master): Stefan Metzmacher <metze at samba.org>
    Autobuild-Date(master): Tue Jul 24 21:22:44 CEST 2012 on sn-devel-104

commit 29dc01b1755081b1b7a9b38ad4f7e6fdaa795bf9
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jul 23 20:57:23 2012 +0200

    s4:libcli/raw: setup a smbXcli_tcon for each smbcli_tree
    
    metze

commit ed726281b3dc32c6e31b81dd1fb76b0568687623
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jul 23 20:27:58 2012 +0200

    s3:libsmb: use a smbXcli_tcon instead of uint16_t cli_state->smb1.tid
    
    metze

commit 552dda970c6b665a36cf2af56142eb1456883528
Author: Luk Claes <luk at debian.org>
Date:   Sat Jun 2 18:03:20 2012 +0200

    libcli/smb: add smbXcli_tcon structure
    
    Signed-off-by: Luk Claes <luk at debian.org>
    Signed-off-by: Stefan Metzmacher <metze at samba.org>

commit 20e4392b255b98c22e12b5dbe1727457b419fb28
Author: Stefan Metzmacher <metze at samba.org>
Date:   Mon Jul 23 20:38:33 2012 +0200

    s3:libsmb: make use of cli_state_[g|s]et_tid()
    
    metze

commit cc0d49063035030dff58d4a2cb9ca45f9316f173
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 24 08:56:02 2012 +0200

    s4:libcli/raw: parse extended SMBtconX responses
    
    metze

commit a6e5b98827c9a85a8e062ed9dba10e1205801135
Author: Stefan Metzmacher <metze at samba.org>
Date:   Tue Jul 24 08:54:02 2012 +0200

    s4:libcli/raw: fix SMBtconX response parsing
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 libcli/smb/smb1cli_trans.c        |   21 +++++---
 libcli/smb/smbXcli_base.c         |  107 ++++++++++++++++++++++++++++++++++--
 libcli/smb/smbXcli_base.h         |   29 +++++++++--
 source3/include/client.h          |    2 +-
 source3/libsmb/async_smb.c        |    4 +-
 source3/libsmb/cliconnect.c       |    7 ++-
 source3/libsmb/clientgen.c        |   16 ++++--
 source3/libsmb/clitrans.c         |    6 ++-
 source4/libcli/raw/clitransport.c |   13 +++--
 source4/libcli/raw/clitree.c      |   14 ++++-
 source4/libcli/raw/interfaces.h   |    2 +
 source4/libcli/raw/libcliraw.h    |    1 +
 source4/libcli/raw/rawrequest.c   |    2 +
 source4/libcli/raw/rawtrans.c     |   20 +++++--
 14 files changed, 200 insertions(+), 44 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libcli/smb/smb1cli_trans.c b/libcli/smb/smb1cli_trans.c
index ca0fdc1..cc4f7d3 100644
--- a/libcli/smb/smb1cli_trans.c
+++ b/libcli/smb/smb1cli_trans.c
@@ -39,7 +39,7 @@ struct smb1cli_trans_state {
 	uint32_t timeout_msec;
 	uint16_t mid;
 	uint32_t pid;
-	uint16_t tid;
+	struct smbXcli_tcon *tcon;
 	struct smbXcli_session *session;
 	const char *pipe_name;
 	uint8_t *pipe_name_conv;
@@ -415,7 +415,8 @@ struct tevent_req *smb1cli_trans_send(
 	uint8_t additional_flags, uint8_t clear_flags,
 	uint16_t additional_flags2, uint16_t clear_flags2,
 	uint32_t timeout_msec,
-	uint32_t pid, uint16_t tid,
+	uint32_t pid,
+	struct smbXcli_tcon *tcon,
 	struct smbXcli_session *session,
 	const char *pipe_name, uint16_t fid, uint16_t function, int flags,
 	uint16_t *setup, uint8_t num_setup, uint8_t max_setup,
@@ -470,7 +471,7 @@ struct tevent_req *smb1cli_trans_send(
 	state->num_rsetup = 0;
 	state->rsetup = NULL;
 	state->pid = pid;
-	state->tid = tid;
+	state->tcon = tcon;
 	state->session = session;
 	ZERO_STRUCT(state->rparam);
 	ZERO_STRUCT(state->rdata);
@@ -514,7 +515,8 @@ struct tevent_req *smb1cli_trans_send(
 				    state->additional_flags2,
 				    state->clear_flags2,
 				    state->timeout_msec,
-				    state->pid, state->tid,
+				    state->pid,
+				    state->tcon,
 				    state->session,
 				    wct, state->vwv,
 				    iov_count, state->iov);
@@ -646,7 +648,8 @@ static void smb1cli_trans_done(struct tevent_req *subreq)
 					     state->additional_flags2,
 					     state->clear_flags2,
 					     state->timeout_msec,
-					     state->pid, state->tid,
+					     state->pid,
+					     state->tcon,
 					     state->session,
 					     wct, state->vwv,
 					     iov_count, state->iov);
@@ -753,7 +756,8 @@ static void smb1cli_trans_done2(struct tevent_req *subreq2)
 					     state->additional_flags2,
 					     state->clear_flags2,
 					     state->timeout_msec,
-					     state->pid, state->tid,
+					     state->pid,
+					     state->tcon,
 					     state->session,
 					     wct, state->vwv,
 					     iov_count, state->iov);
@@ -844,7 +848,8 @@ NTSTATUS smb1cli_trans(TALLOC_CTX *mem_ctx, struct smbXcli_conn *conn,
 		uint8_t additional_flags, uint8_t clear_flags,
 		uint16_t additional_flags2, uint16_t clear_flags2,
 		uint32_t timeout_msec,
-		uint32_t pid, uint16_t tid,
+		uint32_t pid,
+		struct smbXcli_tcon *tcon,
 		struct smbXcli_session *session,
 		const char *pipe_name, uint16_t fid, uint16_t function,
 		int flags,
@@ -879,7 +884,7 @@ NTSTATUS smb1cli_trans(TALLOC_CTX *mem_ctx, struct smbXcli_conn *conn,
 				 additional_flags, clear_flags,
 				 additional_flags2, clear_flags2,
 				 timeout_msec,
-				 pid, tid, session,
+				 pid, tcon, session,
 				 pipe_name, fid, function, flags,
 				 setup, num_setup, max_setup,
 				 param, num_param, max_param,
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index c41890d..037c0dd 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -35,6 +35,7 @@
 struct smbXcli_conn;
 struct smbXcli_req;
 struct smbXcli_session;
+struct smbXcli_tcon;
 
 struct smbXcli_conn {
 	int read_fd;
@@ -150,10 +151,30 @@ struct smbXcli_session {
 	} smb2;
 };
 
+struct smbXcli_tcon {
+	struct {
+		uint16_t tcon_id;
+		uint16_t optional_support;
+		uint32_t maximal_access;
+		uint32_t guest_maximal_access;
+		char *service;
+		char *fs_type;
+	} smb1;
+
+	struct {
+		uint32_t tcon_id;
+		uint8_t type;
+		uint32_t flags;
+		uint32_t capabilities;
+		uint32_t maximal_access;
+	} smb2;
+};
+
 struct smbXcli_req_state {
 	struct tevent_context *ev;
 	struct smbXcli_conn *conn;
 	struct smbXcli_session *session; /* maybe NULL */
+	struct smbXcli_tcon *tcon; /* maybe NULL */
 
 	uint8_t length_hdr[4];
 
@@ -1094,7 +1115,6 @@ static bool smb1cli_req_cancel(struct tevent_req *req)
 	uint8_t flags;
 	uint16_t flags2;
 	uint32_t pid;
-	uint16_t tid;
 	uint16_t mid;
 	struct tevent_req *subreq;
 	NTSTATUS status;
@@ -1103,7 +1123,6 @@ static bool smb1cli_req_cancel(struct tevent_req *req)
 	flags2 = SVAL(state->smb1.hdr, HDR_FLG2);
 	pid  = SVAL(state->smb1.hdr, HDR_PID);
 	pid |= SVAL(state->smb1.hdr, HDR_PIDHIGH)<<16;
-	tid = SVAL(state->smb1.hdr, HDR_TID);
 	mid = SVAL(state->smb1.hdr, HDR_MID);
 
 	subreq = smb1cli_req_create(state, state->ev,
@@ -1112,7 +1131,8 @@ static bool smb1cli_req_cancel(struct tevent_req *req)
 				    flags, 0,
 				    flags2, 0,
 				    0, /* timeout */
-				    pid, tid,
+				    pid,
+				    state->tcon,
 				    state->session,
 				    0, NULL, /* vwv */
 				    0, NULL); /* bytes */
@@ -1149,7 +1169,7 @@ struct tevent_req *smb1cli_req_create(TALLOC_CTX *mem_ctx,
 				      uint16_t clear_flags2,
 				      uint32_t timeout_msec,
 				      uint32_t pid,
-				      uint16_t tid,
+				      struct smbXcli_tcon *tcon,
 				      struct smbXcli_session *session,
 				      uint8_t wct, uint16_t *vwv,
 				      int iov_count,
@@ -1160,6 +1180,7 @@ struct tevent_req *smb1cli_req_create(TALLOC_CTX *mem_ctx,
 	uint8_t flags = 0;
 	uint16_t flags2 = 0;
 	uint16_t uid = 0;
+	uint16_t tid = 0;
 
 	if (iov_count > MAX_SMB_IOV) {
 		/*
@@ -1176,11 +1197,16 @@ struct tevent_req *smb1cli_req_create(TALLOC_CTX *mem_ctx,
 	state->ev = ev;
 	state->conn = conn;
 	state->session = session;
+	state->tcon = tcon;
 
 	if (session) {
 		uid = session->smb1.session_id;
 	}
 
+	if (tcon) {
+		tid = tcon->smb1.tcon_id;
+	}
+
 	state->smb1.recv_cmd = 0xFF;
 	state->smb1.recv_status = NT_STATUS_INTERNAL_ERROR;
 	state->smb1.recv_iov = talloc_zero_array(state, struct iovec, 3);
@@ -1423,7 +1449,7 @@ struct tevent_req *smb1cli_req_send(TALLOC_CTX *mem_ctx,
 				    uint16_t clear_flags2,
 				    uint32_t timeout_msec,
 				    uint32_t pid,
-				    uint16_t tid,
+				    struct smbXcli_tcon *tcon,
 				    struct smbXcli_session *session,
 				    uint8_t wct, uint16_t *vwv,
 				    uint32_t num_bytes,
@@ -1440,7 +1466,7 @@ struct tevent_req *smb1cli_req_send(TALLOC_CTX *mem_ctx,
 				 additional_flags, clear_flags,
 				 additional_flags2, clear_flags2,
 				 timeout_msec,
-				 pid, tid, session,
+				 pid, tcon, session,
 				 wct, vwv, 1, &iov);
 	if (req == NULL) {
 		return NULL;
@@ -4535,3 +4561,72 @@ NTSTATUS smb2cli_session_set_channel_key(struct smbXcli_session *session,
 
 	return NT_STATUS_OK;
 }
+
+struct smbXcli_tcon *smbXcli_tcon_create(TALLOC_CTX *mem_ctx)
+{
+	struct smbXcli_tcon *tcon;
+
+	tcon = talloc_zero(mem_ctx, struct smbXcli_tcon);
+	if (tcon == NULL) {
+		return NULL;
+	}
+
+	return tcon;
+}
+
+uint16_t smb1cli_tcon_current_id(struct smbXcli_tcon *tcon)
+{
+	return tcon->smb1.tcon_id;
+}
+
+void smb1cli_tcon_set_id(struct smbXcli_tcon *tcon, uint16_t tcon_id)
+{
+	tcon->smb1.tcon_id = tcon_id;
+}
+
+bool smb1cli_tcon_set_values(struct smbXcli_tcon *tcon,
+			     uint16_t tcon_id,
+			     uint16_t optional_support,
+			     uint32_t maximal_access,
+			     uint32_t guest_maximal_access,
+			     const char *service,
+			     const char *fs_type)
+{
+	tcon->smb1.tcon_id = tcon_id;
+	tcon->smb1.optional_support = optional_support;
+	tcon->smb1.maximal_access = maximal_access;
+	tcon->smb1.guest_maximal_access = guest_maximal_access;
+
+	TALLOC_FREE(tcon->smb1.service);
+	tcon->smb1.service = talloc_strdup(tcon, service);
+	if (service != NULL && tcon->smb1.service == NULL) {
+		return false;
+	}
+
+	TALLOC_FREE(tcon->smb1.fs_type);
+	tcon->smb1.fs_type = talloc_strdup(tcon, fs_type);
+	if (fs_type != NULL && tcon->smb1.fs_type == NULL) {
+		return false;
+	}
+
+	return true;
+}
+
+uint32_t smb2cli_tcon_current_id(struct smbXcli_tcon *tcon)
+{
+	return tcon->smb2.tcon_id;
+}
+
+void smb2cli_tcon_set_values(struct smbXcli_tcon *tcon,
+			     uint32_t tcon_id,
+			     uint8_t type,
+			     uint32_t flags,
+			     uint32_t capabilities,
+			     uint32_t maximal_access)
+{
+	tcon->smb2.tcon_id = tcon_id;
+	tcon->smb2.type = type;
+	tcon->smb2.flags = flags;
+	tcon->smb2.capabilities = capabilities;
+	tcon->smb2.maximal_access = maximal_access;
+}
diff --git a/libcli/smb/smbXcli_base.h b/libcli/smb/smbXcli_base.h
index 9d4847c..a105c82 100644
--- a/libcli/smb/smbXcli_base.h
+++ b/libcli/smb/smbXcli_base.h
@@ -23,6 +23,7 @@
 
 struct smbXcli_conn;
 struct smbXcli_session;
+struct smbXcli_tcon;
 struct smb_trans_enc_state;
 struct GUID;
 
@@ -109,7 +110,7 @@ struct tevent_req *smb1cli_req_create(TALLOC_CTX *mem_ctx,
 				      uint16_t clear_flags2,
 				      uint32_t timeout_msec,
 				      uint32_t pid,
-				      uint16_t tid,
+				      struct smbXcli_tcon *tcon,
 				      struct smbXcli_session *session,
 				      uint8_t wct, uint16_t *vwv,
 				      int iov_count,
@@ -126,7 +127,7 @@ struct tevent_req *smb1cli_req_send(TALLOC_CTX *mem_ctx,
 				    uint16_t clear_flags2,
 				    uint32_t timeout_msec,
 				    uint32_t pid,
-				    uint16_t tid,
+				    struct smbXcli_tcon *tcon,
 				    struct smbXcli_session *session,
 				    uint8_t wct, uint16_t *vwv,
 				    uint32_t num_bytes,
@@ -151,7 +152,8 @@ struct tevent_req *smb1cli_trans_send(
 	uint8_t additional_flags, uint8_t clear_flags,
 	uint16_t additional_flags2, uint16_t clear_flags2,
 	uint32_t timeout_msec,
-	uint32_t pid, uint16_t tid,
+	uint32_t pid,
+	struct smbXcli_tcon *tcon,
 	struct smbXcli_session *session,
 	const char *pipe_name, uint16_t fid, uint16_t function, int flags,
 	uint16_t *setup, uint8_t num_setup, uint8_t max_setup,
@@ -170,7 +172,8 @@ NTSTATUS smb1cli_trans(TALLOC_CTX *mem_ctx, struct smbXcli_conn *conn,
 		uint8_t additional_flags, uint8_t clear_flags,
 		uint16_t additional_flags2, uint16_t clear_flags2,
 		uint32_t timeout_msec,
-		uint32_t pid, uint16_t tid,
+		uint32_t pid,
+		struct smbXcli_tcon *tcon,
 		struct smbXcli_session *session,
 		const char *pipe_name, uint16_t fid, uint16_t function,
 		int flags,
@@ -270,6 +273,24 @@ NTSTATUS smb2cli_session_set_channel_key(struct smbXcli_session *session,
 					 const DATA_BLOB channel_key,
 					 const struct iovec *recv_iov);
 
+struct smbXcli_tcon *smbXcli_tcon_create(TALLOC_CTX *mem_ctx);
+uint16_t smb1cli_tcon_current_id(struct smbXcli_tcon *tcon);
+void smb1cli_tcon_set_id(struct smbXcli_tcon *tcon, uint16_t tcon_id);
+bool smb1cli_tcon_set_values(struct smbXcli_tcon *tcon,
+			     uint16_t tcon_id,
+			     uint16_t optional_support,
+			     uint32_t maximal_access,
+			     uint32_t guest_maximal_access,
+			     const char *service,
+			     const char *fs_type);
+uint32_t smb2cli_tcon_current_id(struct smbXcli_tcon *tcon);
+void smb2cli_tcon_set_values(struct smbXcli_tcon *tcon,
+			     uint32_t tcon_id,
+			     uint8_t type,
+			     uint32_t flags,
+			     uint32_t capabilities,
+			     uint32_t maximal_access);
+
 struct tevent_req *smb2cli_session_setup_send(TALLOC_CTX *mem_ctx,
 				struct tevent_context *ev,
 				struct smbXcli_conn *conn,
diff --git a/source3/include/client.h b/source3/include/client.h
index b6e62a3..9617c2a 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -103,8 +103,8 @@ struct cli_state {
 	struct {
 		uint16_t pid;
 		uint16_t vc_num;
-		uint16_t tid;
 		struct smbXcli_session *session;
+		struct smbXcli_tcon *tcon;
 	} smb1;
 
 	struct {
diff --git a/source3/libsmb/async_smb.c b/source3/libsmb/async_smb.c
index a82b0ce..ed68a5d 100644
--- a/source3/libsmb/async_smb.c
+++ b/source3/libsmb/async_smb.c
@@ -92,7 +92,7 @@ struct tevent_req *cli_smb_req_create(TALLOC_CTX *mem_ctx,
 					additional_flags2, clear_flags2,
 					cli->timeout,
 					cli->smb1.pid,
-					cli->smb1.tid,
+					cli->smb1.tcon,
 					cli->smb1.session,
 					wct, vwv, iov_count, bytes_iov);
 	if (state->req == NULL) {
@@ -150,7 +150,7 @@ struct tevent_req *cli_smb_send(TALLOC_CTX *mem_ctx,
 				additional_flags2, clear_flags2,
 				cli->timeout,
 				cli->smb1.pid,
-				cli->smb1.tid,
+				cli->smb1.tcon,
 				cli->smb1.session,
 				wct, vwv, num_bytes, bytes);
 	if (state->req == NULL) {
diff --git a/source3/libsmb/cliconnect.c b/source3/libsmb/cliconnect.c
index acc3a21..17b5af6 100644
--- a/source3/libsmb/cliconnect.c
+++ b/source3/libsmb/cliconnect.c
@@ -2469,7 +2469,7 @@ static void cli_tcon_andx_done(struct tevent_req *subreq)
 		cli->dfsroot = ((SVAL(vwv+2, 0) & SMB_SHARE_IN_DFS) != 0);
 	}
 
-	cli->smb1.tid = SVAL(inhdr, HDR_TID);
+	cli_state_set_tid(cli, SVAL(inhdr, HDR_TID));
 	tevent_req_done(req);
 }
 
@@ -2541,7 +2541,8 @@ NTSTATUS cli_tree_connect(struct cli_state *cli, const char *share,
 	if (!NT_STATUS_IS_OK(status)) {
 		return status;
 	}
-	cli->smb1.tid = tid;
+
+	cli_state_set_tid(cli, tid);
 
 	return NT_STATUS_OK;
 }
@@ -2591,7 +2592,7 @@ static void cli_tdis_done(struct tevent_req *subreq)
 		tevent_req_nterror(req, status);
 		return;
 	}
-	state->cli->smb1.tid = UINT16_MAX;
+	cli_state_set_tid(state->cli, UINT16_MAX);
 	tevent_req_done(req);
 }
 
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 88cb44d..ae0350b 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -271,7 +271,11 @@ struct cli_state *cli_state_create(TALLOC_CTX *mem_ctx,
 
 	cli->smb1.pid = (uint16_t)getpid();
 	cli->smb1.vc_num = cli->smb1.pid;
-	cli->smb1.tid = UINT16_MAX;
+	cli->smb1.tcon = smbXcli_tcon_create(cli);
+	if (cli->smb1.tcon == NULL) {
+		goto error;
+	}
+	smb1cli_tcon_set_id(cli->smb1.tcon, UINT16_MAX);
 	cli->smb1.session = smbXcli_session_create(cli, cli->conn);
 	if (cli->smb1.session == NULL) {
 		goto error;
@@ -383,7 +387,9 @@ uint16_t cli_getpid(struct cli_state *cli)
 
 bool cli_state_has_tcon(struct cli_state *cli)
 {
-	if (cli->smb1.tid == UINT16_MAX) {
+	uint16_t tid = cli_state_get_tid(cli);
+
+	if (tid == UINT16_MAX) {
 		return false;
 	}
 
@@ -392,13 +398,13 @@ bool cli_state_has_tcon(struct cli_state *cli)
 
 uint16_t cli_state_get_tid(struct cli_state *cli)
 {
-	return cli->smb1.tid;
+	return smb1cli_tcon_current_id(cli->smb1.tcon);
 }
 
 uint16_t cli_state_set_tid(struct cli_state *cli, uint16_t tid)
 {
-	uint16_t ret = cli->smb1.tid;
-	cli->smb1.tid = tid;
+	uint16_t ret = smb1cli_tcon_current_id(cli->smb1.tcon);
+	smb1cli_tcon_set_id(cli->smb1.tcon, tid);
 	return ret;
 }
 
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index 5a27678..08fda5f 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -89,7 +89,8 @@ struct tevent_req *cli_trans_send(
 					additional_flags, clear_flags,
 					additional_flags2, clear_flags2,
 					cli->timeout,
-					cli->smb1.pid, cli->smb1.tid,
+					cli->smb1.pid,
+					cli->smb1.tcon,
 					cli->smb1.session,
 					pipe_name, fid, function, flags,
 					setup, num_setup, max_setup,
@@ -184,7 +185,8 @@ NTSTATUS cli_trans(TALLOC_CTX *mem_ctx, struct cli_state *cli,
 			       additional_flags, clear_flags,
 			       additional_flags2, clear_flags2,
 			       cli->timeout,
-			       cli->smb1.pid, cli->smb1.tid,
+			       cli->smb1.pid,
+			       cli->smb1.tcon,
 			       cli->smb1.session,
 			       pipe_name, fid, function, flags,
 			       setup, num_setup, max_setup,
diff --git a/source4/libcli/raw/clitransport.c b/source4/libcli/raw/clitransport.c
index 321df76..f9d96b5 100644
--- a/source4/libcli/raw/clitransport.c
+++ b/source4/libcli/raw/clitransport.c
@@ -213,7 +213,7 @@ struct tevent_req *smbcli_transport_setup_subreq(struct smbcli_request *req)
 	uint16_t additional_flags2;
 	uint16_t clear_flags2;
 	uint32_t pid;
-	uint16_t tid;
+	struct smbXcli_tcon *tcon = NULL;
 	struct smbXcli_session *session = NULL;
 	uint32_t timeout_msec = transport->options.request_timeout * 1000;
 	struct iovec *bytes_iov = NULL;


-- 
Samba Shared Repository


More information about the samba-cvs mailing list