From 0da4a150f65e74b0a3efe8fc952e168aa4a135c5 Mon Sep 17 00:00:00 2001 From: deuce <> Date: Mon, 17 May 2004 22:27:38 +0000 Subject: [PATCH] Set USER/HOME/GROUP environment variables when changing uid/gids (fixes problems with at least some dosemu setups) --- src/sbbs3/sbbscon.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c index e02ef07dee..862b93d035 100644 --- a/src/sbbs3/sbbscon.c +++ b/src/sbbs3/sbbscon.c @@ -1564,6 +1564,19 @@ int main(int argc, char** argv) else { char str[256]; + struct passwd *pwent; + + pwent=getpwnam(new_uid_name); + if(pwent != NULL) { + sprintf(str,"USER=%s",pwent->pw_name); + putenv(str); + sprintf(str,"HOME=%s",pwent->pw_dir); + putenv(str); + } + if(new_gid_name[0]) { + sprintf(str,"GROUP=%s",new_gid_name); + putenv(str); + } sprintf(str,"Successfully changed user_id to %s", new_uid_name); bbs_lputs(NULL,LOG_INFO,str); -- GitLab