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.