summaryrefslogtreecommitdiff
path: root/src/swanctl/commands/load_authorities.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/swanctl/commands/load_authorities.c')
-rw-r--r--src/swanctl/commands/load_authorities.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/swanctl/commands/load_authorities.c b/src/swanctl/commands/load_authorities.c
index 8947866f5..d82c0f98e 100644
--- a/src/swanctl/commands/load_authorities.c
+++ b/src/swanctl/commands/load_authorities.c
@@ -75,15 +75,15 @@ static bool add_file_key_value(vici_req_t *req, char *key, char *value)
}
/**
- * Translate sletting key/values from a section into vici key-values/lists
+ * Translate sletting key/values from a section enumerator into vici
+ * key-values/lists. Destroys the enumerator.
*/
-static bool add_key_values(vici_req_t *req, settings_t *cfg, char *section)
+static bool add_key_values(vici_req_t *req, enumerator_t *enumerator)
{
- enumerator_t *enumerator;
char *key, *value;
bool ret = TRUE;
- enumerator = cfg->create_key_value_enumerator(cfg, section);
+
while (enumerator->enumerate(enumerator, &key, &value))
{
if (streq(key, "cacert"))
@@ -115,17 +115,17 @@ static bool add_key_values(vici_req_t *req, settings_t *cfg, char *section)
static bool load_authority(vici_conn_t *conn, settings_t *cfg,
char *section, command_format_options_t format)
{
+ enumerator_t *enumerator;
vici_req_t *req;
vici_res_t *res;
bool ret = TRUE;
- char buf[128];
-
- snprintf(buf, sizeof(buf), "%s.%s", "authorities", section);
req = vici_begin("load-authority");
vici_begin_section(req, section);
- if (!add_key_values(req, cfg, buf))
+ enumerator = cfg->create_key_value_enumerator(cfg, "authorities.%s",
+ section);
+ if (!add_key_values(req, enumerator))
{
vici_free_req(req);
return FALSE;