diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-10-30 05:53:56 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:04 -0500 |
commit | d93636c29e4e0930e91c53b367145a0c88db7de1 (patch) | |
tree | c10306bb09b4484778e03f76a32e29ee2bb493bb /source4/ntvfs/common | |
parent | cb1cff90f165d82cbbf1dd87e475a1b13984d45e (diff) | |
download | samba-d93636c29e4e0930e91c53b367145a0c88db7de1.tar.gz samba-d93636c29e4e0930e91c53b367145a0c88db7de1.tar.bz2 samba-d93636c29e4e0930e91c53b367145a0c88db7de1.zip |
r3387: fixed pvfs to pass the NTDENY tests. The tricky bit was
SA_RIGHT_FILE_EXECUTE, which depends on a flags2 bit
(This used to be commit c36851d230bcf552ed79322f8358060ab164ec09)
Diffstat (limited to 'source4/ntvfs/common')
-rw-r--r-- | source4/ntvfs/common/opendb.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/source4/ntvfs/common/opendb.c b/source4/ntvfs/common/opendb.c index dfb1177eae..5dc68e5382 100644 --- a/source4/ntvfs/common/opendb.c +++ b/source4/ntvfs/common/opendb.c @@ -154,20 +154,24 @@ static BOOL share_conflict(struct odb_entry *e1, struct odb_entry *e2) /* if either open involves no read.write or delete access then it can't conflict */ - if (!(e1->access_mask & (SA_RIGHT_FILE_WRITE_DATA | + if (!(e1->access_mask & (SA_RIGHT_FILE_WRITE_APPEND | SA_RIGHT_FILE_READ_EXEC | STD_RIGHT_DELETE_ACCESS))) { return False; } - if (!(e2->access_mask & (SA_RIGHT_FILE_WRITE_DATA | + if (!(e2->access_mask & (SA_RIGHT_FILE_WRITE_APPEND | SA_RIGHT_FILE_READ_EXEC | STD_RIGHT_DELETE_ACCESS))) { return False; } /* check the basic share access */ - CHECK_MASK(e1->access_mask, e2->share_access, SA_RIGHT_FILE_WRITE_DATA, NTCREATEX_SHARE_ACCESS_WRITE); - CHECK_MASK(e2->access_mask, e1->share_access, SA_RIGHT_FILE_WRITE_DATA, NTCREATEX_SHARE_ACCESS_WRITE); + CHECK_MASK(e1->access_mask, e2->share_access, + SA_RIGHT_FILE_WRITE_APPEND, + NTCREATEX_SHARE_ACCESS_WRITE); + CHECK_MASK(e2->access_mask, e1->share_access, + SA_RIGHT_FILE_WRITE_APPEND, + NTCREATEX_SHARE_ACCESS_WRITE); CHECK_MASK(e1->access_mask, e2->share_access, SA_RIGHT_FILE_READ_EXEC, |