From b6d29e7f35bb1954261c5fec3217141d614dc533 Mon Sep 17 00:00:00 2001 From: brenosilva Date: Tue, 16 Nov 2010 19:51:07 +0000 Subject: [PATCH] Fix MODSEC-185 --- apache2/re.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/apache2/re.c b/apache2/re.c index be4867cb..744ea03f 100644 --- a/apache2/re.c +++ b/apache2/re.c @@ -1079,6 +1079,25 @@ apr_status_t msre_ruleset_process_phase(msre_ruleset *ruleset, modsec_rec *msr) if (msr->txcfg->debuglog_level >= 9) { msr_log(msr, 9, "Match, intercepted -> returning."); } + + msre_rule *last_rule = rules[i-1]; + + if(last_rule != NULL && last_rule->actionset->is_chained) { + + int st = 0; + + for(st=i;st>=0;st--) { + + msre_rule *rule_starter = rules[st]; + + if(rule_starter != NULL && rule_starter->chain_starter != NULL) { + msr->intercept_actionset->intercept_uri = rule_starter->actionset->intercept_uri; + break; + } + } + + } + return 1; }