* 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> | ||||
|  | ||||
| 	* 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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user