X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=src%2Fconf.c;h=adc0e1ba335d3859ef18b6cad8dc576a66218775;hb=04e1b924dfa4950e852ead79b2a51a5687bf8b41;hp=2873a9e40e7d5bd6da75a2ee9137b6d1f34b5919;hpb=ddc0e8af6bbcb1f7635ea78297c5158611821aec;p=umurmur.git diff --git a/src/conf.c b/src/conf.c index 2873a9e..adc0e1b 100644 --- a/src/conf.c +++ b/src/conf.c @@ -44,6 +44,7 @@ static config_t configuration; #define DEFAULT_MAX_CLIENTS 10 #define DEFAULT_MAX_BANDWIDTH 48000 #define DEFAULT_BINDPORT 64738 +#define DEFAULT_BAN_LENGTH (60*60) const char defaultconfig[] = DEFAULT_CONFIG; @@ -58,16 +59,19 @@ void Conf_init(const char *conffile) } } -void Conf_test(const char *conffile) +bool_t Conf_ok(const char *conffile) { + bool_t rc = true; config_init(&configuration); if (conffile == NULL) conffile = defaultconfig; if (config_read_file(&configuration, conffile) != CONFIG_TRUE) { - fprintf(stderr, "Error in config file %s line %d: %s", conffile, + fprintf(stderr, "Error in config file %s line %d: %s\n", conffile, config_error_line(&configuration), config_error_text(&configuration)); - exit(1); + rc = false; } + config_destroy(&configuration); + return rc; } void Conf_deinit() @@ -114,6 +118,17 @@ const char *getStrConf(param_t param) return ""; } break; + case ADMIN_PASSPHRASE: + setting = config_lookup(&configuration, "admin_password"); + if (!setting) + return ""; + else { + if ((strsetting = config_setting_get_string(setting)) != NULL) + return strsetting; + else + return ""; + } + break; case BINDADDR: setting = config_lookup(&configuration, "bindaddr"); if (!setting) @@ -200,6 +215,14 @@ int getIntConf(param_t param) return config_setting_get_int(setting); } break; + case BAN_LENGTH: + setting = config_lookup(&configuration, "ban_length"); + if (!setting) + return DEFAULT_BAN_LENGTH; + else { + return config_setting_get_int(setting); + } + break; case MAX_BANDWIDTH: setting = config_lookup(&configuration, "max_bandwidth"); if (!setting)