2002-12-14 Corinna Vinschen <corinna@vinschen.de>
* dcrt0.cc (dll_crt0_1): Call well known SID initializer function. * security.h (cygsid::init): Declare new static method. * sec_helper.cc (cygsid::init): New method for initializing well known SIDs. 2002-12-14 Pierre Humblet <pierre.humblet@ieee.org> * security.h: Declare well_known_creator_group_sid. * sec_helper.cc: Define and initialize well_known_creator_group_sid.
This commit is contained in:
		| @@ -1,3 +1,15 @@ | |||||||
|  | 2002-12-14  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* dcrt0.cc (dll_crt0_1): Call well known SID initializer function. | ||||||
|  | 	* security.h (cygsid::init): Declare new static method. | ||||||
|  | 	* sec_helper.cc (cygsid::init): New method for initializing well | ||||||
|  | 	known SIDs. | ||||||
|  |  | ||||||
|  | 2002-12-14  Pierre Humblet  <pierre.humblet@ieee.org> | ||||||
|  |  | ||||||
|  | 	* security.h: Declare well_known_creator_group_sid. | ||||||
|  | 	* sec_helper.cc: Define and initialize well_known_creator_group_sid. | ||||||
|  |  | ||||||
| 2002-12-14  Corinna Vinschen  <corinna@vinschen.de> | 2002-12-14  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
| 	* netdb.cc: Remove strtok_r comment. | 	* netdb.cc: Remove strtok_r comment. | ||||||
|   | |||||||
| @@ -681,6 +681,9 @@ dll_crt0_1 () | |||||||
|   /* Allocate cygheap->fdtab */ |   /* Allocate cygheap->fdtab */ | ||||||
|   dtable_init (); |   dtable_init (); | ||||||
|  |  | ||||||
|  |   /* Init global well known SID objects */ | ||||||
|  |   cygsid::init (); | ||||||
|  |  | ||||||
|   /* Initialize uid, gid if necessary. */ |   /* Initialize uid, gid if necessary. */ | ||||||
|   if (child_proc_info == NULL || spawn_info->moreinfo->uid == ILLEGAL_UID) |   if (child_proc_info == NULL || spawn_info->moreinfo->uid == ILLEGAL_UID) | ||||||
|     uinfo_init (); |     uinfo_init (); | ||||||
|   | |||||||
| @@ -48,18 +48,37 @@ SID_IDENTIFIER_AUTHORITY sid_auth[] = { | |||||||
| 	{SECURITY_NT_AUTHORITY} | 	{SECURITY_NT_AUTHORITY} | ||||||
| }; | }; | ||||||
|  |  | ||||||
| cygsid well_known_null_sid ("S-1-0-0"); | cygsid well_known_null_sid; | ||||||
| cygsid well_known_world_sid ("S-1-1-0"); | cygsid well_known_world_sid; | ||||||
| cygsid well_known_local_sid ("S-1-2-0"); | cygsid well_known_local_sid; | ||||||
| cygsid well_known_creator_owner_sid ("S-1-3-0"); | cygsid well_known_creator_owner_sid; | ||||||
| cygsid well_known_dialup_sid ("S-1-5-1"); | cygsid well_known_creator_group_sid; | ||||||
| cygsid well_known_network_sid ("S-1-5-2"); | cygsid well_known_dialup_sid; | ||||||
| cygsid well_known_batch_sid ("S-1-5-3"); | cygsid well_known_network_sid; | ||||||
| cygsid well_known_interactive_sid ("S-1-5-4"); | cygsid well_known_batch_sid; | ||||||
| cygsid well_known_service_sid ("S-1-5-6"); | cygsid well_known_interactive_sid; | ||||||
| cygsid well_known_authenticated_users_sid ("S-1-5-11"); | cygsid well_known_service_sid; | ||||||
| cygsid well_known_system_sid ("S-1-5-18"); | cygsid well_known_authenticated_users_sid; | ||||||
| cygsid well_known_admins_sid ("S-1-5-32-544"); | cygsid well_known_system_sid; | ||||||
|  | cygsid well_known_admins_sid; | ||||||
|  |  | ||||||
|  | void | ||||||
|  | cygsid::init () | ||||||
|  | { | ||||||
|  |   well_known_null_sid = "S-1-0-0"; | ||||||
|  |   well_known_world_sid = "S-1-1-0"; | ||||||
|  |   well_known_local_sid = "S-1-2-0"; | ||||||
|  |   well_known_creator_owner_sid = "S-1-3-0"; | ||||||
|  |   well_known_creator_group_sid = "S-1-3-1"; | ||||||
|  |   well_known_dialup_sid = "S-1-5-1"; | ||||||
|  |   well_known_network_sid = "S-1-5-2"; | ||||||
|  |   well_known_batch_sid = "S-1-5-3"; | ||||||
|  |   well_known_interactive_sid = "S-1-5-4"; | ||||||
|  |   well_known_service_sid = "S-1-5-6"; | ||||||
|  |   well_known_authenticated_users_sid = "S-1-5-11"; | ||||||
|  |   well_known_system_sid = "S-1-5-18"; | ||||||
|  |   well_known_admins_sid = "S-1-5-32-544"; | ||||||
|  | } | ||||||
|  |  | ||||||
| char * | char * | ||||||
| cygsid::string (char *nsidstr) const | cygsid::string (char *nsidstr) const | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ class cygsid { | |||||||
|     } |     } | ||||||
|  |  | ||||||
| public: | public: | ||||||
|  |   static void init(); | ||||||
|   inline operator const PSID () { return psid; } |   inline operator const PSID () { return psid; } | ||||||
|  |  | ||||||
|   inline const PSID operator= (cygsid &nsid) |   inline const PSID operator= (cygsid &nsid) | ||||||
| @@ -184,6 +185,7 @@ extern cygsid well_known_null_sid; | |||||||
| extern cygsid well_known_world_sid; | extern cygsid well_known_world_sid; | ||||||
| extern cygsid well_known_local_sid; | extern cygsid well_known_local_sid; | ||||||
| extern cygsid well_known_creator_owner_sid; | extern cygsid well_known_creator_owner_sid; | ||||||
|  | extern cygsid well_known_creator_group_sid; | ||||||
| extern cygsid well_known_dialup_sid; | extern cygsid well_known_dialup_sid; | ||||||
| extern cygsid well_known_network_sid; | extern cygsid well_known_network_sid; | ||||||
| extern cygsid well_known_batch_sid; | extern cygsid well_known_batch_sid; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user