summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/smb2_server.c')
-rw-r--r--source3/smbd/smb2_server.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c
index 8972892850..d878bd2a9b 100644
--- a/source3/smbd/smb2_server.c
+++ b/source3/smbd/smb2_server.c
@@ -35,6 +35,7 @@
static const struct smbd_smb2_dispatch_table {
uint16_t opcode;
const char *name;
+ bool need_session;
} smbd_smb2_table[] = {
#define _OP(o) .opcode = o, .name = #o
{
@@ -43,38 +44,53 @@ static const struct smbd_smb2_dispatch_table {
_OP(SMB2_OP_SESSSETUP),
},{
_OP(SMB2_OP_LOGOFF),
+ .need_session = true,
},{
_OP(SMB2_OP_TCON),
+ .need_session = true,
},{
_OP(SMB2_OP_TDIS),
+ .need_session = true,
},{
_OP(SMB2_OP_CREATE),
+ .need_session = true,
},{
_OP(SMB2_OP_CLOSE),
+ .need_session = true,
},{
_OP(SMB2_OP_FLUSH),
+ .need_session = true,
},{
_OP(SMB2_OP_READ),
+ .need_session = true,
},{
_OP(SMB2_OP_WRITE),
+ .need_session = true,
},{
_OP(SMB2_OP_LOCK),
+ .need_session = true,
},{
_OP(SMB2_OP_IOCTL),
+ .need_session = true,
},{
_OP(SMB2_OP_CANCEL),
},{
_OP(SMB2_OP_KEEPALIVE),
},{
_OP(SMB2_OP_FIND),
+ .need_session = true,
},{
_OP(SMB2_OP_NOTIFY),
+ .need_session = true,
},{
_OP(SMB2_OP_GETINFO),
+ .need_session = true,
},{
_OP(SMB2_OP_SETINFO),
+ .need_session = true,
},{
_OP(SMB2_OP_BREAK),
+ .need_session = true,
}
};