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:
Corinna Vinschen 2002-12-14 17:23:42 +00:00
parent b60e545bb6
commit 85ecb9be00
4 changed files with 48 additions and 12 deletions

View File

@ -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>
* netdb.cc: Remove strtok_r comment.

View File

@ -681,6 +681,9 @@ dll_crt0_1 ()
/* Allocate cygheap->fdtab */
dtable_init ();
/* Init global well known SID objects */
cygsid::init ();
/* Initialize uid, gid if necessary. */
if (child_proc_info == NULL || spawn_info->moreinfo->uid == ILLEGAL_UID)
uinfo_init ();

View File

@ -48,18 +48,37 @@ SID_IDENTIFIER_AUTHORITY sid_auth[] = {
{SECURITY_NT_AUTHORITY}
};
cygsid well_known_null_sid ("S-1-0-0");
cygsid well_known_world_sid ("S-1-1-0");
cygsid well_known_local_sid ("S-1-2-0");
cygsid well_known_creator_owner_sid ("S-1-3-0");
cygsid well_known_dialup_sid ("S-1-5-1");
cygsid well_known_network_sid ("S-1-5-2");
cygsid well_known_batch_sid ("S-1-5-3");
cygsid well_known_interactive_sid ("S-1-5-4");
cygsid well_known_service_sid ("S-1-5-6");
cygsid well_known_authenticated_users_sid ("S-1-5-11");
cygsid well_known_system_sid ("S-1-5-18");
cygsid well_known_admins_sid ("S-1-5-32-544");
cygsid well_known_null_sid;
cygsid well_known_world_sid;
cygsid well_known_local_sid;
cygsid well_known_creator_owner_sid;
cygsid well_known_creator_group_sid;
cygsid well_known_dialup_sid;
cygsid well_known_network_sid;
cygsid well_known_batch_sid;
cygsid well_known_interactive_sid;
cygsid well_known_service_sid;
cygsid well_known_authenticated_users_sid;
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 *
cygsid::string (char *nsidstr) const

View File

@ -40,6 +40,7 @@ class cygsid {
}
public:
static void init();
inline operator const PSID () { return psid; }
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_local_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_network_sid;
extern cygsid well_known_batch_sid;