mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-02-18 23:12:15 +08:00
* 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.
This commit is contained in:
parent
b23a38b29e
commit
654bad37a6
@ -1,3 +1,12 @@
|
||||
2002-07-02 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* 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 <pierre.humblet@ieee.org>
|
||||
|
||||
* syscalls.c (seteuid32): Return immediately if the program is not
|
||||
|
@ -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;
|
||||
|
@ -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. */
|
||||
|
@ -9,9 +9,6 @@ Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#include <accctrl.h>
|
||||
#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
|
||||
|
Loading…
x
Reference in New Issue
Block a user