[22964] trunk/launchd/src/launchd_core_logic.c
Revision: 22964 http://trac.macosforge.org/projects/launchd/changeset/22964 Author: zarzycki@apple.com Date: 2006-12-04 09:24:22 -0800 (Mon, 04 Dec 2006) Log Message: ----------- <rdar://problem/4860467> HOME environment variable not set in miniterm when run as loginitem Modified Paths: -------------- trunk/launchd/src/launchd_core_logic.c Modified: trunk/launchd/src/launchd_core_logic.c =================================================================== --- trunk/launchd/src/launchd_core_logic.c 2006-12-04 16:51:34 UTC (rev 22963) +++ trunk/launchd/src/launchd_core_logic.c 2006-12-04 17:24:22 UTC (rev 22964) @@ -1921,6 +1921,7 @@ job_postfork_become_user(job_t j) { char loginname[2000]; + char homedir[PATH_MAX]; struct passwd *pwe; gid_t desired_gid = -1; uid_t desired_uid = -1; @@ -1944,6 +1945,7 @@ } strlcpy(loginname, pwe->pw_name, sizeof(loginname)); + strlcpy(homedir, pwe->pw_dir, sizeof(homedir)); if (pwe->pw_expire && time(NULL) >= pwe->pw_expire) { job_log(j, LOG_ERR, "Expired account"); @@ -1984,6 +1986,8 @@ job_log_error(j, LOG_ERR, "setuid(%u)", desired_uid); _exit(EXIT_FAILURE); } + + setenv("HOME", homedir, 0); } void
participants (1)
-
source_changes@macosforge.org