smb3.1.1: do not fail if no encryption required but server doesn't support it
authorSteve French <stfrench@microsoft.com>
Sat, 17 Oct 2020 08:54:27 +0000 (03:54 -0500)
committerSteve French <stfrench@microsoft.com>
Tue, 20 Oct 2020 07:15:56 +0000 (02:15 -0500)
commitacf96fef46f271642b90aa658ba49e33ae34ddf0
tree909ae2dba297852bf40186848622a6a91d86c2bf
parent0bd294b55a5de442370c29fa53bab17aef3ff318
smb3.1.1: do not fail if no encryption required but server doesn't support it

There are cases where the server can return a cipher type of 0 and
it not be an error. For example server supported no encryption types
(e.g. server completely disabled encryption), or the server and
client didn't support any encryption types in common (e.g. if a
server only supported AES256_CCM). In those cases encryption would
not be supported, but that can be ok if the client did not require
encryption on mount and it should not return an error.

In the case in which mount requested encryption ("seal" on mount)
then checks later on during tree connection will return the proper
rc, but if seal was not requested by client, since server is allowed
to return 0 to indicate no supported cipher, we should not fail mount.

Reported-by: Pavel Shilovsky <pshilov@microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov@microsoft.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/smb2pdu.c