Author: jra
Date: 2005-09-20 20:20:51 +0000 (Tue, 20 Sep 2005)
New Revision: 10359

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=10359

Log:
Ensure that smb.conf requests for hidden files are honored, even
when DOS attributes are stored in EA's.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/dosmode.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/dosmode.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/dosmode.c    2005-09-20 19:40:03 UTC (rev 
10358)
+++ branches/SAMBA_3_0/source/smbd/dosmode.c    2005-09-20 20:20:51 UTC (rev 
10359)
@@ -297,27 +297,28 @@
                return 0;
        }
 
-       /* Get the DOS attributes from an EA by preference. */
-       if (get_ea_dos_attribute(conn, path, sbuf, &result)) {
-               result |= set_sparse_flag(sbuf);
-               return result;
-       }
-
-       result = dos_mode_from_sbuf(conn, path, sbuf);
-
-       /* Now do any modifications that depend on the path name. */
+       /* First do any modifications that depend on the path name. */
        /* hide files with a name starting with a . */
        if (lp_hide_dot_files(SNUM(conn))) {
                const char *p = strrchr_m(path,'/');
-               if (p)
+               if (p) {
                        p++;
-               else
+               } else {
                        p = path;
+               }
                
-               if (p[0] == '.' && p[1] != '.' && p[1] != 0)
+               if (p[0] == '.' && p[1] != '.' && p[1] != 0) {
                        result |= aHIDDEN;
+               }
        }
        
+       /* Get the DOS attributes from an EA by preference. */
+       if (get_ea_dos_attribute(conn, path, sbuf, &result)) {
+               result |= set_sparse_flag(sbuf);
+       } else {
+               result |= dos_mode_from_sbuf(conn, path, sbuf);
+       }
+
        /* Optimization : Only call is_hidden_path if it's not already
           hidden. */
        if (!(result & aHIDDEN) && IS_HIDDEN_PATH(conn,path)) {

Reply via email to