]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
datasets: change config to map
authorVictor Julien <victor@inliniac.net>
Thu, 3 Oct 2019 14:40:45 +0000 (16:40 +0200)
committerVictor Julien <victor@inliniac.net>
Fri, 4 Oct 2019 13:04:57 +0000 (15:04 +0200)
Example:

datasets:
  ua-seen:
    type: string
    state: ua-seen.lst
  dns-sha256-seen:
    type: sha256
    state: dns-sha256-seen.lst

src/datasets.c

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