diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2003-11-26 10:52:21 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2003-11-26 10:52:21 +0000 |
commit | 3db690789f317dc0798bf3dd883a24ebfbb57354 (patch) | |
tree | a9f83dd3ca1feada3765eb97a2cd1c7d08686129 /winsup/cygwin/security.cc | |
parent | af284c9c3b73619ab3a5e978856b146bd4331511 (diff) | |
download | cygnal-3db690789f317dc0798bf3dd883a24ebfbb57354.tar.gz cygnal-3db690789f317dc0798bf3dd883a24ebfbb57354.tar.bz2 cygnal-3db690789f317dc0798bf3dd883a24ebfbb57354.zip |
* sec_acl.h (getace): Use FILE_*_BITS as permission mask.
* security.cc (get_attribute_from_acl): Ditto.
* security.h (FILE_READ_BITS): Define to match also GENERIC bits.
(FILE_WRITE_BITS): Ditto.
(FILE_EXEC_BITS): Ditto.
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r-- | winsup/cygwin/security.cc | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index 745fa0c5d..448cd6547 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -1235,15 +1235,15 @@ get_attribute_from_acl (mode_t *attribute, PACL acl, PSID owner_sid, cygpsid ace_sid ((PSID) &ace->SidStart); if (ace_sid == well_known_world_sid) { - if (ace->Mask & FILE_READ_DATA) + if (ace->Mask & FILE_READ_BITS) *flags |= ((!(*anti & S_IROTH)) ? S_IROTH : 0) | ((!(*anti & S_IRGRP)) ? S_IRGRP : 0) | ((!(*anti & S_IRUSR)) ? S_IRUSR : 0); - if (ace->Mask & FILE_WRITE_DATA) + if (ace->Mask & FILE_WRITE_BITS) *flags |= ((!(*anti & S_IWOTH)) ? S_IWOTH : 0) | ((!(*anti & S_IWGRP)) ? S_IWGRP : 0) | ((!(*anti & S_IWUSR)) ? S_IWUSR : 0); - if (ace->Mask & FILE_EXECUTE) + if (ace->Mask & FILE_EXEC_BITS) *flags |= ((!(*anti & S_IXOTH)) ? S_IXOTH : 0) | ((!(*anti & S_IXGRP)) ? S_IXGRP : 0) | ((!(*anti & S_IXUSR)) ? S_IXUSR : 0); @@ -1264,22 +1264,22 @@ get_attribute_from_acl (mode_t *attribute, PACL acl, PSID owner_sid, } else if (ace_sid == owner_sid) { - if (ace->Mask & FILE_READ_DATA) + if (ace->Mask & FILE_READ_BITS) *flags |= ((!(*anti & S_IRUSR)) ? S_IRUSR : 0); - if (ace->Mask & FILE_WRITE_DATA) + if (ace->Mask & FILE_WRITE_BITS) *flags |= ((!(*anti & S_IWUSR)) ? S_IWUSR : 0); - if (ace->Mask & FILE_EXECUTE) + if (ace->Mask & FILE_EXEC_BITS) *flags |= ((!(*anti & S_IXUSR)) ? S_IXUSR : 0); } else if (ace_sid == group_sid) { - if (ace->Mask & FILE_READ_DATA) + if (ace->Mask & FILE_READ_BITS) *flags |= ((!(*anti & S_IRGRP)) ? S_IRGRP : 0) | ((grp_member && !(*anti & S_IRUSR)) ? S_IRUSR : 0); - if (ace->Mask & FILE_WRITE_DATA) + if (ace->Mask & FILE_WRITE_BITS) *flags |= ((!(*anti & S_IWGRP)) ? S_IWGRP : 0) | ((grp_member && !(*anti & S_IWUSR)) ? S_IWUSR : 0); - if (ace->Mask & FILE_EXECUTE) + if (ace->Mask & FILE_EXEC_BITS) *flags |= ((!(*anti & S_IXGRP)) ? S_IXGRP : 0) | ((grp_member && !(*anti & S_IXUSR)) ? S_IXUSR : 0); } |