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