From 2b0a111fcf0a2e7276f9c0f1cb9e56dc5d14361c Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 15 May 2001 19:23:31 +0000 Subject: * fork.cc (fork): Eliminate superfluous call to getuid(). * security.h: New define `NO_SID'. Remove declarations of functions moved to methods into class cygsid. (class cygsid): Declare new methods `getfromstr', `get_sid', `getfrompw', `getfromgr', `get_rid', `get_uid', `get_gid', `string' and new constructors and operators =, == and !=. Declare new global cygsids `well_known_XXX_sid' substituting the corresponding `get_XXX_sid' functions. Remove declarations of these functions. * sec_helper.cc (well_known_admin_sid): New global variable. (well_known_system_sid): Ditto (well_known_creator_owner_sid): Ditto (well_known_world_sid): Ditto (cygsid::string): New method, substituting `convert_sid_to_string_sid'. (cygsid::get_sid): New method, substituting `get_sid'. (cygsid::getfromstr): New method, substituting `convert_string_sid_to_sid'. (cygsid::getfrompw): New method, substituting `get_pw_sid'. (cygsid::getfromgr): New method, substituting `get_gr_sid'. (cygsid::get_id): New method, substituting `get_id_from_sid'. (get_admin_sid): Eliminated. (get_system_sid): Ditto. (get_creator_owner_sid): Ditto. (get_world_sid): Ditto. * grp.cc: Use new cygsid methods and well known sids throughout. * registry.cc: Ditto. * sec_acl.cc: Ditto. * security.cc: Ditto. * shared.cc: Ditto. * syscalls.cc (seteuid): Ditto. Eliminate redundant conditional. * uinfo.cc (internal_getlogin): Ditto. * spawn.cc (spawn_guts) Revert previous patch. --- winsup/cygwin/registry.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'winsup/cygwin/registry.cc') diff --git a/winsup/cygwin/registry.cc b/winsup/cygwin/registry.cc index f26912570..1d3cce54e 100644 --- a/winsup/cygwin/registry.cc +++ b/winsup/cygwin/registry.cc @@ -202,7 +202,8 @@ get_registry_hive_path (const PSID psid, char *path) if (!psid || !path) return NULL; - convert_sid_to_string_sid (psid, sid); + cygsid csid (psid); + csid.string (sid); strcpy (key,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\"); strcat (key, sid); if (!RegOpenKeyExA (HKEY_LOCAL_MACHINE, key, 0, KEY_READ, &hkey)) @@ -232,8 +233,9 @@ load_registry_hive (PSID psid) if (!psid) return; /* Check if user hive is already loaded. */ - if (!RegOpenKeyExA (HKEY_USERS, convert_sid_to_string_sid (psid, sid), - 0, KEY_READ, &hkey)) + cygsid csid (psid); + csid.string (sid); + if (!RegOpenKeyExA (HKEY_USERS, csid.string (sid), 0, KEY_READ, &hkey)) { debug_printf ("User registry hive for %s already exists", sid); RegCloseKey (hkey); -- cgit v1.2.3