- new configuration variables: MaxJoins, MaxPChannels.

This commit is contained in:
Alexander Barton 2002-12-13 17:32:33 +00:00
parent b7eb5f66dc
commit 8b7b23cf8f
2 changed files with 36 additions and 4 deletions

View File

@ -14,7 +14,7 @@
#include "portab.h"
static char UNUSED id[] = "$Id: conf.c,v 1.42 2002/12/12 11:26:08 alex Exp $";
static char UNUSED id[] = "$Id: conf.c,v 1.43 2002/12/13 17:32:33 alex Exp $";
#include "imp.h"
#include <assert.h>
@ -117,6 +117,10 @@ Conf_Test( VOID )
printf( " OperCanUseMode = %s\n", Conf_OperCanMode == TRUE ? "yes" : "no" );
if( Conf_MaxConnections > 0 ) printf( " MaxConnections = %ld\n", Conf_MaxConnections );
else printf( " MaxConnections = -1\n" );
if( Conf_MaxJoins > 0 ) printf( " MaxJoins = %d\n", Conf_MaxJoins );
else printf( " MaxJoins = -1\n" );
if( Conf_MaxPChannels > 0 ) printf( " MaxPChannels = %d\n", Conf_MaxPChannels );
else printf( " MaxPChannels = -1\n" );
puts( "" );
for( i = 0; i < Conf_Oper_Count; i++ )
@ -191,7 +195,9 @@ Set_Defaults( VOID )
Conf_OperCanMode = FALSE;
Conf_MaxConnections = 0;
Conf_MaxConnections = -1;
Conf_MaxJoins = 10;
Conf_MaxPChannels = -1;
} /* Set_Defaults */
@ -478,7 +484,27 @@ Handle_GLOBAL( INT Line, CHAR *Var, CHAR *Arg )
Conf_MaxConnections = atol( Arg );
return;
}
if( strcasecmp( Var, "MaxJoins" ) == 0 )
{
/* Maximum number of channels a user can join. Values <= 0 are equal to "no limit". */
#ifdef HAVE_ISDIGIT
if( ! isdigit( *Arg )) Config_Error( LOG_WARNING, "%s, line %d: Value of \"MaxJoins\" is not a number!", NGIRCd_ConfFile, Line );
else
#endif
Conf_MaxJoins = atoi( Arg );
return;
}
if( strcasecmp( Var, "MaxPChannels" ) == 0 )
{
/* Maximum number of persistent channels in the network. Values <= 0 are equal to "no limit". */
#ifdef HAVE_ISDIGIT
if( ! isdigit( *Arg )) Config_Error( LOG_WARNING, "%s, line %d: Value of \"MaxPChannels\" is not a number!", NGIRCd_ConfFile, Line );
else
#endif
Conf_MaxPChannels = atoi( Arg );
return;
}
Config_Error( LOG_ERR, "%s, line %d (section \"Global\"): Unknown variable \"%s\"!", NGIRCd_ConfFile, Line, Var );
} /* Handle_GLOBAL */

View File

@ -8,7 +8,7 @@
* (at your option) any later version.
* Please read the file COPYING, README and AUTHORS for more information.
*
* $Id: conf.h,v 1.22 2002/12/12 11:26:08 alex Exp $
* $Id: conf.h,v 1.23 2002/12/13 17:32:33 alex Exp $
*
* Configuration management (header)
*/
@ -99,6 +99,12 @@ GLOBAL BOOLEAN Conf_OperCanMode;
/* Maximum number of connections to this server */
GLOBAL LONG Conf_MaxConnections;
/* Maximum number of channels a user can join */
GLOBAL INT Conf_MaxJoins;
/* Maximum number of persistent channels in the network */
GLOBAL INT Conf_MaxPChannels;
GLOBAL VOID Conf_Init PARAMS((VOID ));
GLOBAL INT Conf_Test PARAMS((VOID ));