r17247: When we map generic to specific we need to remember
authorJeremy Allison <jra@samba.org>
Wed, 26 Jul 2006 01:53:23 +0000 (01:53 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 16:38:22 +0000 (11:38 -0500)
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.
(This used to be commit d11e71ebcccf6907f2404a04aa6bf61b12ab2709)

source3/smbd/open.c

index 74dd038381081116153389fc03038dd9bf634007..95c70dff542877192a711f4198d5304f222e8d8c 100644 (file)
@@ -1307,6 +1307,7 @@ NTSTATUS open_file_ntcreate(connection_struct *conn,
         */
 
        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 @@ NTSTATUS open_file_ntcreate(connection_struct *conn,
                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.