+
+ switch (param) {
+ case BINDPORT:
+ setting = config_lookup(&configuration, "bindport");
+ if (!setting)
+ return DEFAULT_BINDPORT;
+ else {
+ return config_setting_get_int(setting);
+ }
+ break;
+ case BINDPORT6:
+ setting = config_lookup(&configuration, "bindport6");
+ if (!setting)
+ /* If bindport6 is not specified, we default
+ * to whatever bindport is, rather than always
+ * default to 64738 */
+ return getIntConf(BINDPORT);
+ else {
+ 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)
+ return DEFAULT_MAX_BANDWIDTH;
+ else {
+ return config_setting_get_int(setting);
+ }
+ break;
+ case MAX_CLIENTS:
+ setting = config_lookup(&configuration, "max_users");
+ if (!setting)
+ return DEFAULT_MAX_CLIENTS;
+ else {
+ return config_setting_get_int(setting);
+ }
+ break;
+ case OPUS_THRESHOLD:
+ setting = config_lookup(&configuration, "opus_threshold");
+ if (!setting)
+ return DEFAULT_OPUS_THRESHOLD;
+ else {
+ return config_setting_get_int(setting);
+ }
+ break;
+ default:
+ doAssert(false);
+ }
+}
+
+bool_t getBoolConf(param_t param)
+{
+ config_setting_t *setting = NULL;
+