aboutsummaryrefslogtreecommitdiffstats
path: root/conf.c
diff options
context:
space:
mode:
Diffstat (limited to 'conf.c')
-rw-r--r--conf.c43
1 files changed, 35 insertions, 8 deletions
diff --git a/conf.c b/conf.c
index b997fb0a..b5993b4b 100644
--- a/conf.c
+++ b/conf.c
@@ -62,6 +62,9 @@ conf_t *conf_load( int argc, char *argv[] )
conf->ping_interval = 180;
conf->ping_timeout = 300;
conf->user = NULL;
+ conf->ft_max_size = SIZE_MAX;
+ conf->ft_max_kbps = G_MAXUINT;
+ conf->ft_listen = NULL;
conf->protocols = NULL;
proxytype = 0;
@@ -78,7 +81,7 @@ conf_t *conf_load( int argc, char *argv[] )
at a *valid* configuration file. */
}
- while( argc > 0 && ( opt = getopt( argc, argv, "i:p:P:nvIDFc:d:hR:u:" ) ) >= 0 )
+ while( argc > 0 && ( opt = getopt( argc, argv, "i:p:P:nvIDFc:d:hu:V" ) ) >= 0 )
/* ^^^^ Just to make sure we skip this step from the REHASH handler. */
{
if( opt == 'i' )
@@ -144,15 +147,15 @@ conf_t *conf_load( int argc, char *argv[] )
" -c Load alternative configuration file\n"
" -d Specify alternative user configuration directory\n"
" -x Command-line interface to password encryption/hashing\n"
- " -h Show this help page.\n" );
+ " -h Show this help page.\n"
+ " -V Show version info.\n" );
return NULL;
}
- else if( opt == 'R' )
+ else if( opt == 'V' )
{
- /* Backward compatibility; older BitlBees passed this
- info using a command-line flag. Allow people to
- upgrade from such a version for now. */
- setenv( "_BITLBEE_RESTART_STATE", optarg, 0 );
+ printf( "BitlBee %s\nAPI version %06x\n",
+ BITLBEE_VERSION, BITLBEE_VERSION_CODE );
+ return NULL;
}
else if( opt == 'u' )
{
@@ -307,6 +310,30 @@ static int conf_loadini( conf_t *conf, char *file )
g_free( conf->user );
conf->user = g_strdup( ini->value );
}
+ else if( g_strcasecmp( ini->key, "ft_max_size" ) == 0 )
+ {
+ size_t ft_max_size;
+ if( sscanf( ini->value, "%zu", &ft_max_size ) != 1 )
+ {
+ fprintf( stderr, "Invalid %s value: %s\n", ini->key, ini->value );
+ return 0;
+ }
+ conf->ft_max_size = ft_max_size;
+ }
+ else if( g_strcasecmp( ini->key, "ft_max_kbps" ) == 0 )
+ {
+ if( sscanf( ini->value, "%d", &i ) != 1 )
+ {
+ fprintf( stderr, "Invalid %s value: %s\n", ini->key, ini->value );
+ return 0;
+ }
+ conf->ft_max_kbps = i;
+ }
+ else if( g_strcasecmp( ini->key, "ft_listen" ) == 0 )
+ {
+ g_free( conf->ft_listen );
+ conf->ft_listen = g_strdup( ini->value );
+ }
else if( g_strcasecmp( ini->key, "protocols" ) == 0 )
{
g_strfreev( conf->protocols );
@@ -341,7 +368,7 @@ void conf_loaddefaults( irc_t *irc )
{
if( g_strcasecmp( ini->section, "defaults" ) == 0 )
{
- set_t *s = set_find( &irc->set, ini->key );
+ set_t *s = set_find( &irc->b->set, ini->key );
if( s )
{