* 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:
		| @@ -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> | 2002-07-01  Pierre Humblet  <pierre.humblet@ieee.org> | ||||||
|  |  | ||||||
| 	* syscalls.c (seteuid32): Return immediately if the program is not | 	* 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; | 	allow |= FILE_DELETE_CHILD; | ||||||
|       /* Set inherit property. */ |       /* Set inherit property. */ | ||||||
|       DWORD inheritance = (aclbufp[i].a_type & ACL_DEFAULT) |       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 |        * If a specific acl contains a corresponding default entry with | ||||||
|        * identical permissions, only one Windows ACE with proper |        * identical permissions, only one Windows ACE with proper | ||||||
| @@ -142,7 +143,7 @@ setacl (const char *file, int nentries, __aclent16_t *aclbufp) | |||||||
| 	  && pos < nentries | 	  && pos < nentries | ||||||
| 	  && aclbufp[i].a_perm == aclbufp[pos].a_perm) | 	  && aclbufp[i].a_perm == aclbufp[pos].a_perm) | ||||||
| 	{ | 	{ | ||||||
| 	  inheritance = INHERIT_ALL; | 	  inheritance = SUB_CONTAINERS_AND_OBJECTS_INHERIT; | ||||||
| 	  /* This eliminates the corresponding default entry. */ | 	  /* This eliminates the corresponding default entry. */ | ||||||
| 	  aclbufp[pos].a_type = 0; | 	  aclbufp[pos].a_type = 0; | ||||||
| 	} | 	} | ||||||
| @@ -344,12 +345,12 @@ getacl (const char *file, DWORD attr, int nentries, __aclent16_t *aclbufp) | |||||||
| 	} | 	} | ||||||
|       if (!type) |       if (!type) | ||||||
| 	continue; | 	continue; | ||||||
|       if (!(ace->Header.AceFlags & INHERIT_ONLY_ACE)) |       if (!(ace->Header.AceFlags & INHERIT_ONLY)) | ||||||
| 	{ | 	{ | ||||||
| 	  if ((pos = searchace (lacl, MAX_ACL_ENTRIES, type, id)) >= 0) | 	  if ((pos = searchace (lacl, MAX_ACL_ENTRIES, type, id)) >= 0) | ||||||
| 	    getace (lacl[pos], type, id, ace->Mask, ace->Header.AceType); | 	    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)) | 	  && (attr & FILE_ATTRIBUTE_DIRECTORY)) | ||||||
| 	{ | 	{ | ||||||
| 	  type |= ACL_DEFAULT; | 	  type |= ACL_DEFAULT; | ||||||
|   | |||||||
| @@ -1187,7 +1187,7 @@ get_nt_attribute (const char *file, int *attribute, | |||||||
|     { |     { | ||||||
|       if (!GetAce (acl, i, (PVOID *) &ace)) |       if (!GetAce (acl, i, (PVOID *) &ace)) | ||||||
| 	continue; | 	continue; | ||||||
|       if (ace->Header.AceFlags & INHERIT_ONLY_ACE) |       if (ace->Header.AceFlags & INHERIT_ONLY) | ||||||
| 	continue; | 	continue; | ||||||
|       switch (ace->Header.AceType) |       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)) |       if (!GetAce (acl, i, (PVOID *) &ace)) | ||||||
| 	continue; | 	continue; | ||||||
|       if (ace->Header.AceFlags & INHERIT_ONLY_ACE) |       if (ace->Header.AceFlags & INHERIT_ONLY) | ||||||
| 	continue; | 	continue; | ||||||
|       switch (ace->Header.AceType) |       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); |   group_deny &= ~(STANDARD_RIGHTS_READ | FILE_READ_ATTRIBUTES | FILE_READ_EA); | ||||||
|  |  | ||||||
|   /* Construct appropriate inherit attribute. */ |   /* 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. */ |   /* Set deny ACE for owner. */ | ||||||
|   if (owner_deny |   if (owner_deny | ||||||
| @@ -1692,7 +1693,7 @@ alloc_sd (__uid32_t uid, __gid32_t gid, int attribute, | |||||||
|   /* Set null ACE for special bits. */ |   /* Set null ACE for special bits. */ | ||||||
|   if (null_allow |   if (null_allow | ||||||
|       && !add_access_allowed_ace (acl, ace_off++, 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; |     return NULL; | ||||||
|  |  | ||||||
|   /* Get owner and group from current security descriptor. */ |   /* Get owner and group from current security descriptor. */ | ||||||
|   | |||||||
| @@ -9,9 +9,6 @@ Cygwin license.  Please consult the file "CYGWIN_LICENSE" for | |||||||
| details. */ | details. */ | ||||||
|  |  | ||||||
| #include <accctrl.h> | #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_UID DOMAIN_USER_RID_ADMIN | ||||||
| #define DEFAULT_GID DOMAIN_ALIAS_RID_ADMINS | #define DEFAULT_GID DOMAIN_ALIAS_RID_ADMINS | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user