1
0
mirror of https://github.com/osmarks/ngircd.git synced 2025-07-24 11:52:50 +00:00

- in ServerUID und ServerGID kann nun jeweils auch der Name (und nicht nur

die numerische ID) verwendet werden.
This commit is contained in:
Alexander Barton 2002-11-08 23:09:26 +00:00
parent 8da254ea74
commit ae39724a63
2 changed files with 27 additions and 10 deletions

View File

@ -1,4 +1,4 @@
# $Id: sample-ngircd.conf,v 1.12 2002/11/02 23:13:18 alex Exp $ # $Id: sample-ngircd.conf,v 1.13 2002/11/08 23:09:26 alex Exp $
# #
# Das ist eine Beispiel-Konfiguration fuer den ngIRCd, die an die # Das ist eine Beispiel-Konfiguration fuer den ngIRCd, die an die
@ -42,14 +42,16 @@
;MotdFile = /usr/local/etc/ngircd.motd ;MotdFile = /usr/local/etc/ngircd.motd
# User-ID, unter der der Daemon laufen soll (dazu muss der Server # User-ID, unter der der Daemon laufen soll (dazu muss der Server
# jedoch mit root-Rechten gestartet werden). # jedoch mit root-Rechten gestartet werden). Es kann der Name oder
# die numerische ID angegeben werden.
# ACHTUNG: Die Konfigurations- und MOTD-Datei muessen fuer diesen # ACHTUNG: Die Konfigurations- und MOTD-Datei muessen fuer diesen
# Benutzer lesbar sein, ansonsten schlaegt ein RESTART fehl! # Benutzer lesbar sein, ansonsten schlaegt ein RESTART fehl!
;ServerUID = 65534 ;ServerUID = ircd
# Group-ID, zu der der Daemon wechseln soll (hierzu muss der Server # Group-ID, zu der der Daemon wechseln soll (hierzu muss der Server
# jedoch mit root-Rechten gestartet werden) # jedoch mit root-Rechten gestartet werden). Es kann der Name oder
;ServerGID = 65534 # die numerische ID angegeben werden.
;ServerGID = daemon
# Nach <PingTimeout> Sekunden verschickt der Server bei Inaktivitaet # Nach <PingTimeout> Sekunden verschickt der Server bei Inaktivitaet
# von einem Client diesem ein PING. # von einem Client diesem ein PING.

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
* *
* $Id: conf.c,v 1.35 2002/11/02 22:59:01 alex Exp $ * $Id: conf.c,v 1.36 2002/11/08 23:09:26 alex Exp $
* *
* conf.h: Konfiguration des ngircd * conf.h: Konfiguration des ngircd
*/ */
@ -25,6 +25,9 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
#include <pwd.h>
#include <grp.h>
#include <sys/types.h>
#include "ngircd.h" #include "ngircd.h"
#include "conn.h" #include "conn.h"
@ -67,6 +70,8 @@ Conf_Test( VOID )
{ {
/* Konfiguration einlesen, ueberpruefen und ausgeben. */ /* Konfiguration einlesen, ueberpruefen und ausgeben. */
struct passwd *pwd;
struct group *grp;
INT i; INT i;
Use_Log = FALSE; Use_Log = FALSE;
@ -98,8 +103,12 @@ Conf_Test( VOID )
printf( "%u", Conf_ListenPorts[i] ); printf( "%u", Conf_ListenPorts[i] );
} }
puts( "" ); puts( "" );
printf( " ServerUID = %ld\n", (LONG)Conf_UID ); pwd = getpwuid( Conf_UID );
printf( " ServerGID = %ld\n", (LONG)Conf_GID ); if( pwd ) printf( " ServerUID = %s\n", pwd->pw_name );
else printf( " ServerUID = %ld\n", (LONG)Conf_UID );
grp = getgrgid( Conf_GID );
if( grp ) printf( " ServerGID = %s\n", grp->gr_name );
else printf( " ServerGID = %ld\n", (LONG)Conf_GID );
printf( " PingTimeout = %d\n", Conf_PingTimeout ); printf( " PingTimeout = %d\n", Conf_PingTimeout );
printf( " PongTimeout = %d\n", Conf_PongTimeout ); printf( " PongTimeout = %d\n", Conf_PongTimeout );
printf( " ConnectRetry = %d\n", Conf_ConnectRetry ); printf( " ConnectRetry = %d\n", Conf_ConnectRetry );
@ -298,6 +307,8 @@ Read_Config( VOID )
LOCAL VOID LOCAL VOID
Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg ) Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
{ {
struct passwd *pwd;
struct group *grp;
CHAR *ptr; CHAR *ptr;
LONG port; LONG port;
@ -376,13 +387,17 @@ Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
if( strcasecmp( Var, "ServerUID" ) == 0 ) if( strcasecmp( Var, "ServerUID" ) == 0 )
{ {
/* UID, mit der der Daemon laufen soll */ /* UID, mit der der Daemon laufen soll */
Conf_UID = (UINT)atoi( Arg ); pwd = getpwnam( Arg );
if( pwd ) Conf_UID = pwd->pw_uid;
else Conf_UID = (UINT)atoi( Arg );
return; return;
} }
if( strcasecmp( Var, "ServerGID" ) == 0 ) if( strcasecmp( Var, "ServerGID" ) == 0 )
{ {
/* GID, mit der der Daemon laufen soll */ /* GID, mit der der Daemon laufen soll */
Conf_GID = (UINT)atoi( Arg ); grp = getgrnam( Arg );
if( grp ) Conf_GID = grp->gr_gid;
else Conf_GID = (UINT)atoi( Arg );
return; return;
} }
if( strcasecmp( Var, "PingTimeout" ) == 0 ) if( strcasecmp( Var, "PingTimeout" ) == 0 )