datasets: change config to map

Example:

datasets:
  ua-seen:
    type: string
    state: ua-seen.lst
  dns-sha256-seen:
    type: sha256
    state: dns-sha256-seen.lst
pull/4275/head
Victor Julien 7 years ago
parent 1e50b2e404
commit 9b64b6794b

@ -518,7 +518,7 @@ int DatasetsInit(void)
int list_pos = 0; int list_pos = 0;
ConfNode *iter = NULL; ConfNode *iter = NULL;
TAILQ_FOREACH(iter, &datasets->head, next) { TAILQ_FOREACH(iter, &datasets->head, next) {
if (iter->val == NULL) { if (iter->name == NULL) {
list_pos++; list_pos++;
continue; continue;
} }
@ -526,33 +526,27 @@ int DatasetsInit(void)
char save[PATH_MAX] = ""; char save[PATH_MAX] = "";
char load[PATH_MAX] = ""; char load[PATH_MAX] = "";
const char *set_name = iter->val; const char *set_name = iter->name;
if (strlen(set_name) > SETNAME_MAX) { if (strlen(set_name) > SETNAME_MAX) {
FatalError(SC_ERR_CONF_NAME_TOO_LONG, "set name '%s' too long, max %d chars", FatalError(SC_ERR_CONF_NAME_TOO_LONG, "set name '%s' too long, max %d chars",
set_name, SETNAME_MAX); set_name, SETNAME_MAX);
} }
ConfNode *set = ConfNodeLookupChild(iter, set_name);
if (set == NULL) {
list_pos++;
continue;
}
ConfNode *set_type = ConfNode *set_type =
ConfNodeLookupChild(set, "type"); ConfNodeLookupChild(iter, "type");
if (set_type == NULL) { if (set_type == NULL) {
list_pos++; list_pos++;
continue; continue;
} }
ConfNode *set_save = ConfNode *set_save =
ConfNodeLookupChild(set, "state"); ConfNodeLookupChild(iter, "state");
if (set_save) { if (set_save) {
DatasetGetPath(set_save->val, save, sizeof(save), TYPE_STATE); DatasetGetPath(set_save->val, save, sizeof(save), TYPE_STATE);
strlcpy(load, save, sizeof(load)); strlcpy(load, save, sizeof(load));
} else { } else {
ConfNode *set_load = ConfNode *set_load =
ConfNodeLookupChild(set, "load"); ConfNodeLookupChild(iter, "load");
if (set_load) { if (set_load) {
DatasetGetPath(set_load->val, load, sizeof(load), TYPE_LOAD); DatasetGetPath(set_load->val, load, sizeof(load), TYPE_LOAD);
} }

Loading…
Cancel
Save