From e1e8a01ed2d0cbe4ac2922ad5fb324a79b4e3628 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Tue, 30 Oct 2018 18:18:05 -0300 Subject: [PATCH] Override the default status code if not suitable to redirect action Issue #1850 --- CHANGES | 2 ++ others/libinjection | 2 +- src/actions/disruptive/redirect.cc | 3 ++- test/test-cases/secrules-language-tests | 2 +- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 356fb00d..6c2729df 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ v3.0.3 - YYYY-MMM-DD (to be released) ------------------------------------- + - Override the default status code if not suitable to redirect action + [Issue #1850 - @zimmerle, @victorhora] - parser: Fix the support for CRLF configuration files [Issue #1945 - @zimmerle, @defanator, @kjakub] - Organizes the server logs diff --git a/others/libinjection b/others/libinjection index 54e9a6ec..bf234eb2 160000 --- a/others/libinjection +++ b/others/libinjection @@ -1 +1 @@ -Subproject commit 54e9a6ec017c687c8fad1f347a263a7b259f8525 +Subproject commit bf234eb2f385b969c4f803b35fda53cffdd93922 diff --git a/src/actions/disruptive/redirect.cc b/src/actions/disruptive/redirect.cc index 9d94ec93..0b9b8eb8 100644 --- a/src/actions/disruptive/redirect.cc +++ b/src/actions/disruptive/redirect.cc @@ -38,7 +38,8 @@ bool Redirect::evaluate(Rule *rule, Transaction *transaction, std::shared_ptr rm) { std::string m_urlExpanded(m_string->evaluate(transaction)); /* if it was changed before, lets keep it. */ - if (transaction->m_it.status == 200) { + if (transaction->m_it.status == 200 + || (!(transaction->m_it.status <= 307 && transaction->m_it.status >= 301))) { transaction->m_it.status = m_status; } diff --git a/test/test-cases/secrules-language-tests b/test/test-cases/secrules-language-tests index a9c58a25..e6b03e46 160000 --- a/test/test-cases/secrules-language-tests +++ b/test/test-cases/secrules-language-tests @@ -1 +1 @@ -Subproject commit a9c58a25771493ac2abadffbfd5dce1213d5db93 +Subproject commit e6b03e46046ce9ce6dcfc0e6ad0820194e21db35