-/* Copyright (C) 2009-2012, Martin Johansson <martin@fatbob.nu>
- Copyright (C) 2005-2012, Thorvald Natvig <thorvald@natvig.com>
+/* Copyright (C) 2009-2014, Martin Johansson <martin@fatbob.nu>
+ Copyright (C) 2005-2014, Thorvald Natvig <thorvald@natvig.com>
All rights reserved.
{
config_setting_t *setting = NULL;
const char *strsetting = NULL;
-
+
switch (param) {
case CERTIFICATE:
setting = config_lookup(&configuration, "certificate");
return "/etc/umurmur/private_key.key";
}
break;
+ case CAPATH:
+ setting = config_lookup(&configuration, "ca_path");
+ if (!setting)
+ return NULL;
+ else {
+ if ((strsetting = config_setting_get_string(setting)) != NULL)
+ return strsetting;
+ else
+ return NULL;
+ }
+ break;
case PASSPHRASE:
setting = config_lookup(&configuration, "password");
if (!setting)
int getIntConf(param_t param)
{
config_setting_t *setting = NULL;
-
+
switch (param) {
case BINDPORT:
setting = config_lookup(&configuration, "bindport");
bool_t getBoolConf(param_t param)
{
config_setting_t *setting = NULL;
-
+
switch (param) {
case ALLOW_TEXTMESSAGE:
setting = config_lookup(&configuration, "allow_textmessage");
config_setting_t *setting = NULL;
int maxconfig = 64, ret = 0;
char configstr[maxconfig];
-
+
ret = snprintf(configstr, maxconfig, "channels.[%d].name", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL)
return -1; /* Required */
chdesc->name = config_setting_get_string(setting);
-
+
ret = snprintf(configstr, maxconfig, "channels.[%d].parent", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL)
return -1; /* Required */
chdesc->parent = config_setting_get_string(setting);
-
+
ret = snprintf(configstr, maxconfig, "channels.[%d].description", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
chdesc->description = NULL;
else
chdesc->description = config_setting_get_string(setting);
-
+
ret = snprintf(configstr, maxconfig, "channels.[%d].password", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
chdesc->password = NULL;
else
chdesc->password = config_setting_get_string(setting);
-
+
ret = snprintf(configstr, maxconfig, "channels.[%d].noenter", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
else
chdesc->noenter = config_setting_get_bool(setting);
+ ret = snprintf(configstr, maxconfig, "channels.[%d].silent", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->silent = false;
+ else
+ chdesc->silent = config_setting_get_bool(setting);
+
+ ret = snprintf(configstr, maxconfig, "channels.[%d].position", index);
+ setting = config_lookup(&configuration, configstr);
+ if (ret >= maxconfig || ret < 0 || setting == NULL) /* Optional */
+ chdesc->position = 0;
+ else
+ chdesc->position = config_setting_get_int(setting);
+
return 0;
}
config_setting_t *setting = NULL;
int maxconfig = 64, ret = 0;
char configstr[maxconfig];
-
+
ret = snprintf(configstr, maxconfig, "channel_links.[%d].source", index);
setting = config_lookup(&configuration, configstr);
if (ret >= maxconfig || ret < 0 || setting == NULL)