From: Victor Julien Date: Sat, 15 Oct 2016 17:24:35 +0000 (+0200) Subject: detect: enip/cip list in engine X-Git-Tag: suricata-4.0.0-beta1~411 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da7c816c7cc1b314f3c600827ec8270b7247e206;p=thirdparty%2Fsuricata.git detect: enip/cip list in engine --- diff --git a/src/detect-engine-enip.c b/src/detect-engine-enip.c index 814be1c020..720a318ac5 100644 --- a/src/detect-engine-enip.c +++ b/src/detect-engine-enip.c @@ -219,14 +219,13 @@ int CIPServiceMatch(ENIPTransaction *enip_data, */ int DetectEngineInspectCIP(ThreadVars *tv, DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx, - const Signature *s, const SigMatch *smi, Flow *f, uint8_t flags, + const Signature *s, const SigMatch *sm, Flow *f, uint8_t flags, void *alstate, void *txv, uint64_t tx_id) { SCEnter(); ENIPTransaction *tx = (ENIPTransaction *) txv; - SigMatch *sm = s->sm_lists[DETECT_SM_LIST_CIP_MATCH]; DetectCipServiceData *cipserviced = (DetectCipServiceData *) sm->ctx; if (cipserviced == NULL) @@ -260,13 +259,12 @@ int DetectEngineInspectCIP(ThreadVars *tv, int DetectEngineInspectENIP(ThreadVars *tv, DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx, - const Signature *s, const SigMatch *smi, + const Signature *s, const SigMatch *sm, Flow *f, uint8_t flags, void *alstate, void *txv, uint64_t tx_id) { SCEnter(); ENIPTransaction *tx = (ENIPTransaction *) txv; - SigMatch *sm = s->sm_lists[DETECT_SM_LIST_ENIP_MATCH]; DetectEnipCommandData *enipcmdd = (DetectEnipCommandData *) sm->ctx; if (enipcmdd == NULL) diff --git a/src/detect-engine.c b/src/detect-engine.c index f87513107e..ad86cc0c69 100644 --- a/src/detect-engine.c +++ b/src/detect-engine.c @@ -203,6 +203,8 @@ int DetectEngineAppInspectionEngine2Signature(Signature *s) case DETECT_SM_LIST_APP_EVENT: case DETECT_SM_LIST_MODBUS_MATCH: + case DETECT_SM_LIST_CIP_MATCH: + case DETECT_SM_LIST_ENIP_MATCH: new_engine->sm = s->sm_lists[new_engine->sm_list]; s->sm_lists[new_engine->sm_list] = NULL;