Skip to content

Commit

Permalink
[CIFS] Mount should fail if server signing off but client mount optio…
Browse files Browse the repository at this point in the history
…n requires it

Currently, if mount with a signing-enabled sec= option (e.g.
sec=ntlmi), the kernel does a warning printk if the server doesn't
support signing, and then proceeds without signatures.

This is probably OK for people that think to look at the ring buffer,
but seems wrong to me. If someone explicitly requests signing, we
should error out if that request can't be satisfied. They can then
reattempt the mount without signing if that's ok.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
  • Loading branch information
Jeff authored and Steve French committed Jul 6, 2007
1 parent d38d8c7 commit 38c10a1
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
1 change: 1 addition & 0 deletions fs/cifs/CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ to match what documentation said. Support for very large reads, over 127K,
available to some newer servers (such as Samba 3.0.26 and later but
note that it also requires setting CIFSMaxBufSize at module install
time to a larger value which may hurt performance in some cases).
Make sign option force signing (or fail if server does not support it).

Version 1.48
------------
Expand Down
3 changes: 2 additions & 1 deletion fs/cifs/cifssmb.c
Original file line number Diff line number Diff line change
Expand Up @@ -645,11 +645,12 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
~(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED);
} else if ((secFlags & CIFSSEC_MUST_SIGN) == CIFSSEC_MUST_SIGN) {
/* signing required */
cFYI(1, ("Must sign - segFlags 0x%x", secFlags));
cFYI(1, ("Must sign - secFlags 0x%x", secFlags));
if ((server->secMode &
(SECMODE_SIGN_ENABLED | SECMODE_SIGN_REQUIRED)) == 0) {
cERROR(1,
("signing required but server lacks support"));
rc = -EOPNOTSUPP;
} else
server->secMode |= SECMODE_SIGN_REQUIRED;
} else {
Expand Down

0 comments on commit 38c10a1

Please sign in to comment.