Procházet zdrojové kódy

[CIFS] Fix mask so can set new cifs security flags properly

Signed-off-by: Steve French <sfrench@us.ibm.com>
Steve French před 19 roky
rodič
revize
9312f6754d
3 změnil soubory, kde provedl 6 přidání a 7 odebrání
  1. 2 4
      fs/cifs/cifs_debug.c
  2. 1 1
      fs/cifs/cifssmb.c
  3. 3 2
      fs/cifs/sess.c

+ 2 - 4
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;

+ 1 - 1
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

+ 3 - 2
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,