Author: jra
Date: 2006-07-26 01:53:23 +0000 (Wed, 26 Jul 2006)
New Revision: 17247

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

Log:
When we map generic to specific we need to remember
to copy over the copy of the access_mask, open_access_mask.
Jerry - this is a definate fix for a 3.0.23b and should also
be on the patches page. CIFSFS breaks without this.
Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/open.c
   branches/SAMBA_3_0_23/source/smbd/open.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/open.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/open.c       2006-07-25 21:48:13 UTC (rev 
17246)
+++ branches/SAMBA_3_0/source/smbd/open.c       2006-07-26 01:53:23 UTC (rev 
17247)
@@ -1307,6 +1307,7 @@
         */
 
        se_map_generic(&access_mask, &file_generic_mapping);
+       open_access_mask = access_mask;
 
        DEBUG(10, ("open_file_ntcreate: fname=%s, after mapping "
                   "access_mask=0x%x\n", fname, access_mask ));
@@ -1548,9 +1549,11 @@
                unx_mode = 0777;
        }
 
-       DEBUG(4,("calling open_file with flags=0x%X flags2=0x%X mode=0%o\n",
+       DEBUG(4,("calling open_file with flags=0x%X flags2=0x%X mode=0%o, "
+               "access_mask = 0x%x, open_access_mask = 0x%x\n",
                 (unsigned int)flags, (unsigned int)flags2,
-                (unsigned int)unx_mode));
+                (unsigned int)unx_mode, (unsigned int)access_mask,
+                (unsigned int)open_access_mask));
 
        /*
         * open_file strips any O_TRUNC flags itself.

Modified: branches/SAMBA_3_0_23/source/smbd/open.c
===================================================================
--- branches/SAMBA_3_0_23/source/smbd/open.c    2006-07-25 21:48:13 UTC (rev 
17246)
+++ branches/SAMBA_3_0_23/source/smbd/open.c    2006-07-26 01:53:23 UTC (rev 
17247)
@@ -1302,6 +1302,7 @@
         */
 
        se_map_generic(&access_mask, &file_generic_mapping);
+       open_access_mask = access_mask;
 
        DEBUG(10, ("open_file_ntcreate: fname=%s, after mapping "
                   "access_mask=0x%x\n", fname, access_mask ));
@@ -1539,9 +1540,11 @@
                unx_mode = 0777;
        }
 
-       DEBUG(4,("calling open_file with flags=0x%X flags2=0x%X mode=0%o\n",
+       DEBUG(4,("calling open_file with flags=0x%X flags2=0x%X mode=0%o, "
+               "access_mask = 0x%x, open_access_mask = 0x%x\n",
                 (unsigned int)flags, (unsigned int)flags2,
-                (unsigned int)unx_mode));
+                (unsigned int)unx_mode, (unsigned int)access_mask,
+                (unsigned int)open_access_mask));
 
        /*
         * open_file strips any O_TRUNC flags itself.

Reply via email to