From d5bcf897c1b1719512ded7ba7bdcc81c97a885c0 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Mon, 25 Mar 2002 08:00:41 +0000 Subject: [PATCH] do_seteuid() callback does nothing if username not set. --- src/sbbs3/sbbscon.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/sbbs3/sbbscon.c b/src/sbbs3/sbbscon.c index 53200f55d9..f1db385c6b 100644 --- a/src/sbbs3/sbbscon.c +++ b/src/sbbs3/sbbscon.c @@ -86,6 +86,8 @@ ulong served=0; int prompt_len=0; #ifdef __unix__ +char* new_uid_name=NULL; +char* new_gid_name=NULL; uid_t new_uid; uid_t old_uid; gid_t new_gid; @@ -203,6 +205,9 @@ static BOOL do_seteuid(BOOL to_new) static pthread_mutex_t mutex; static BOOL mutex_initialized; + if(new_uid_name==NULL) /* not set? */ + return(TRUE); /* do nothing */ + if(!mutex_initialized) { pthread_mutex_init(&mutex,NULL); mutex_initialized=TRUE; @@ -606,8 +611,6 @@ int main(int argc, char** argv) char* ctrl_dir; BOOL quit=FALSE; #ifdef __unix__ - char* new_uid_name=NULL; - char* new_gid_name=NULL; FILE *pidfile; struct passwd* pw_entry; struct group* gr_entry; @@ -1014,7 +1017,7 @@ int main(int argc, char** argv) if(getuid()) /* are we running as a normal user? */ bbs_lputs("!Started as non-root user. Cannot bind() to ports below 1024."); - else if(!new_uid_name) /* check the user arg, if we have uid 0 */ + else if(new_uid_name==NULL) /* check the user arg, if we have uid 0 */ bbs_lputs("Warning: No user account specified, running as root."); else -- GitLab