* 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.26 2002/05/27 13:09:26 alex Exp $
+ * $Id: conf.c,v 1.28 2002/09/02 14:59:17 alex Exp $
*
* conf.h: Konfiguration des ngircd
*/
printf( " PingTimeout = %d\n", Conf_PingTimeout );
printf( " PongTimeout = %d\n", Conf_PongTimeout );
printf( " ConnectRetry = %d\n", Conf_ConnectRetry );
+ printf( " OperCanUseMode = %s\n", Conf_OperCanMode == TRUE ? "yes" : "no" );
puts( "" );
for( i = 0; i < Conf_Oper_Count; i++ )
/* Konfigurationsvariablen initialisieren, d.h. auf Default-Werte setzen. */
strcpy( Conf_ServerName, "" );
- strcpy( Conf_ServerInfo, PACKAGE" "VERSION );
+ sprintf( Conf_ServerInfo, "%s %s", PACKAGE, VERSION );
strcpy( Conf_ServerPwd, "" );
strcpy( Conf_MotdFile, MOTD_FILE );
Conf_Oper_Count = 0;
Conf_Server_Count = 0;
Conf_Channel_Count = 0;
+
+ Conf_OperCanMode = FALSE;
} /* Set_Defaults */
{
/* Keine Konfigurationsdatei gefunden */
Config_Error( LOG_ALERT, "Can't read configuration \"%s\": %s", NGIRCd_ConfFile, strerror( errno ));
- Config_Error( LOG_ALERT, PACKAGE" exiting due to fatal errors!" );
+ Config_Error( LOG_ALERT, "%s exiting due to fatal errors!", PACKAGE );
exit( 1 );
}
if(( Conf_ConnectRetry ) < 5 ) Conf_ConnectRetry = 5;
return;
}
+ if( strcasecmp( Var, "OperCanUseMode" ) == 0 )
+ {
+ /* Koennen IRC-Operatoren immer MODE benutzen? */
+ if( strcasecmp( Arg, "yes" ) == 0 ) Conf_OperCanMode = TRUE;
+ else if( strcasecmp( Arg, "true" ) == 0 ) Conf_OperCanMode = TRUE;
+ else if( atoi( Arg ) != 0 ) Conf_OperCanMode = TRUE;
+ else Conf_OperCanMode = FALSE;
+ return;
+ }
Config_Error( LOG_ERR, "%s, line %d (section \"Global\"): Unknown variable \"%s\"!", NGIRCd_ConfFile, Line, Var );
} /* Handle_GLOBAL */
{
/* Kein Servername konfiguriert */
Config_Error( LOG_ALERT, "No server name configured in \"%s\"!", NGIRCd_ConfFile );
- Config_Error( LOG_ALERT, PACKAGE" exiting due to fatal errors!" );
+ Config_Error( LOG_ALERT, "%s exiting due to fatal errors!", PACKAGE );
exit( 1 );
}
} /* Validate_Config */
-LOCAL VOID
-Config_Error( CONST INT Level, CONST CHAR *Format, ... )
+#ifdef PROTOTYPES
+LOCAL VOID Config_Error( CONST INT Level, CONST CHAR *Format, ... )
+#else
+LOCAL VOID Config_Error( Level, Format, va_alist )
+CONST INT Level;
+CONST CHAR *Format;
+va_dcl
+#endif
{
/* Fehler! Auf Console und/oder ins Log schreiben */
assert( Format != NULL );
/* String mit variablen Argumenten zusammenbauen ... */
+#ifdef PROTOTYPES
va_start( ap, Format );
+#else
+ va_start( ap );
+#endif
vsnprintf( msg, MAX_LOG_MSG_LEN, Format, ap );
va_end( ap );