From 654bad37a696e27a4cdcfcf23ee3ec7e58d34b35 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 2 Jul 2002 08:11:15 +0000 Subject: [PATCH] * security.h (DONT_INHERIT): Eliminate definition. (INHERIT_ALL): Ditto. (INHERIT_ONLY): Ditto. * sec_acl.cc: Use appropriate defines from accctrl.h instead of the above throughout. * security.cc: Ditto. --- winsup/cygwin/ChangeLog | 9 +++++++++ winsup/cygwin/sec_acl.cc | 9 +++++---- winsup/cygwin/security.cc | 9 +++++---- winsup/cygwin/security.h | 3 --- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index dadcec0e3..c5d358ec6 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,12 @@ +2002-07-02 Corinna Vinschen + + * security.h (DONT_INHERIT): Eliminate definition. + (INHERIT_ALL): Ditto. + (INHERIT_ONLY): Ditto. + * sec_acl.cc: Use appropriate defines from accctrl.h instead of the + above throughout. + * security.cc: Ditto. + 2002-07-01 Pierre Humblet * syscalls.c (seteuid32): Return immediately if the program is not diff --git a/winsup/cygwin/sec_acl.cc b/winsup/cygwin/sec_acl.cc index e93073794..26ab878c1 100644 --- a/winsup/cygwin/sec_acl.cc +++ b/winsup/cygwin/sec_acl.cc @@ -128,7 +128,8 @@ setacl (const char *file, int nentries, __aclent16_t *aclbufp) allow |= FILE_DELETE_CHILD; /* Set inherit property. */ DWORD inheritance = (aclbufp[i].a_type & ACL_DEFAULT) - ? INHERIT_ONLY : DONT_INHERIT; + ? (SUB_CONTAINERS_AND_OBJECTS_INHERIT | INHERIT_ONLY) + : NO_INHERITANCE; /* * If a specific acl contains a corresponding default entry with * identical permissions, only one Windows ACE with proper @@ -142,7 +143,7 @@ setacl (const char *file, int nentries, __aclent16_t *aclbufp) && pos < nentries && aclbufp[i].a_perm == aclbufp[pos].a_perm) { - inheritance = INHERIT_ALL; + inheritance = SUB_CONTAINERS_AND_OBJECTS_INHERIT; /* This eliminates the corresponding default entry. */ aclbufp[pos].a_type = 0; } @@ -344,12 +345,12 @@ getacl (const char *file, DWORD attr, int nentries, __aclent16_t *aclbufp) } if (!type) continue; - if (!(ace->Header.AceFlags & INHERIT_ONLY_ACE)) + if (!(ace->Header.AceFlags & INHERIT_ONLY)) { if ((pos = searchace (lacl, MAX_ACL_ENTRIES, type, id)) >= 0) getace (lacl[pos], type, id, ace->Mask, ace->Header.AceType); } - if ((ace->Header.AceFlags & INHERIT_ALL) + if ((ace->Header.AceFlags & SUB_CONTAINERS_AND_OBJECTS_INHERIT) && (attr & FILE_ATTRIBUTE_DIRECTORY)) { type |= ACL_DEFAULT; diff --git a/winsup/cygwin/security.cc b/winsup/cygwin/security.cc index c7dfbbefa..6c239af1f 100644 --- a/winsup/cygwin/security.cc +++ b/winsup/cygwin/security.cc @@ -1187,7 +1187,7 @@ get_nt_attribute (const char *file, int *attribute, { if (!GetAce (acl, i, (PVOID *) &ace)) continue; - if (ace->Header.AceFlags & INHERIT_ONLY_ACE) + if (ace->Header.AceFlags & INHERIT_ONLY) continue; switch (ace->Header.AceType) { @@ -1363,7 +1363,7 @@ get_nt_object_attribute (HANDLE handle, SE_OBJECT_TYPE object_type, int *attribu { if (!GetAce (acl, i, (PVOID *) &ace)) continue; - if (ace->Header.AceFlags & INHERIT_ONLY_ACE) + if (ace->Header.AceFlags & INHERIT_ONLY) continue; switch (ace->Header.AceType) { @@ -1664,7 +1664,8 @@ alloc_sd (__uid32_t uid, __gid32_t gid, int attribute, group_deny &= ~(STANDARD_RIGHTS_READ | FILE_READ_ATTRIBUTES | FILE_READ_EA); /* Construct appropriate inherit attribute. */ - DWORD inherit = (attribute & S_IFDIR) ? INHERIT_ALL : DONT_INHERIT; + DWORD inherit = (attribute & S_IFDIR) ? SUB_CONTAINERS_AND_OBJECTS_INHERIT + : NO_INHERITANCE; /* Set deny ACE for owner. */ if (owner_deny @@ -1692,7 +1693,7 @@ alloc_sd (__uid32_t uid, __gid32_t gid, int attribute, /* Set null ACE for special bits. */ if (null_allow && !add_access_allowed_ace (acl, ace_off++, null_allow, - well_known_null_sid, acl_len, DONT_INHERIT)) + well_known_null_sid, acl_len, NO_INHERITANCE)) return NULL; /* Get owner and group from current security descriptor. */ diff --git a/winsup/cygwin/security.h b/winsup/cygwin/security.h index 36ae57705..1edcc57fd 100644 --- a/winsup/cygwin/security.h +++ b/winsup/cygwin/security.h @@ -9,9 +9,6 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for details. */ #include -#define DONT_INHERIT (0) -#define INHERIT_ALL (CONTAINER_INHERIT_ACE|OBJECT_INHERIT_ACE) -#define INHERIT_ONLY (INHERIT_ONLY_ACE|CONTAINER_INHERIT_ACE|OBJECT_INHERIT_ACE) #define DEFAULT_UID DOMAIN_USER_RID_ADMIN #define DEFAULT_GID DOMAIN_ALIAS_RID_ADMINS