summaryrefslogtreecommitdiff
path: root/source3/libsmb
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2017-06-13 16:36:54 -0700
committerJeremy Allison <jra@samba.org>2017-06-17 06:39:20 +0200
commitc9178ed9cc69b9089292db28ac1a0b7a0519bc2c (patch)
treeeb67b30841a1328a1ba4076e9b8bb4ca440252ce /source3/libsmb
parent93fa0c8660e47cb2605d70dac1156576ab719d64 (diff)
downloadsamba-c9178ed9cc69b9089292db28ac1a0b7a0519bc2c.tar.gz
s3: libsmb: Fix cli_state_has_tcon() to cope with SMB2 connections.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12831 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com>
Diffstat (limited to 'source3/libsmb')
-rw-r--r--source3/libsmb/clientgen.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index 25f72991956..4541763ea3f 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -341,12 +341,24 @@ uint32_t cli_getpid(struct cli_state *cli)
bool cli_state_has_tcon(struct cli_state *cli)
{
- uint32_t tid = cli_state_get_tid(cli);
-
- if (tid == UINT16_MAX) {
- return false;
+ uint32_t tid;
+ if (smbXcli_conn_protocol(cli->conn) >= PROTOCOL_SMB2_02) {
+ if (cli->smb2.tcon == NULL) {
+ return false;
+ }
+ tid = cli_state_get_tid(cli);
+ if (tid == UINT32_MAX) {
+ return false;
+ }
+ } else {
+ if (cli->smb1.tcon == NULL) {
+ return false;
+ }
+ tid = cli_state_get_tid(cli);
+ if (tid == UINT16_MAX) {
+ return false;
+ }
}
-
return true;
}