[CIFS] Allow null user connections
authorSteve French <sfrench@us.ibm.com>
Mon, 30 Oct 2006 21:46:13 +0000 (21:46 +0000)
committerSteve French <sfrench@us.ibm.com>
Mon, 30 Oct 2006 21:46:13 +0000 (21:46 +0000)
Some servers are configured to only allow null user mounts for
guest access.  Allow nul user (anonymous) mounts e.g.
mount -t cifs //server/share /mnt -o username=

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/CHANGES
fs/cifs/connect.c

index 1eb9a2ec0a3b279a80d01baba7b87ca6d8d33705..50afab81a59b74e285f828472afab8dec8679d09 100644 (file)
@@ -1,6 +1,9 @@
 Version 1.46
 ------------
 Support deep tree mounts.  Better support OS/2, Win9x (DOS) time stamps.
+Allow null user to be specified on mount ("username="). Do not return
+EINVAL on readdir when filldir fails due to overwritten blocksize
+(fixes FC problem)
 
 Version 1.45
 ------------
index 4093d53329306bfc74c0487e06c09d434d7043a6..71f77914ce9334e3134c3400385e62b92efd8e96 100644 (file)
@@ -822,10 +822,13 @@ cifs_parse_mount_options(char *options, const char *devname,struct smb_vol *vol)
                } else if (strnicmp(data, "nouser_xattr",12) == 0) {
                        vol->no_xattr = 1;
                } else if (strnicmp(data, "user", 4) == 0) {
-                       if (!value || !*value) {
+                       if (!value) {
                                printk(KERN_WARNING
                                       "CIFS: invalid or missing username\n");
                                return 1;       /* needs_arg; */
+                       } else if(!*value) {
+                               /* null user, ie anonymous, authentication */
+                               vol->nullauth = 1;
                        }
                        if (strnlen(value, 200) < 200) {
                                vol->username = value;
@@ -1642,6 +1645,8 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb,
                /* BB fixme parse for domain name here */
                cFYI(1, ("Username: %s ", volume_info.username));
 
+       } else if (volume_info.nullauth) {
+               cFYI(1,("null user"));
        } else {
                cifserror("No username specified");
         /* In userspace mount helper we can get user name from alternate