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/environ.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'winsup/cygwin/environ.cc') diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index 962dc42f9..737c68d7f 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -765,6 +765,8 @@ static NO_COPY spenv spenvs[] = {"LOGONSERVER=", &cygheap_user::env_logsrv}, {"SYSTEMDRIVE=", NULL}, {"SYSTEMROOT=", NULL}, + {"USERDOMAIN=", &cygheap_user::env_name}, + {"USERNAME=", &cygheap_user::env_domain}, {"USERPROFILE=", &cygheap_user::env_userprofile}, }; -- cgit v1.2.3