From: Victor Julien Date: Sat, 13 Jul 2013 18:26:10 +0000 (+0200) Subject: Fix sgh mpm flags assignment X-Git-Tag: suricata-2.0beta1~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=538da268121a6bb936a66c5932a3d78852d42c5a;p=thirdparty%2Fsuricata.git Fix sgh mpm flags assignment --- diff --git a/src/detect-engine-mpm.c b/src/detect-engine-mpm.c index 5becd85f94..78dfc280e9 100644 --- a/src/detect-engine-mpm.c +++ b/src/detect-engine-mpm.c @@ -1441,28 +1441,27 @@ static void PopulateMpmAddPatternToMpm(DetectEngineCtx *de_ctx, { MpmCtx *mpm_ctx_ts = NULL; MpmCtx *mpm_ctx_tc = NULL; - uint32_t sgh_flags = 0; cd = (DetectContentData *)mpm_sm->ctx; if (sm_list == DETECT_SM_LIST_UMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_uri_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_URI; + sgh->flags |= SIG_GROUP_HEAD_MPM_URI; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HCBDMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_hcbd_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HCBD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HCBD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HSBDMATCH) { if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hsbd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HSBD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HSBD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; @@ -1471,7 +1470,7 @@ static void PopulateMpmAddPatternToMpm(DetectEngineCtx *de_ctx, mpm_ctx_ts = sgh->mpm_hhd_ctx_ts; if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hhd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HHD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HHD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; @@ -1480,14 +1479,14 @@ static void PopulateMpmAddPatternToMpm(DetectEngineCtx *de_ctx, mpm_ctx_ts = sgh->mpm_hrhd_ctx_ts; if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hrhd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HRHD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HRHD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HMDMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_hmd_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HMD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HMD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; @@ -1496,49 +1495,49 @@ static void PopulateMpmAddPatternToMpm(DetectEngineCtx *de_ctx, mpm_ctx_ts = sgh->mpm_hcd_ctx_ts; if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hcd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HCD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HCD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HRUDMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_hrud_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HRUD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HRUD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HSMDMATCH) { if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hsmd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HSMD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HSMD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HSCDMATCH) { if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = sgh->mpm_hscd_ctx_tc; - sgh->flags = SIG_GROUP_HEAD_MPM_HSCD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HSCD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HUADMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_huad_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HUAD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HUAD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HHHDMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_hhhd_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HHHD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HHHD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; } else if (sm_list == DETECT_SM_LIST_HRHHDMATCH) { if (s->flags & SIG_FLAG_TOSERVER) mpm_ctx_ts = sgh->mpm_hrhhd_ctx_ts; - sgh->flags = SIG_GROUP_HEAD_MPM_HRHHD; + sgh->flags |= SIG_GROUP_HEAD_MPM_HRHHD; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG; @@ -1547,7 +1546,7 @@ static void PopulateMpmAddPatternToMpm(DetectEngineCtx *de_ctx, mpm_ctx_ts = sgh->mpm_dnsquery_ctx_ts; if (s->flags & SIG_FLAG_TOCLIENT) mpm_ctx_tc = NULL; - sgh->flags = SIG_GROUP_HEAD_MPM_DNSQUERY; + sgh->flags |= SIG_GROUP_HEAD_MPM_DNSQUERY; s->flags |= SIG_FLAG_MPM_APPLAYER; if (cd->flags & DETECT_CONTENT_NEGATED) s->flags |= SIG_FLAG_MPM_APPLAYER_NEG;