summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2006-06-04 22:21:07 (GMT)
committerSteve French <sfrench@us.ibm.com>2006-06-04 22:21:07 (GMT)
commit9312f6754d4b2d3ce27c21b16fb92923ce92a411 (patch)
tree7d4edbc90495ec52bfd568064a4a46e8309b3c7d
parent254e55ed03e2e8d23089b4a468eec2fd2e1ead9b (diff)
downloadlinux-9312f6754d4b2d3ce27c21b16fb92923ce92a411.tar.xz
[CIFS] Fix mask so can set new cifs security flags properly
Signed-off-by: Steve French <sfrench@us.ibm.com>
-rw-r--r--fs/cifs/cifs_debug.c6
-rw-r--r--fs/cifs/cifssmb.c2
-rw-r--r--fs/cifs/sess.c5
3 files changed, 6 insertions, 7 deletions
diff --git a/fs/cifs/cifs_debug.c b/fs/cifs/cifs_debug.c
index 7c0015a..2f55edf 100644
--- a/fs/cifs/cifs_debug.c
+++ b/fs/cifs/cifs_debug.c
@@ -860,8 +860,6 @@ security_flags_write(struct file *file, const char __user *buffer,
char flags_string[12];
char c;
- cERROR(1,("size %ld",count)); /* BB removeme BB */
-
if((count < 1) || (count > 11))
return -EINVAL;
@@ -883,14 +881,14 @@ security_flags_write(struct file *file, const char __user *buffer,
flags = simple_strtoul(flags_string, NULL, 0);
- cERROR(1,("sec flags 0x%x", flags)); /* BB FIXME make cFYI */
+ cFYI(1,("sec flags 0x%x", flags));
if(flags <= 0) {
cERROR(1,("invalid security flags %s",flags_string));
return -EINVAL;
}
- if((flags & CIFSSEC_MASK) != CIFSSEC_MASK) {
+ if(flags & ~CIFSSEC_MASK) {
cERROR(1,("attempt to set unsupported security flags 0x%d",
flags & ~CIFSSEC_MASK));
return -EINVAL;
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 0442c3b..acae583 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -504,7 +504,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifsSesInfo *ses)
#endif /* CIFS_WEAK_PW_HASH */
cERROR(1,("Server requests plain text password"
" but client support disabled"));
-
+
if(extended_security & CIFSSEC_MUST_NTLMV2)
server->secType = NTLMv2;
else
diff --git a/fs/cifs/sess.c b/fs/cifs/sess.c
index 76a09f5..1fe9461 100644
--- a/fs/cifs/sess.c
+++ b/fs/cifs/sess.c
@@ -339,9 +339,10 @@ CIFS_SessSetup(unsigned int xid, struct cifsSesInfo *ses, int first_time,
return -EOPNOTSUPP;
#endif
wct = 10; /* lanman 2 style sessionsetup */
- } else if((type == NTLM) || (type == NTLMv2)) /* NTLMv2 may retry NTLM */
+ } else if((type == NTLM) || (type == NTLMv2)) {
+ /* For NTLMv2 failures eventually may need to retry NTLM */
wct = 13; /* old style NTLM sessionsetup */
- else /* same size for negotiate or auth, NTLMSSP or extended security */
+ } else /* same size for negotiate or auth, NTLMSSP or extended security */
wct = 12;
rc = small_smb_init_no_tc(SMB_COM_SESSION_SETUP_ANDX, wct, ses,