From 9a771b2961695d00d4bc4a47deae7e6113b2cd01 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 14 Jun 2002 18:01:21 +0000 Subject: * cygheap.cc (cygheap_user::set_logsrv): Remove. (cygheap_user::set_domain): Ditto. * cygheap.h (cygheap_user::set_logsrv): Remove declaration. (cygheap_user::set_domain): Ditto. (cygheap_user::env_domain): Declare new method. (cygheap_user::env_name): Ditto. * environ.cc (spenvs): Add two environment variables. * spawn.cc (spawn_guts): Call build_env after RevertToSelf. Always set ciresrv.mount_h. (cygheap_user::ontherange): Recalculate homedrive/homepath if they are empty. Use env_logsrv to get logon server. (cygheap_user::env_logsrv): Calculate server name here rather than relying on it having been previously calculated. (cygheap_user::env_domain): Ditto for domain name. (cygheap-user::env_name): New method. * syscalls.cc (seteuid32): Do not get or set the environment. Do not call LookupAccountSid nor internal_getlogin. Set cygheap->user name and sid from the passwd entry. * uinfo.cc (uinfo_init): Only call internal_getlogin when starting from a non Cygwin process and use the values returned in user. (internal_getlogin): Simplify to case where starting from a non Cygwin process. Store return values in user and return void. Do not set the Windows default environment. * dcrt0.cc (dll_crt0_1): Call uinfo_init only when needed. Do not set myself->uid nor reset user.sid. * spawn.cc (spawn_guts): Get the sid from cygheap->user. Always RevertToSelf(). Don't set uid in impersonated case. * cygheap.cc (cygheap_user::set_sid): Do not set orig_sig. (cygheap_user::set_orig_sid): New. * cygheap.h: Declare cygheap_user::set_sid. * winsup.h: Add argument to uinfo_init(). --- winsup/cygwin/cygheap.h | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'winsup/cygwin/cygheap.h') diff --git a/winsup/cygwin/cygheap.h b/winsup/cygwin/cygheap.h index 71c00aca8..16a817c17 100644 --- a/winsup/cygwin/cygheap.h +++ b/winsup/cygwin/cygheap.h @@ -124,28 +124,17 @@ public: void set_name (const char *new_name); const char *name () const { return pname; } - void set_logsrv (const char *new_logsrv); - const char *logsrv () const { return plogsrv; } - const char *env_logsrv (); const char *env_homepath (); const char *env_homedrive (); const char *env_userprofile (); - - void set_domain (const char *new_domain); - const char *domain () const { return pdomain; } + const char *env_domain (); + const char *env_name (); BOOL set_sid (PSID new_sid); + BOOL set_orig_sid (); PSID sid () const { return psid; } PSID orig_sid () const { return orig_psid; } - - void operator =(cygheap_user &user) - { - set_name (user.name ()); - set_logsrv (user.logsrv ()); - set_domain (user.domain ()); - set_sid (user.sid ()); - } const char *ontherange (homebodies what, struct passwd * = NULL); }; -- cgit v1.2.3