mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-11-19 02:40:35 +03:00
Handling key exceptions on the variable itself
This is the first step towords to solve #1697
This commit is contained in:
@@ -52,12 +52,18 @@ bool SetVar::evaluate(Rule *rule, Transaction *t) {
|
||||
std::vector<const VariableValue *> l;
|
||||
|
||||
auto *v = m_variable.get();
|
||||
Variables::Tx_DynamicElement *tx = dynamic_cast<Variables::Tx_DynamicElement *> (v);
|
||||
Variables::Session_DynamicElement *session = dynamic_cast<Variables::Session_DynamicElement *> (v);
|
||||
Variables::Ip_DynamicElement *ip = dynamic_cast<Variables::Ip_DynamicElement *> (v);
|
||||
Variables::Resource_DynamicElement *resource = dynamic_cast<Variables::Resource_DynamicElement *> (v);
|
||||
Variables::Global_DynamicElement *global = dynamic_cast<Variables::Global_DynamicElement *> (v);
|
||||
Variables::User_DynamicElement *user = dynamic_cast<Variables::User_DynamicElement *> (v);
|
||||
Variables::Tx_DynamicElement *tx = dynamic_cast<
|
||||
Variables::Tx_DynamicElement *> (v);
|
||||
Variables::Session_DynamicElement *session = dynamic_cast<
|
||||
Variables::Session_DynamicElement *> (v);
|
||||
Variables::Ip_DynamicElement *ip = dynamic_cast<
|
||||
Variables::Ip_DynamicElement *> (v);
|
||||
Variables::Resource_DynamicElement *resource = dynamic_cast<
|
||||
Variables::Resource_DynamicElement *> (v);
|
||||
Variables::Global_DynamicElement *global = dynamic_cast<
|
||||
Variables::Global_DynamicElement *> (v);
|
||||
Variables::User_DynamicElement *user = dynamic_cast<
|
||||
Variables::User_DynamicElement *> (v);
|
||||
if (tx) {
|
||||
m_variableNameExpanded = tx->m_string->evaluate(t);
|
||||
} else if (session) {
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <memory>
|
||||
#include <string>
|
||||
#include <utility>
|
||||
|
||||
#include "modsecurity/actions/action.h"
|
||||
#include "src/run_time_string.h"
|
||||
|
||||
Reference in New Issue
Block a user