diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2001-07-09 13:02:41 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2001-07-09 13:02:41 +0400 |
commit | 5d0cbc17db4a311d723aaa4760194f0c85de98ed (patch) | |
tree | eab1affa60d7952565b5420e338eb884f756723f /winsup/cygwin/security.cc | |
parent | 6e06cb0d32cbbc18181dc9dba606facf36f395b1 (diff) |
* security.cc (alloc_sd): Don't set inheritance attribute for
permissions given to directories.
Diffstat (limited to 'winsup/cygwin/security.cc')
-rw-r--r-- | winsup/cygwin/security.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index 49716869b..0a843c7a0 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -1398,7 +1398,23 @@ alloc_sd (uid_t uid, gid_t gid, const char *logsrv, int attribute, group_deny &= ~(STANDARD_RIGHTS_READ | FILE_READ_ATTRIBUTES | FILE_READ_EA); /* Construct appropriate inherit attribute. */ + /* TODO */ +#if 0 + /* Inheriting of attributes result in some strange behaviour if + a user creates files in directories which are owned by another + user. Even if the creator has all permissions, the default + permissions of created files are set according to the dirs + permission bits which may result in the inability to chmod + the own file. + Even if not inheriting permissions seems to be the correct + behaviour from the POSIX point of view, I'll keep that + stuff in the sources if it turns out that native Windows + processes are failing due to this change. + */ DWORD inherit = (attribute & S_IFDIR) ? INHERIT_ALL : DONT_INHERIT; +#else + DWORD inherit = DONT_INHERIT; +#endif /* Set deny ACE for owner. */ if (owner_deny |