linux-stable/fs/ksmbd
Namjae Jeon 0a8347db70 ksmbd: fix guest connection failure with nautilus
commit ac090d9c90 upstream.

MS-SMB2 describe session sign like the following.
Session.SigningRequired MUST be set to TRUE under the following conditions:
 - If the SMB2_NEGOTIATE_SIGNING_REQUIRED bit is set in the SecurityMode
   field of the client request.
 - If the SMB2_SESSION_FLAG_IS_GUEST bit is not set in the SessionFlags
   field and Session.IsAnonymous is FALSE and either Connection.ShouldSign
   or global RequireMessageSigning is TRUE.

When trying guest account connection using nautilus, The login failure
happened on session setup. ksmbd does not allow this connection
when the user is a guest and the connection sign is set. Just do not set
session sign instead of error response as described in the specification.
And this change improves the guest connection in Nautilus.

Fixes: e2f34481b2 ("cifsd: add server-side procedures for SMB3")
Cc: stable@vger.kernel.org # v5.15+
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-01-27 11:02:52 +01:00
..
mgmt ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
asn1.c
asn1.h
auth.c ksmbd: add buffer validation in session setup 2021-10-20 00:07:10 -05:00
auth.h
connection.c ksmbd: improve credits management 2021-10-13 23:37:19 -05:00
connection.h ksmbd: add support for negotiating signing algorithm 2021-07-22 09:56:02 +09:00
crypto_ctx.c ksmbd: remove NTLMv1 authentication 2021-09-29 16:17:34 -05:00
crypto_ctx.h ksmbd: remove NTLMv1 authentication 2021-09-29 16:17:34 -05:00
glob.h ksmbd: fix version mismatch with out of tree 2021-10-07 10:18:34 -05:00
Kconfig ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION 2021-11-18 19:16:07 +01:00
ksmbd_netlink.h ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
ksmbd_spnego_negtokeninit.asn1
ksmbd_spnego_negtokentarg.asn1
ksmbd_work.c ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00
ksmbd_work.h ksmbd: change data type of volatile/persistent id to u64 2021-07-09 08:23:16 +09:00
Makefile
misc.c ksmbd: missing check for NULL in convert_to_nt_pathname() 2021-09-30 20:00:05 -05:00
misc.h ksmbd: use LOOKUP_BENEATH to prevent the out of share access 2021-09-24 21:25:23 -05:00
ndr.c ksmbd: fix error code in ndr_read_int32() 2021-12-29 12:28:57 +01:00
ndr.h ksmbd: add user namespace support 2021-07-02 16:27:10 +09:00
nterr.h
ntlmssp.h
oplock.c ksmbd: add buffer validation for SMB2_CREATE_CONTEXT 2021-09-30 09:58:07 -05:00
oplock.h ksmbd: remove SMB1 oplock level macros 2021-06-30 14:43:51 +09:00
server.c ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION 2021-11-18 19:16:07 +01:00
server.h ksmbd: change server config string index to enumeration 2021-06-30 14:44:01 +09:00
smb2misc.c ksmbd: don't need 8byte alignment for request length in ksmbd_check_message 2021-11-18 19:17:15 +01:00
smb2ops.c ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 2021-12-29 12:28:57 +01:00
smb2pdu.c ksmbd: fix guest connection failure with nautilus 2022-01-27 11:02:52 +01:00
smb2pdu.h ksmbd: limit read/write/trans buffer size not to exceed 8MB 2021-10-15 09:18:29 -05:00
smb_common.c ksmbd: remove the leftover of smb2.0 dialect support 2021-10-07 10:18:27 -05:00
smb_common.h ksmbd: add the check to vaildate if stream protocol length exceeds maximum value 2021-10-06 00:23:00 -05:00
smbacl.c ksmbd: add buffer validation for SMB2_CREATE_CONTEXT 2021-09-30 09:58:07 -05:00
smbacl.h ksmbd: fix translation in acl entries 2021-09-03 23:29:44 -05:00
smbfsctl.h
smbstatus.h
transport_ipc.c ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
transport_ipc.h ksmbd: throttle session setup failures to avoid dictionary attacks 2021-10-20 00:07:10 -05:00
transport_rdma.c ksmbd: add buffer validation for smb direct 2021-10-15 09:18:29 -05:00
transport_rdma.h ksmbd: fix typo of MS-SMBD 2021-07-22 09:55:58 +09:00
transport_tcp.c ksmbd: uninitialized variable in create_socket() 2022-01-27 11:02:52 +01:00
transport_tcp.h
unicode.c
unicode.h
uniupr.h
vfs.c ksmbd: add validation in smb2_ioctl 2021-10-13 23:37:18 -05:00
vfs.h ksmbd: add validation in smb2_ioctl 2021-10-13 23:37:18 -05:00
vfs_cache.c ksmbd: remove unused ksmbd_file_table_flush function 2021-09-03 23:29:45 -05:00
vfs_cache.h ksmbd: remove unused ksmbd_file_table_flush function 2021-09-03 23:29:45 -05:00
xattr.h ksmbd: reorder and document on-disk and netlink structures in headers 2021-06-30 14:47:24 +09:00