diff --git a/CHANGES b/CHANGES index 6c7a20ef..cb88ccc8 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ 14 Dec 2007 - 2.1.5-rc1 ----------------------- + * Fixed issue where only the first phase 5 rule would run when the + request was intercepted in an earlier phase. + * Stricter configuration parsing. Disruptive actions, meta actions and phases are no longer allowed in a chained rule. diff --git a/apache2/re.c b/apache2/re.c index 867eac59..e7353de4 100644 --- a/apache2/re.c +++ b/apache2/re.c @@ -731,7 +731,7 @@ apr_status_t msre_ruleset_process_phase(msre_ruleset *ruleset, modsec_rec *msr) } else if (rc == RULE_MATCH) { - if (msr->was_intercepted) { + if ((msr->phase == msr->intercept_phase) && msr->was_intercepted) { /* If the transaction was intercepted we will * go back. Do note that we are relying on the * rule to know if it is a part of a chain and