Maximum password length check too short in mount.cifs
authorSteve French <smfrench@gmail.com>
Thu, 14 May 2009 20:04:27 +0000 (15:04 -0500)
committerSteve French <smfrench@gmail.com>
Thu, 14 May 2009 20:04:27 +0000 (15:04 -0500)
    Windows allows up to 127 byte passwords, and we using a 64 byte limit
    in most places and a 16 byte limit when using the "pass=" mount option

Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
source3/client/mount.cifs.c

index 0c551cce7556932f6e00f9c48299697fb7563cd6..a5d99dc3d918dc53c17b48f6463efb998b70a128 100644 (file)
@@ -77,7 +77,7 @@
 #define SAFE_FREE(x) do { if ((x) != NULL) {free(x); x=NULL;} } while(0)
 #endif
 
-#define MOUNT_PASSWD_SIZE 64
+#define MOUNT_PASSWD_SIZE 128
 #define DOMAIN_SIZE 64
 
 /* currently maximum length of IPv6 address string */
@@ -473,7 +473,7 @@ static int parse_options(char ** optionsp, int * filesys_flags)
                                        printf("\npassword specified twice, ignoring second\n");
                                } else
                                        got_password = 1;
-                       } else if (strnlen(value, 17) < 17) {
+                       } else if (strnlen(value, MOUNT_PASSWD_SIZE) < MOUNT_PASSWD_SIZE) {
                                if(got_password)
                                        printf("\nmount.cifs warning - password specified twice\n");
                                got_password = 1;