From e712d30c5650bce7893954be7083f35d3d1cab12 Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Mon, 26 Nov 2018 19:48:02 -0300 Subject: [PATCH] Fix setvar to understand Rule variable in collections Issue #1961 --- CHANGES | 2 ++ src/actions/set_var.cc | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/CHANGES b/CHANGES index 27c3c6da..c3ef2c41 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,8 @@ v3.0.4 - YYYY-MMM-DD (to be released) ------------------------------------- + - Rule variable interpolation broken + [Issue #1961 - @soonum, @zimmerle] - Make the boundary check less strict as per RFC2046 [Issue #1943 - @victorhora, @allanbomsft] - Fix buffer size for utf8toUnicode transformation diff --git a/src/actions/set_var.cc b/src/actions/set_var.cc index e099fb5b..8cb743e1 100644 --- a/src/actions/set_var.cc +++ b/src/actions/set_var.cc @@ -65,17 +65,17 @@ bool SetVar::evaluate(Rule *rule, Transaction *t) { Variables::User_DynamicElement *user = dynamic_cast< Variables::User_DynamicElement *> (v); if (tx) { - m_variableNameExpanded = tx->m_string->evaluate(t); + m_variableNameExpanded = tx->m_string->evaluate(t, rule); } else if (session) { - m_variableNameExpanded = session->m_string->evaluate(t); + m_variableNameExpanded = session->m_string->evaluate(t, rule); } else if (ip) { - m_variableNameExpanded = ip->m_string->evaluate(t); + m_variableNameExpanded = ip->m_string->evaluate(t, rule); } else if (resource) { - m_variableNameExpanded = resource->m_string->evaluate(t); + m_variableNameExpanded = resource->m_string->evaluate(t, rule); } else if (global) { - m_variableNameExpanded = global->m_string->evaluate(t); + m_variableNameExpanded = global->m_string->evaluate(t, rule); } else if (user) { - m_variableNameExpanded = user->m_string->evaluate(t); + m_variableNameExpanded = user->m_string->evaluate(t, rule); } else { m_variableNameExpanded = m_variable->m_name; }