diff options
author | Jeremy Allison <jra@samba.org> | 2017-06-13 16:36:54 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2017-06-17 06:39:20 +0200 |
commit | c9178ed9cc69b9089292db28ac1a0b7a0519bc2c (patch) | |
tree | eb67b30841a1328a1ba4076e9b8bb4ca440252ce /source3/libsmb | |
parent | 93fa0c8660e47cb2605d70dac1156576ab719d64 (diff) | |
download | samba-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.c | 22 |
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; } |