[CIFS] Return better error when server requires signing but client forbids

Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
Steve French 2007-10-18 02:58:40 +00:00
parent d628ddb62d
commit abb63d6c3d
2 changed files with 5 additions and 2 deletions

View file

@ -11,7 +11,8 @@ connect fails (e.g. due to signing negotiation failure) fix
leak that causes cifsd not to stop and rmmod to fail to cleanup leak that causes cifsd not to stop and rmmod to fail to cleanup
cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on cifs_request_buffers pool. Fix problem with POSIX Open/Mkdir on
bigendian architectures. Fix possible memory corruption when bigendian architectures. Fix possible memory corruption when
EAGAIN returned on kern_recvmsg. EAGAIN returned on kern_recvmsg. Return better error if server
requires packet signing but client has disabled it.
Version 1.50 Version 1.50
------------ ------------

View file

@ -663,10 +663,12 @@ signing_check:
/* MUST_SIGN already includes the MAY_SIGN FLAG /* MUST_SIGN already includes the MAY_SIGN FLAG
so if this is zero it means that signing is disabled */ so if this is zero it means that signing is disabled */
cFYI(1, ("Signing disabled")); cFYI(1, ("Signing disabled"));
if (server->secMode & SECMODE_SIGN_REQUIRED) if (server->secMode & SECMODE_SIGN_REQUIRED) {
cERROR(1, ("Server requires " cERROR(1, ("Server requires "
"packet signing to be enabled in " "packet signing to be enabled in "
"/proc/fs/cifs/SecurityFlags.")); "/proc/fs/cifs/SecurityFlags."));
rc = -EOPNOTSUPP;
}
server->secMode &= server->secMode &=
~(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED); ~(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED);
} else if ((secFlags & CIFSSEC_MUST_SIGN) == CIFSSEC_MUST_SIGN) { } else if ((secFlags & CIFSSEC_MUST_SIGN) == CIFSSEC_MUST_SIGN) {