|
|
|
@ -1,4 +1,4 @@
|
|
|
|
|
/* Copyright (C) 2007-2013 Open Information Security Foundation
|
|
|
|
|
/* Copyright (C) 2007-2020 Open Information Security Foundation
|
|
|
|
|
*
|
|
|
|
|
* You can copy, redistribute or modify this Program under the terms of
|
|
|
|
|
* the GNU General Public License version 2 as published by the Free
|
|
|
|
@ -229,10 +229,15 @@ static int DetectThresholdSetup(DetectEngineCtx *de_ctx, Signature *s, const cha
|
|
|
|
|
SigMatch *tmpm = NULL;
|
|
|
|
|
|
|
|
|
|
/* checks if there is a previous instance of detection_filter */
|
|
|
|
|
tmpm = DetectGetLastSMFromLists(s, DETECT_DETECTION_FILTER, -1);
|
|
|
|
|
tmpm = DetectGetLastSMFromLists(s, DETECT_THRESHOLD, DETECT_DETECTION_FILTER, -1);
|
|
|
|
|
if (tmpm != NULL) {
|
|
|
|
|
if (tmpm->type == DETECT_DETECTION_FILTER) {
|
|
|
|
|
SCLogError(SC_ERR_INVALID_SIGNATURE, "\"detection_filter\" and "
|
|
|
|
|
"\"threshold\" are not allowed in the same rule");
|
|
|
|
|
} else {
|
|
|
|
|
SCLogError(SC_ERR_INVALID_SIGNATURE, "multiple \"threshold\" "
|
|
|
|
|
"options are not allowed in the same rule");
|
|
|
|
|
}
|
|
|
|
|
SCReturnInt(-1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|