Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8426c39c1289765a11fc9b9523212ed368ceebd8
Commit:     8426c39c1289765a11fc9b9523212ed368ceebd8
Parent:     796e5661f6b6be1600b3ab47c61ce61cf3e7a353
Author:     Jeff Layton <[EMAIL PROTECTED]>
AuthorDate: Sat May 5 03:27:49 2007 +0000
Committer:  Steve French <[EMAIL PROTECTED]>
CommitDate: Sat May 5 03:27:49 2007 +0000

    [CIFS] Make sec=none force an anonymous mount
    
    We had a customer report that attempting to make CIFS mount with a null
    username (i.e. doing an anonymous mount) doesn't work. Looking through the
    code, it looks like CIFS expects a NULL username from userspace in order
    to trigger an anonymous mount. The mount.cifs code doesn't seem to ever
    pass a null username to the kernel, however.
    
    It looks also like the kernel can take a sec=none option, but it only seems
    to look at it if the username is already NULL. This seems redundant and
    effectively makes sec=none useless.
    
    The following patch makes sec=none force an anonymous mount.
    
    Signed-off-by: Steve French <[EMAIL PROTECTED]>
---
 fs/cifs/CHANGES   |    4 +++-
 fs/cifs/README    |   20 +++++++++++++++++---
 fs/cifs/connect.c |    8 ++++----
 3 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES
index 62dcf63..a9b6bc5 100644
--- a/fs/cifs/CHANGES
+++ b/fs/cifs/CHANGES
@@ -6,7 +6,9 @@ handle DNS host to ipv6 name translation).  Accept override of 
uid or gid
 on mount even when Unix Extensions are negotiated (it used to be ignored
 when Unix Extensions were ignored).  This allows users to override the
 default uid and gid for files when they are certain that the uids or
-gids on the server do not match those of the client.
+gids on the server do not match those of the client.  Make "sec=none"
+mount override username (so that null user connection is attempted)
+to match what documentation said.
 
 Version 1.48
 ------------
diff --git a/fs/cifs/README b/fs/cifs/README
index 93fe359..80fcfb8 100644
--- a/fs/cifs/README
+++ b/fs/cifs/README
@@ -472,7 +472,7 @@ including:
        -V      print mount.cifs version
        -?      display simple usage information
 
-With recent 2.6 kernel versions of modutils, the version of the cifs kernel
+With most 2.6 kernel versions of modutils, the version of the cifs kernel
 module can be displayed via modinfo.
 
 Misc /proc/fs/cifs Flags and Debug Info
@@ -521,8 +521,22 @@ SecurityFlags              Flags which control security 
negotiation and
                        must use plaintext passwords                    0x20020
                        (reserved for future packet encryption)         0x00040
 
-cifsFYI                        If set to one, additional debug information is
-                       logged to the system error log. (default 0)
+cifsFYI                        If set to non-zero value, additional debug 
information
+                       will be logged to the system error log.  This field
+                       contains three flags controlling different classes of
+                       debugging entries.  The maximum value it can be set
+                       to is 7 which enables all debugging points (default 0).
+                       Some debugging statements are not compiled into the
+                       cifs kernel unless CONFIG_CIFS_DEBUG2 is enabled in the
+                       kernel configuration. cifsFYI may be set to one or
+                       nore of the following flags (7 sets them all):
+
+                       log cifs informational messages                 0x01
+                       log return codes from cifs entry points         0x02
+                       log slow responses (ie which take longer than one 
second)
+                         CONFIG_CIFS_STATS2 must be enabled in .config 0x03
+                               
+                               
 traceSMB               If set to one, debug information is logged to the
                        system error log with the start of smb requests
                        and responses (default 0)
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index cf40e24..216fb62 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -1721,12 +1721,12 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info 
*cifs_sb,
                return -EINVAL;
        }
 
-       if (volume_info.username) {
+       if (volume_info.nullauth) {
+               cFYI(1,("null user"));
+               volume_info.username = NULL;
+       } else if (volume_info.username) {
                /* 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
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to