diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c index e02ef07dee25666ab6702cd7f32496070f049b64..862b93d0358450a3d3fc8d471f5592f07b98a12a 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);