[CIFS] Allow null user connections
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>
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
Version 1.46
|
Version 1.46
|
||||||
------------
|
------------
|
||||||
Support deep tree mounts. Better support OS/2, Win9x (DOS) time stamps.
|
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
|
Version 1.45
|
||||||
------------
|
------------
|
||||||
|
@@ -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) {
|
} else if (strnicmp(data, "nouser_xattr",12) == 0) {
|
||||||
vol->no_xattr = 1;
|
vol->no_xattr = 1;
|
||||||
} else if (strnicmp(data, "user", 4) == 0) {
|
} else if (strnicmp(data, "user", 4) == 0) {
|
||||||
if (!value || !*value) {
|
if (!value) {
|
||||||
printk(KERN_WARNING
|
printk(KERN_WARNING
|
||||||
"CIFS: invalid or missing username\n");
|
"CIFS: invalid or missing username\n");
|
||||||
return 1; /* needs_arg; */
|
return 1; /* needs_arg; */
|
||||||
|
} else if(!*value) {
|
||||||
|
/* null user, ie anonymous, authentication */
|
||||||
|
vol->nullauth = 1;
|
||||||
}
|
}
|
||||||
if (strnlen(value, 200) < 200) {
|
if (strnlen(value, 200) < 200) {
|
||||||
vol->username = value;
|
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 */
|
/* BB fixme parse for domain name here */
|
||||||
cFYI(1, ("Username: %s ", volume_info.username));
|
cFYI(1, ("Username: %s ", volume_info.username));
|
||||||
|
|
||||||
|
} else if (volume_info.nullauth) {
|
||||||
|
cFYI(1,("null user"));
|
||||||
} else {
|
} else {
|
||||||
cifserror("No username specified");
|
cifserror("No username specified");
|
||||||
/* In userspace mount helper we can get user name from alternate
|
/* In userspace mount helper we can get user name from alternate
|
||||||
|
Reference in New Issue
Block a user