]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
datasets: make clear the feature is experimental
authorVictor Julien <victor@inliniac.net>
Thu, 10 Oct 2019 05:39:12 +0000 (07:39 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 10 Oct 2019 05:39:12 +0000 (07:39 +0200)
doc/userguide/rules/datasets.rst
src/datasets.c
src/detect-datarep.c
src/detect-dataset.c

index 99e5869a66dfa46c3e71620ab8edeac3dc00591b..4a2b174c59dba7abd4c1dfe4d3b76d3e567921fa 100644 (file)
@@ -1,6 +1,9 @@
 Datasets
 ========
 
+.. warning:: This is an experimental feature. Syntax and functionality may
+             change in future releases.
+
 Using the ``dataset`` and ``datarep`` keyword it is possible to match on
 large amounts of data against any sticky buffer.
 
index 315e801e65eb963c17163e1d32d0ff1272643e46..5ed04acdba203717fdea482491331c7ef64bf355 100644 (file)
@@ -36,6 +36,7 @@
 SCMutex sets_lock = SCMUTEX_INITIALIZER;
 static Dataset *sets = NULL;
 static uint32_t set_ids = 0;
+static bool experimental_warning = false;
 
 static int DatasetAddwRep(Dataset *set, const uint8_t *data, const uint32_t data_len,
         DataRepType *rep);
@@ -412,6 +413,10 @@ Dataset *DatasetGet(const char *name, enum DatasetTypes type,
     }
 
     SCMutexLock(&sets_lock);
+    if (!experimental_warning) {
+        SCLogNotice("dataset and datarep features are experimental and subject to change");
+        experimental_warning = true;
+    }
     Dataset *set = DatasetSearchByName(name);
     if (set) {
         if (type != DATASET_TYPE_NOTSET && set->type != type) {
index c8ec739e08be3c4c1865f8fc62d88d1b30a9b906..e0dbcc175273825f22732143aa5cb5e4eb5aecff 100644 (file)
@@ -51,7 +51,7 @@ void DetectDatarepFree (void *);
 void DetectDatarepRegister (void)
 {
     sigmatch_table[DETECT_DATAREP].name = "datarep";
-    sigmatch_table[DETECT_DATAREP].desc = "operate on datasets";
+    sigmatch_table[DETECT_DATAREP].desc = "operate on datasets (experimental)";
     sigmatch_table[DETECT_DATAREP].url = DOC_URL DOC_VERSION "/rules/dataset-keywords.html#datarep";
     sigmatch_table[DETECT_DATAREP].Setup = DetectDatarepSetup;
     sigmatch_table[DETECT_DATAREP].Free  = DetectDatarepFree;
index b9d2df152066aaf2061f3b65957ce64d7e54568f..656a355db933b6a79c56233ccb5717e7297b5d8c 100644 (file)
@@ -50,7 +50,7 @@ void DetectDatasetFree (void *);
 void DetectDatasetRegister (void)
 {
     sigmatch_table[DETECT_DATASET].name = "dataset";
-    sigmatch_table[DETECT_DATASET].desc = "match sticky buffer against datasets";
+    sigmatch_table[DETECT_DATASET].desc = "match sticky buffer against datasets (experimental)";
     sigmatch_table[DETECT_DATASET].url = DOC_URL DOC_VERSION "/rules/dataset-keywords.html#dataset";
     sigmatch_table[DETECT_DATASET].Setup = DetectDatasetSetup;
     sigmatch_table[DETECT_DATASET].Free  = DetectDatasetFree;