1
0
mirror of https://github.com/osmarks/ngircd.git synced 2024-10-28 04:46:17 +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
@ -42,14 +42,16 @@
;MotdFile = /usr/local/etc/ngircd.motd
# 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
# Benutzer lesbar sein, ansonsten schlaegt ein RESTART fehl!
;ServerUID = 65534
;ServerUID = ircd
# Group-ID, zu der der Daemon wechseln soll (hierzu muss der Server
# jedoch mit root-Rechten gestartet werden)
;ServerGID = 65534
# jedoch mit root-Rechten gestartet werden). Es kann der Name oder
# die numerische ID angegeben werden.
;ServerGID = daemon
# Nach <PingTimeout> Sekunden verschickt der Server bei Inaktivitaet
# von einem Client diesem ein PING.

View File

@ -9,7 +9,7 @@
* Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
* 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
*/
@ -25,6 +25,9 @@
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <pwd.h>
#include <grp.h>
#include <sys/types.h>
#include "ngircd.h"
#include "conn.h"
@ -67,6 +70,8 @@ Conf_Test( VOID )
{
/* Konfiguration einlesen, ueberpruefen und ausgeben. */
struct passwd *pwd;
struct group *grp;
INT i;
Use_Log = FALSE;
@ -98,8 +103,12 @@ Conf_Test( VOID )
printf( "%u", Conf_ListenPorts[i] );
}
puts( "" );
printf( " ServerUID = %ld\n", (LONG)Conf_UID );
printf( " ServerGID = %ld\n", (LONG)Conf_GID );
pwd = getpwuid( Conf_UID );
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( " PongTimeout = %d\n", Conf_PongTimeout );
printf( " ConnectRetry = %d\n", Conf_ConnectRetry );
@ -298,6 +307,8 @@ Read_Config( VOID )
LOCAL VOID
Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
{
struct passwd *pwd;
struct group *grp;
CHAR *ptr;
LONG port;
@ -376,13 +387,17 @@ Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
if( strcasecmp( Var, "ServerUID" ) == 0 )
{
/* 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;
}
if( strcasecmp( Var, "ServerGID" ) == 0 )
{
/* 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;
}
if( strcasecmp( Var, "PingTimeout" ) == 0 )