X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Fngircd.c;h=c5c5196536bbe42c9aebf08a6f9664da3f52c508;hb=ac96fe5877745791e42a9b5177462d670478c52f;hp=d774f791de614e811f7bf5e8e1a9b19cfad9160c;hpb=8916b201fa19c9ace46ca1d39e959d0d1aff6a27;p=ngircd-alex.git diff --git a/src/ngircd/ngircd.c b/src/ngircd/ngircd.c index d774f791..c5c51965 100644 --- a/src/ngircd/ngircd.c +++ b/src/ngircd/ngircd.c @@ -12,7 +12,7 @@ #include "portab.h" -static char UNUSED id[] = "$Id: ngircd.c,v 1.106 2005/07/08 23:19:20 alex Exp $"; +static char UNUSED id[] = "$Id: ngircd.c,v 1.109 2005/08/25 08:48:43 alex Exp $"; /** * @file @@ -56,20 +56,20 @@ static char UNUSED id[] = "$Id: ngircd.c,v 1.106 2005/07/08 23:19:20 alex Exp $" #include "ngircd.h" -LOCAL void Initialize_Signal_Handler PARAMS(( void )); -LOCAL void Signal_Handler PARAMS(( int Signal )); +static void Initialize_Signal_Handler PARAMS(( void )); +static void Signal_Handler PARAMS(( int Signal )); -LOCAL void Show_Version PARAMS(( void )); -LOCAL void Show_Help PARAMS(( void )); +static void Show_Version PARAMS(( void )); +static void Show_Help PARAMS(( void )); -LOCAL void Pidfile_Create PARAMS(( long )); -LOCAL void Pidfile_Delete PARAMS(( void )); +static void Pidfile_Create PARAMS(( long )); +static void Pidfile_Delete PARAMS(( void )); -LOCAL void Fill_Version PARAMS(( void )); +static void Fill_Version PARAMS(( void )); -LOCAL void Setup_FDStreams PARAMS(( void )); +static void Setup_FDStreams PARAMS(( void )); -LOCAL bool NGIRCd_Init PARAMS(( bool )); +static bool NGIRCd_Init PARAMS(( bool )); /** * The main() function of ngIRCd. @@ -262,8 +262,10 @@ main( int argc, const char *argv[] ) Log_Init( ! NGIRCd_NoDaemon ); Conf_Init( ); - if (!NGIRCd_Init( NGIRCd_NoDaemon )) { - Log(LOG_WARNING, "Fatal: Initialization failed"); + /* Initialize the "main program": chroot environment, user and + * group ID, ... */ + if (!NGIRCd_Init(NGIRCd_NoDaemon)) { + Log(LOG_ALERT, "Fatal: Initialization failed"); exit(1); } @@ -341,7 +343,7 @@ main( int argc, const char *argv[] ) * further usage, for example by the IRC command VERSION and the --version * command line switch. */ -LOCAL void +static void Fill_Version( void ) { NGIRCd_VersionAddition[0] = '\0'; @@ -438,7 +440,7 @@ NGIRCd_Rehash( void ) /* Recover old server name: it can't be changed during run-time */ if( strcmp( old_name, Conf_ServerName ) != 0 ) { - strcpy( Conf_ServerName, old_name ); + strlcpy( Conf_ServerName, old_name, sizeof Conf_ServerName ); Log( LOG_ERR, "Can't change \"ServerName\" on runtime! Ignored new name." ); } @@ -458,7 +460,7 @@ NGIRCd_Rehash( void ) /** * Initialize the signal handler. */ -LOCAL void +static void Initialize_Signal_Handler( void ) { /* Signal-Handler initialisieren: einige Signale @@ -511,7 +513,7 @@ Initialize_Signal_Handler( void ) * user and/or the system to it. For example SIGTERM and SIGHUP. * @param Signal Number of the signal to handle. */ -LOCAL void +static void Signal_Handler( int Signal ) { switch( Signal ) @@ -542,7 +544,7 @@ Signal_Handler( int Signal ) /** * Display copyright and version information of ngIRCd on the console. */ -LOCAL void +static void Show_Version( void ) { puts( NGIRCd_Version ); @@ -558,7 +560,7 @@ Show_Version( void ) * This help depends on the configuration of the executable and only shows * options that are actually enabled. */ -LOCAL void +static void Show_Help( void ) { #ifdef DEBUG @@ -579,7 +581,7 @@ Show_Help( void ) /** * Delete the file containing the process ID (PID). */ -LOCAL void +static void Pidfile_Delete( void ) { /* Pidfile configured? */ @@ -598,7 +600,7 @@ Pidfile_Delete( void ) * Create the file containing the process ID of ngIRCd ("PID file"). * @param pid The process ID to be stored in this file. */ -LOCAL void +static void Pidfile_Create( long pid ) { int pidfd; @@ -635,7 +637,7 @@ Pidfile_Create( long pid ) /** * Redirect stdin, stdout and stderr to apropriate file handles. */ -LOCAL void +static void Setup_FDStreams( void ) { int fd; @@ -660,7 +662,7 @@ Setup_FDStreams( void ) } /* Setup_FDStreams */ -LOCAL bool +static bool NGIRCd_getNobodyID(unsigned int *uid, unsigned int *gid ) { struct passwd *pwd; @@ -679,7 +681,7 @@ NGIRCd_getNobodyID(unsigned int *uid, unsigned int *gid ) } -LOCAL bool +static bool NGIRCd_Init( bool NGIRCd_NoDaemon ) { static bool initialized;