summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/smb2_server.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index d878bd2a9b..6156370c25 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -36,6 +36,7 @@ static const struct smbd_smb2_dispatch_table {
uint16_t opcode;
const char *name;
bool need_session;
+ bool need_tcon;
} smbd_smb2_table[] = {
#define _OP(o) .opcode = o, .name = #o
{
@@ -51,27 +52,35 @@ static const struct smbd_smb2_dispatch_table {
},{
_OP(SMB2_OP_TDIS),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_CREATE),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_CLOSE),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_FLUSH),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_READ),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_WRITE),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_LOCK),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_IOCTL),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_CANCEL),
},{
@@ -79,18 +88,23 @@ static const struct smbd_smb2_dispatch_table {
},{
_OP(SMB2_OP_FIND),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_NOTIFY),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_GETINFO),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_SETINFO),
.need_session = true,
+ .need_tcon = true,
},{
_OP(SMB2_OP_BREAK),
.need_session = true,
+ .need_tcon = true,
}
};