fixing access_mask to nfs allow in open flags

This commit is contained in:
Olga Kornievskaia 2012-03-12 16:56:19 -04:00
parent 77237af0a6
commit b4a1af0df6

View file

@ -365,16 +365,14 @@ static int map_disposition_2_nfsopen(ULONG disposition, int in_status, bool_t pe
static void map_access_2_allowdeny(ULONG access_mask, ULONG access_mode, static void map_access_2_allowdeny(ULONG access_mask, ULONG access_mode,
uint32_t *allow, uint32_t *deny) uint32_t *allow, uint32_t *deny)
{ {
if ((access_mask & FILE_WRITE_DATA) && if ((access_mask &
((access_mask & FILE_READ_DATA) || (FILE_WRITE_DATA | FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES)) &&
(access_mask & FILE_EXECUTE))) (access_mask & (FILE_READ_DATA | FILE_EXECUTE)))
*allow = OPEN4_SHARE_ACCESS_BOTH; *allow = OPEN4_SHARE_ACCESS_BOTH;
else if ((access_mask & FILE_READ_DATA) || else if (access_mask & (FILE_READ_DATA | FILE_EXECUTE))
(access_mask & FILE_EXECUTE))
*allow = OPEN4_SHARE_ACCESS_READ; *allow = OPEN4_SHARE_ACCESS_READ;
else if (access_mask & FILE_WRITE_DATA || else if (access_mask &
(access_mask & FILE_APPEND_DATA) || (FILE_WRITE_DATA | FILE_APPEND_DATA | FILE_WRITE_ATTRIBUTES))
(access_mask & FILE_WRITE_ATTRIBUTES))
*allow = OPEN4_SHARE_ACCESS_WRITE; *allow = OPEN4_SHARE_ACCESS_WRITE;
#define FIX_ALLOW_DENY_WIN2NFS_CONVERSION #define FIX_ALLOW_DENY_WIN2NFS_CONVERSION
#ifdef FIX_ALLOW_DENY_WIN2NFS_CONVERSION #ifdef FIX_ALLOW_DENY_WIN2NFS_CONVERSION