Skip to content

Commit a299997

Browse files
author
Felipe Zimmerle
committed
Using run time string on the operators
1 parent 6a97dbe commit a299997

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+6873
-6100
lines changed

headers/modsecurity/rule.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ class Rule {
6868
std::string value, std::shared_ptr<RuleMessage> rm);
6969
void executeActionsIndependentOfChainedRuleResult(Transaction *trasn,
7070
bool *b, std::shared_ptr<RuleMessage> ruleMessage);
71-
std::string resolveMatchMessage(std::string key, std::string value);
7271
void updateMatchedVars(Transaction *trasn, std::string key,
7372
std::string value);
7473
void cleanMatchedVars(Transaction *trasn);

src/actions/disruptive/redirect.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include <string>
1717
#include <memory>
18+
#include <utility>
1819

1920
#include "modsecurity/actions/action.h"
2021
#include "modsecurity/rule_message.h"

src/actions/init_col.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
*/
1515

1616
#include <string>
17+
#include <utility>
18+
#include <memory>
1719

1820
#include "modsecurity/actions/action.h"
1921
#include "src/run_time_string.h"

src/actions/log_data.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include <string>
1717
#include <memory>
18+
#include <utility>
1819

1920
#include "modsecurity/actions/action.h"
2021
#include "src/run_time_string.h"

src/actions/msg.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include <string>
1717
#include <memory>
18+
#include <utility>
1819

1920
#include "modsecurity/actions/action.h"
2021
#include "modsecurity/rule_message.h"

src/actions/set_rsc.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
*/
1515

1616
#include <string>
17+
#include <utility>
18+
#include <memory>
1719

1820
#include "modsecurity/actions/action.h"
1921
#include "src/run_time_string.h"

src/actions/set_sid.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
*/
1515

1616
#include <string>
17+
#include <utility>
18+
#include <memory>
1719

1820
#include "modsecurity/actions/action.h"
1921
#include "src/run_time_string.h"

src/actions/set_uid.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
*/
1515

1616
#include <string>
17+
#include <memory>
18+
#include <utility>
1719

1820
#include "modsecurity/actions/action.h"
1921
#include "src/run_time_string.h"

src/actions/tag.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
#include <string>
1717
#include <memory>
18+
#include <utility>
1819

1920
#include "modsecurity/actions/action.h"
2021
#include "src/run_time_string.h"
@@ -31,9 +32,6 @@ namespace actions {
3132

3233
class Tag : public Action {
3334
public:
34-
explicit Tag(std::string action)
35-
: Action(action, RunTimeOnlyIfMatchKind) { }
36-
3735
explicit Tag(std::unique_ptr<RunTimeString> z)
3836
: Action("tag", RunTimeOnlyIfMatchKind),
3937
m_string(std::move(z)) { }
@@ -43,6 +41,7 @@ class Tag : public Action {
4341
bool evaluate(Rule *rule, Transaction *transaction,
4442
std::shared_ptr<RuleMessage> rm) override;
4543

44+
protected:
4645
std::unique_ptr<RunTimeString> m_string;
4746
};
4847

src/operators/begins_with.cc

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,16 @@ namespace operators {
2626

2727
bool BeginsWith::evaluate(Transaction *transaction, Rule *rule,
2828
const std::string &str, std::shared_ptr<RuleMessage> ruleMessage) {
29-
bool ret = false;
30-
31-
std::string p = MacroExpansion::expand(m_param, transaction);
29+
std::string p(m_string->evaluate(transaction));
3230

3331
if (str.size() < p.size()) {
34-
ret = false;
32+
return false;
3533
} else if (!str.compare(0, p.size(), p)) {
3634
logOffset(ruleMessage, 0, p.size());
37-
ret = true;
35+
return true;
3836
}
3937

40-
return ret;
38+
return false;
4139
}
4240

4341

0 commit comments

Comments
 (0)