* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
*
- * $Id: ngircd.c,v 1.56 2002/10/07 21:16:13 alex Exp $
+ * $Id: ngircd.c,v 1.59 2002/11/18 18:49:34 alex Exp $
*
* ngircd.c: Hier beginnt alles ;-)
*/
#include <sys/stat.h>
#include <sys/wait.h>
#include <time.h>
+#include <pwd.h>
+#include <grp.h>
#include "resolve.h"
#include "conn.h"
GLOBAL int
main( int argc, const char *argv[] )
{
+ struct passwd *pwd;
+ struct group *grp;
BOOLEAN ok, configtest = FALSE;
- INT32 pid, n;
+ LONG pid, n;
INT i;
umask( 0077 );
{
/* Kurze Option */
- for( n = 1; n < (INT32)strlen( argv[i] ); n++ )
+ for( n = 1; n < (LONG)strlen( argv[i] ); n++ )
{
ok = FALSE;
#ifdef DEBUG
NGIRCd_ConfFile[FNAME_LEN - 1] = '\0';
/* zum uebernaechsten Parameter */
- i++; n = (INT32)strlen( argv[i] );
+ i++; n = (LONG)strlen( argv[i] );
ok = TRUE;
}
}
if( ! NGIRCd_NoDaemon )
{
/* Daemon im Hintergrund erzeugen */
- pid = (INT32)fork( );
+ pid = (LONG)fork( );
if( pid > 0 )
{
/* "alter" Prozess */
if( setuid( Conf_UID ) != 0 ) Log( LOG_ERR, "Can't change User-ID to %u: %s", Conf_UID, strerror( errno ));
}
}
- Log( LOG_INFO, "Running as user %ld, group %ld, with PID %ld.", (INT32)getuid( ), (INT32)getgid( ), (INT32)getpid( ));
+
+ /* User, Gruppe und Prozess-ID des Daemon ausgeben */
+ pwd = getpwuid( getuid( )); grp = getgrgid( getgid( ));
+ Log( LOG_INFO, "Running as user %s(%ld), group %s(%ld), with PID %ld.", pwd ? pwd->pw_name : "unknown", (LONG)getuid( ), grp ? grp->gr_name : "unknown", (LONG)getgid( ), (LONG)getpid( ));
+ /* stderr in "Error-File" umlenken */
Log_InitErrorfile( );
/* Signal-Handler initialisieren */
puts( " -d, --debug log extra debug messages" );
#endif
puts( " -f, --config <f> use file <f> as configuration file" );
- puts( " -n, --nodaemon don't fork and don't detatch from controlling terminal" );
+ puts( " -n, --nodaemon don't fork and don't detach from controlling terminal" );
puts( " -p, --passive disable automatic connections to other servers" );
#ifdef SNIFFER
puts( " -s, --sniffer enable network sniffer and display all IRC traffic" );