* 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.14 2002/03/03 17:17:01 alex Exp $
+ * $Id: conf.c,v 1.19 2002/03/25 16:14:15 alex Exp $
*
* conf.h: Konfiguration des ngircd
- *
- * $Log: conf.c,v $
- * Revision 1.14 2002/03/03 17:17:01 alex
- * - strncpy() und vsnprintf() kopieren nun etwas "optimierter" (1 Byte weniger) :-)
- *
- * Revision 1.13 2002/01/18 15:51:44 alex
- * - Server-Verbinungen werden beim Start erst nach kurzer Pause aufgebaut.
- *
- * Revision 1.12 2002/01/05 23:26:24 alex
- * - Fehlermeldungen korrigiert.
- *
- * Revision 1.11 2002/01/05 16:51:49 alex
- * - Bug bei Remote-Server-Namen entfernt: diese wurden falsch gekuerzt.
- *
- * Revision 1.10 2002/01/03 02:27:20 alex
- * - das Server-Passwort kann nun konfiguriert werden.
- *
- * Revision 1.9 2002/01/02 02:49:15 alex
- * - Konfigurationsdatei "Samba like" umgestellt.
- * - es koennen nun mehrere Server und Oprtatoren konfiguriert werden.
- *
- * Revision 1.7 2002/01/01 18:25:44 alex
- * - #include's fuer stdlib.h ergaenzt.
- *
- * Revision 1.6 2001/12/31 02:18:51 alex
- * - viele neue Befehle (WHOIS, ISON, OPER, DIE, RESTART),
- * - neuen Header "defines.h" mit (fast) allen Konstanten.
- * - Code Cleanups und viele "kleine" Aenderungen & Bugfixes.
- *
- * Revision 1.5 2001/12/30 19:26:11 alex
- * - Unterstuetzung fuer die Konfigurationsdatei eingebaut.
- *
- * Revision 1.4 2001/12/26 22:48:53 alex
- * - MOTD-Datei ist nun konfigurierbar und wird gelesen.
- *
- * Revision 1.3 2001/12/26 14:45:37 alex
- * - "Code Cleanups".
- *
- * Revision 1.2 2001/12/26 03:19:57 alex
- * - erste Konfigurations-Variablen definiert: PING/PONG-Timeout.
- *
- * Revision 1.1 2001/12/12 17:18:20 alex
- * - Modul fuer Server-Konfiguration begonnen.
*/
-#include <portab.h>
-#include "global.h"
+#include "portab.h"
-#include <imp.h>
+#include "imp.h"
#include <assert.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include "client.h"
+#include "defines.h"
#include "log.h"
#include "tool.h"
-#include <exp.h>
+#include "exp.h"
#include "conf.h"
/* Konfigurationsvariablen initialisieren: zunaechst Default-
* Werte setzen, dann Konfigurationsdtaei einlesen. */
- strcpy( Conf_File, "/usr/local/etc/ngircd.conf" );
+ strcpy( Conf_File, CONFIG_FILE );
strcpy( Conf_ServerName, "" );
strcpy( Conf_ServerInfo, PACKAGE" "VERSION );
strcpy( Conf_ServerPwd, "" );
- strcpy( Conf_MotdFile, "/usr/local/etc/ngircd.motd" );
+ strcpy( Conf_MotdFile, MOTD_FILE );
Conf_ListenPorts_Count = 0;
Conf_PingTimeout = 120;
- Conf_PongTimeout = 10;
+ Conf_PongTimeout = 20;
Conf_ConnectRetry = 60;
strcpy( Conf_Server[Conf_Server_Count].name, "" );
strcpy( Conf_Server[Conf_Server_Count].pwd, "" );
Conf_Server[Conf_Server_Count].port = 0;
+ Conf_Server[Conf_Server_Count].group = -1;
Conf_Server[Conf_Server_Count].lasttry = time( NULL ) - Conf_ConnectRetry + STARTUP_DELAY;
Conf_Server[Conf_Server_Count].res_stat = NULL;
Conf_Server_Count++;
GLOBAL VOID Handle_SERVER( INT Line, CHAR *Var, CHAR *Arg )
{
- INT port;
+ INT32 port;
assert( Line > 0 );
assert( Var != NULL );
{
/* Port, zu dem Verbunden werden soll */
port = atol( Arg );
- if( port > 0 && port < 0xFFFF ) Conf_Server[Conf_Server_Count - 1].port = port;
+ if( port > 0 && port < 0xFFFF ) Conf_Server[Conf_Server_Count - 1].port = (INT)port;
else Log( LOG_ERR, "%s, line %d (section \"Server\"): Illegal port number %ld!", Conf_File, Line, port );
return;
}
+ if( strcasecmp( Var, "Group" ) == 0 )
+ {
+ /* Server-Gruppe */
+ Conf_Server[Conf_Server_Count - 1].group = atoi( Arg );
+ return;
+ }
Log( LOG_ERR, "%s, line %d (section \"Server\"): Unknown variable \"%s\"!", Conf_File, Line, Var );
} /* Handle_SERVER */