From: Victor Julien Date: Thu, 10 Oct 2019 05:39:12 +0000 (+0200) Subject: datasets: make clear the feature is experimental X-Git-Tag: suricata-5.0.0~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d2bd6607e2b1a992a93709b99c56d59f8d6b59b;p=thirdparty%2Fsuricata.git datasets: make clear the feature is experimental --- diff --git a/doc/userguide/rules/datasets.rst b/doc/userguide/rules/datasets.rst index 99e5869a66..4a2b174c59 100644 --- a/doc/userguide/rules/datasets.rst +++ b/doc/userguide/rules/datasets.rst @@ -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. diff --git a/src/datasets.c b/src/datasets.c index 315e801e65..5ed04acdba 100644 --- a/src/datasets.c +++ b/src/datasets.c @@ -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) { diff --git a/src/detect-datarep.c b/src/detect-datarep.c index c8ec739e08..e0dbcc1752 100644 --- a/src/detect-datarep.c +++ b/src/detect-datarep.c @@ -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; diff --git a/src/detect-dataset.c b/src/detect-dataset.c index b9d2df1520..656a355db9 100644 --- a/src/detect-dataset.c +++ b/src/detect-dataset.c @@ -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;