diff --git a/src/detect-engine-mpm.c b/src/detect-engine-mpm.c index 6dbdedc0d0..036ed2899c 100644 --- a/src/detect-engine-mpm.c +++ b/src/detect-engine-mpm.c @@ -259,7 +259,7 @@ uint32_t PacketPatternSearchWithStreamCtx(DetectEngineThreadCtx *det_ctx, SCEnter(); uint32_t ret = 0; - MpmCtx *mpm_ctx = NULL; + const MpmCtx *mpm_ctx = NULL; if (p->flowflags & FLOW_PKT_TOSERVER) { DEBUG_VALIDATE_BUG_ON(det_ctx->sgh->mpm_stream_ctx_ts == NULL); @@ -294,7 +294,7 @@ uint32_t PacketPatternSearch(DetectEngineThreadCtx *det_ctx, Packet *p) SCEnter(); uint32_t ret; - MpmCtx *mpm_ctx = NULL; + const MpmCtx *mpm_ctx = NULL; if (p->proto == IPPROTO_TCP) { if (p->flowflags & FLOW_PKT_TOSERVER) { diff --git a/src/detect.h b/src/detect.h index 5ca200f82d..afef28f547 100644 --- a/src/detect.h +++ b/src/detect.h @@ -1007,33 +1007,33 @@ typedef struct SigGroupHead_ { uint32_t non_mpm_store_cnt; /* pattern matcher instances */ - MpmCtx *mpm_proto_other_ctx; - - MpmCtx *mpm_proto_tcp_ctx_ts; - MpmCtx *mpm_proto_udp_ctx_ts; - MpmCtx *mpm_stream_ctx_ts; - MpmCtx *mpm_uri_ctx_ts; - MpmCtx *mpm_hcbd_ctx_ts; - MpmCtx *mpm_hhd_ctx_ts; - MpmCtx *mpm_hrhd_ctx_ts; - MpmCtx *mpm_hmd_ctx_ts; - MpmCtx *mpm_hcd_ctx_ts; - MpmCtx *mpm_hrud_ctx_ts; - MpmCtx *mpm_huad_ctx_ts; - MpmCtx *mpm_hhhd_ctx_ts; - MpmCtx *mpm_hrhhd_ctx_ts; - MpmCtx *mpm_dnsquery_ctx_ts; - MpmCtx *mpm_smtp_filedata_ctx_ts; - - MpmCtx *mpm_proto_tcp_ctx_tc; - MpmCtx *mpm_proto_udp_ctx_tc; - MpmCtx *mpm_stream_ctx_tc; - MpmCtx *mpm_hsbd_ctx_tc; - MpmCtx *mpm_hhd_ctx_tc; - MpmCtx *mpm_hrhd_ctx_tc; - MpmCtx *mpm_hcd_ctx_tc; - MpmCtx *mpm_hsmd_ctx_tc; - MpmCtx *mpm_hscd_ctx_tc; + const MpmCtx *mpm_proto_other_ctx; + + const MpmCtx *mpm_proto_tcp_ctx_ts; + const MpmCtx *mpm_proto_udp_ctx_ts; + const MpmCtx *mpm_stream_ctx_ts; + const MpmCtx *mpm_uri_ctx_ts; + const MpmCtx *mpm_hcbd_ctx_ts; + const MpmCtx *mpm_hhd_ctx_ts; + const MpmCtx *mpm_hrhd_ctx_ts; + const MpmCtx *mpm_hmd_ctx_ts; + const MpmCtx *mpm_hcd_ctx_ts; + const MpmCtx *mpm_hrud_ctx_ts; + const MpmCtx *mpm_huad_ctx_ts; + const MpmCtx *mpm_hhhd_ctx_ts; + const MpmCtx *mpm_hrhhd_ctx_ts; + const MpmCtx *mpm_dnsquery_ctx_ts; + const MpmCtx *mpm_smtp_filedata_ctx_ts; + + const MpmCtx *mpm_proto_tcp_ctx_tc; + const MpmCtx *mpm_proto_udp_ctx_tc; + const MpmCtx *mpm_stream_ctx_tc; + const MpmCtx *mpm_hsbd_ctx_tc; + const MpmCtx *mpm_hhd_ctx_tc; + const MpmCtx *mpm_hrhd_ctx_tc; + const MpmCtx *mpm_hcd_ctx_tc; + const MpmCtx *mpm_hsmd_ctx_tc; + const MpmCtx *mpm_hscd_ctx_tc; uint16_t mpm_uricontent_minlen; /**< len of shortest mpm pattern in sgh */ diff --git a/src/util-bloomfilter.c b/src/util-bloomfilter.c index 5718fb1002..8dcd7a310b 100644 --- a/src/util-bloomfilter.c +++ b/src/util-bloomfilter.c @@ -27,7 +27,8 @@ #include "util-bloomfilter.h" #include "util-unittest.h" -BloomFilter *BloomFilterInit(uint32_t size, uint8_t iter, uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t)) { +BloomFilter *BloomFilterInit(uint32_t size, uint8_t iter, + uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t)) { BloomFilter *bf = NULL; if (size == 0 || iter == 0) @@ -122,7 +123,7 @@ uint32_t BloomFilterMemorySize(BloomFilter *bf) */ #ifdef UNITTESTS -static uint32_t BloomFilterTestHash(void *data, uint16_t datalen, uint8_t iter, uint32_t hash_size) +static uint32_t BloomFilterTestHash(const void *data, uint16_t datalen, uint8_t iter, uint32_t hash_size) { uint8_t *d = (uint8_t *)data; uint32_t i; diff --git a/src/util-bloomfilter.h b/src/util-bloomfilter.h index e7a5874f61..59b5dcdca5 100644 --- a/src/util-bloomfilter.h +++ b/src/util-bloomfilter.h @@ -27,13 +27,13 @@ /* Bloom Filter structure */ typedef struct BloomFilter_ { uint8_t hash_iterations; - uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t); + uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t); uint32_t bitarray_size; uint8_t *bitarray; } BloomFilter; /* prototypes */ -BloomFilter *BloomFilterInit(uint32_t, uint8_t, uint32_t (*Hash)(void *, uint16_t, uint8_t, uint32_t)); +BloomFilter *BloomFilterInit(uint32_t, uint8_t, uint32_t (*Hash)(const void *, uint16_t, uint8_t, uint32_t)); void BloomFilterFree(BloomFilter *); void BloomFilterPrint(BloomFilter *); int BloomFilterAdd(BloomFilter *, void *, uint16_t); @@ -44,9 +44,9 @@ void BloomFilterRegisterTests(void); /** ----- Inline functions ---- */ -static inline int BloomFilterTest(BloomFilter *, void *, uint16_t); +static inline int BloomFilterTest(const BloomFilter *, const void *, uint16_t); -static inline int BloomFilterTest(BloomFilter *bf, void *data, uint16_t datalen) +static inline int BloomFilterTest(const BloomFilter *bf, const void *data, uint16_t datalen) { uint8_t iter = 0; uint32_t hash = 0; diff --git a/src/util-mpm-ac-bs.c b/src/util-mpm-ac-bs.c index 07227b5726..23c37e8d03 100644 --- a/src/util-mpm-ac-bs.c +++ b/src/util-mpm-ac-bs.c @@ -69,8 +69,8 @@ int SCACBSAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, int SCACBSAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int SCACBSPreparePatterns(MpmCtx *mpm_ctx); -uint32_t SCACBSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen); +uint32_t SCACBSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen); void SCACBSPrintInfo(MpmCtx *mpm_ctx); void SCACBSPrintSearchStats(MpmThreadCtx *mpm_thread_ctx); void SCACBSRegisterTests(void); @@ -1421,10 +1421,10 @@ void SCACBSDestroyCtx(MpmCtx *mpm_ctx) * * \retval matches Match count. */ -uint32_t SCACBSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen) +uint32_t SCACBSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen) { - SCACBSCtx *ctx = (SCACBSCtx *)mpm_ctx->ctx; + const SCACBSCtx *ctx = (SCACBSCtx *)mpm_ctx->ctx; int i = 0; int matches = 0; uint8_t buf_local; diff --git a/src/util-mpm-ac-tile-small.c b/src/util-mpm-ac-tile-small.c index d37d982e01..0a875778d6 100644 --- a/src/util-mpm-ac-tile-small.c +++ b/src/util-mpm-ac-tile-small.c @@ -31,8 +31,8 @@ #ifdef FUNC_NAME /* This function handles (ctx->state_count < 32767) */ -uint32_t FUNC_NAME(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen) +uint32_t FUNC_NAME(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen) { int i = 0; int matches = 0; @@ -40,7 +40,7 @@ uint32_t FUNC_NAME(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, uint8_t mpm_bitarray[ctx->mpm_bitarray_size]; memset(mpm_bitarray, 0, ctx->mpm_bitarray_size); - uint8_t* restrict xlate = ctx->translate_table; + const uint8_t* restrict xlate = ctx->translate_table; STYPE *state_table = (STYPE*)ctx->state_table; STYPE state = 0; int c = xlate[buf[0]]; diff --git a/src/util-mpm-ac-tile.c b/src/util-mpm-ac-tile.c index 2230cb3f28..f0d873b6c1 100644 --- a/src/util-mpm-ac-tile.c +++ b/src/util-mpm-ac-tile.c @@ -89,53 +89,53 @@ int SCACTileAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, int SCACTileAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int SCACTilePreparePatterns(MpmCtx *mpm_ctx); -uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, +uint32_t SCACTileSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen); void SCACTilePrintInfo(MpmCtx *mpm_ctx); void SCACTilePrintSearchStats(MpmThreadCtx *mpm_thread_ctx); void SCACTileRegisterTests(void); -uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, +uint32_t SCACTileSearchLarge(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall256(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall256(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall128(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall128(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall64(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall64(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall32(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall32(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall16(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall16(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchSmall8(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchSmall8(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); + const uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny256(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny128(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny64(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, +uint32_t SCACTileSearchTiny256(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny32(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchTiny128(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny16(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); -uint32_t SCACTileSearchTiny8(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchTiny64(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchTiny32(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen); + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchTiny16(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, + const uint8_t *buf, uint16_t buflen); +uint32_t SCACTileSearchTiny8(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, + const uint8_t *buf, uint16_t buflen); static void SCACTileDestroyInitCtx(MpmCtx *mpm_ctx); @@ -1490,13 +1490,13 @@ void SCACTileDestroyCtx(MpmCtx *mpm_ctx) #define EXTRA 4 // need 4 extra bytes to avoid OOB reads #endif -int CheckMatch(SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen, +int CheckMatch(const SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq, + const uint8_t *buf, uint16_t buflen, uint16_t state, int i, int matches, uint8_t *mpm_bitarray) { SCACTilePatternList *pattern_list = ctx->pattern_list; - uint8_t *buf_offset = buf + i + 1; // Lift out of loop + const uint8_t *buf_offset = buf + i + 1; // Lift out of loop uint32_t no_of_entries = ctx->output_table[state].no_of_entries; MpmPatternIndex *patterns = ctx->output_table[state].patterns; uint8_t *pmq_bitarray = pmq->pattern_id_bitarray; @@ -1559,10 +1559,10 @@ int CheckMatch(SCACTileSearchCtx *ctx, PatternMatcherQueue *pmq, * * \retval matches Match count. */ -uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen) +uint32_t SCACTileSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen) { - SCACTileSearchCtx *search_ctx = (SCACTileSearchCtx *)mpm_ctx->ctx; + const SCACTileSearchCtx *search_ctx = (SCACTileSearchCtx *)mpm_ctx->ctx; if (buflen == 0) return 0; @@ -1572,9 +1572,9 @@ uint32_t SCACTileSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, } /* This function handles (ctx->state_count >= 32767) */ -uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, +uint32_t SCACTileSearchLarge(const SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ctx, PatternMatcherQueue *pmq, - uint8_t *buf, uint16_t buflen) + const uint8_t *buf, uint16_t buflen) { int i = 0; int matches = 0; @@ -1582,7 +1582,7 @@ uint32_t SCACTileSearchLarge(SCACTileSearchCtx *ctx, MpmThreadCtx *mpm_thread_ct uint8_t mpm_bitarray[ctx->mpm_bitarray_size]; memset(mpm_bitarray, 0, ctx->mpm_bitarray_size); - uint8_t* restrict xlate = ctx->translate_table; + const uint8_t* restrict xlate = ctx->translate_table; register int state = 0; int32_t (*state_table_u32)[256] = ctx->state_table; for (i = 0; i < buflen; i++) { diff --git a/src/util-mpm-ac-tile.h b/src/util-mpm-ac-tile.h index a0d7857147..62e3649fab 100644 --- a/src/util-mpm-ac-tile.h +++ b/src/util-mpm-ac-tile.h @@ -84,8 +84,8 @@ typedef struct SCACTileCtx_ { * number of states could make the next state could be 16 bits or * 32 bits. */ - uint32_t (*search)(struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *, - PatternMatcherQueue *, uint8_t *, uint16_t); + uint32_t (*search)(const struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *, + PatternMatcherQueue *, const uint8_t *, uint16_t); /* Function to set the next state based on size of next state * (bytes_per_state). @@ -140,8 +140,8 @@ typedef struct SCACTileSearchCtx_ { * number of states could make the next state could be 16 bits or * 32 bits. */ - uint32_t (*search)(struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *, - PatternMatcherQueue *, uint8_t *, uint16_t); + uint32_t (*search)(const struct SCACTileSearchCtx_ *ctx, struct MpmThreadCtx_ *, + PatternMatcherQueue *, const uint8_t *, uint16_t); /* Convert input character to matching alphabet */ uint8_t translate_table[256]; diff --git a/src/util-mpm-ac.c b/src/util-mpm-ac.c index 341ac5079f..d5b535f51a 100644 --- a/src/util-mpm-ac.c +++ b/src/util-mpm-ac.c @@ -78,8 +78,8 @@ int SCACAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, int SCACAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int SCACPreparePatterns(MpmCtx *mpm_ctx); -uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen); +uint32_t SCACSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen); void SCACPrintInfo(MpmCtx *mpm_ctx); void SCACPrintSearchStats(MpmThreadCtx *mpm_thread_ctx); void SCACRegisterTests(void); @@ -1302,10 +1302,10 @@ void SCACDestroyCtx(MpmCtx *mpm_ctx) * * \retval matches Match count. */ -uint32_t SCACSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen) +uint32_t SCACSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, uint16_t buflen) { - SCACCtx *ctx = (SCACCtx *)mpm_ctx->ctx; + const SCACCtx *ctx = (SCACCtx *)mpm_ctx->ctx; int i = 0; int matches = 0; @@ -1829,8 +1829,8 @@ static void *SCACCudaDispatcher(void *arg) #undef BLOCK_SIZE } -uint32_t SCACCudaPacketResultsProcessing(Packet *p, MpmCtx *mpm_ctx, - PatternMatcherQueue *pmq) +uint32_t SCACCudaPacketResultsProcessing(Packet *p, const MpmCtx *mpm_ctx, + PatternMatcherQueue *pmq) { uint32_t u = 0; diff --git a/src/util-mpm-ac.h b/src/util-mpm-ac.h index 13bd16fbdc..ac6f464677 100644 --- a/src/util-mpm-ac.h +++ b/src/util-mpm-ac.h @@ -209,7 +209,7 @@ int MpmCudaBufferSetup(void); int MpmCudaBufferDeSetup(void); void SCACCudaStartDispatcher(void); void SCACCudaKillDispatcher(void); -uint32_t SCACCudaPacketResultsProcessing(Packet *p, MpmCtx *mpm_ctx, +uint32_t SCACCudaPacketResultsProcessing(Packet *p, const MpmCtx *mpm_ctx, PatternMatcherQueue *pmq); void DetermineCudaStateTableSize(DetectEngineCtx *de_ctx); diff --git a/src/util-mpm-hs.c b/src/util-mpm-hs.c index 3ad639b925..4f7ed52fc0 100644 --- a/src/util-mpm-hs.c +++ b/src/util-mpm-hs.c @@ -54,8 +54,8 @@ int SCHSAddPatternCI(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, int SCHSAddPatternCS(MpmCtx *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int SCHSPreparePatterns(MpmCtx *mpm_ctx); -uint32_t SCHSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen); +uint32_t SCHSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, const uint16_t buflen); void SCHSPrintInfo(MpmCtx *mpm_ctx); void SCHSPrintSearchStats(MpmThreadCtx *mpm_thread_ctx); void SCHSRegisterTests(void); @@ -940,8 +940,8 @@ static int SCHSMatchEvent(unsigned int id, unsigned long long from, * * \retval matches Match count. */ -uint32_t SCHSSearch(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, - PatternMatcherQueue *pmq, uint8_t *buf, uint16_t buflen) +uint32_t SCHSSearch(const MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx, + PatternMatcherQueue *pmq, const uint8_t *buf, const uint16_t buflen) { uint32_t ret = 0; SCHSCtx *ctx = (SCHSCtx *)mpm_ctx->ctx; diff --git a/src/util-mpm.h b/src/util-mpm.h index afb6941232..cbb236d130 100644 --- a/src/util-mpm.h +++ b/src/util-mpm.h @@ -156,7 +156,7 @@ typedef struct MpmTableElmt_ { int (*AddPattern)(struct MpmCtx_ *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int (*AddPatternNocase)(struct MpmCtx_ *, uint8_t *, uint16_t, uint16_t, uint16_t, uint32_t, SigIntId, uint8_t); int (*Prepare)(struct MpmCtx_ *); - uint32_t (*Search)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t); + uint32_t (*Search)(const struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, const uint8_t *, uint16_t); void (*Cleanup)(struct MpmThreadCtx_ *); void (*PrintCtx)(struct MpmCtx_ *); void (*PrintThreadCtx)(struct MpmThreadCtx_ *);