Skip to content

Commit 9069a45

Browse files
author
Felipe Zimmerle
committed
Revert "Treating ARGS_NAMES as an array instead of scalar"
This reverts commit 1d3c4c6.
1 parent 43e3ff9 commit 9069a45

18 files changed

+3748
-3085
lines changed

headers/modsecurity/transaction.h

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,8 @@ class TransactionAnchoredVariables {
9595
public:
9696
explicit TransactionAnchoredVariables(Transaction *t)
9797
: m_variableArgsNames(t, "ARGS_NAMES"),
98-
m_variableArgGetNames(t, "ARGS_GET_NAMES"),
99-
m_variableArgPostNames(t, "ARGS_POST_NAMES"),
98+
m_variableArgsGetNames(t, "ARGS_GET_NAMES"),
99+
m_variableArgsPostNames(t, "ARGS_POST_NAMES"),
100100
m_variableRequestHeadersNames(t, "REQUEST_HEADERS_NAMES"),
101101
m_variableResponseContentType(t, "RESPONSE_CONTENT_TYPE"),
102102
m_variableResponseHeadersNames(t, "RESPONSE_HEADERS_NAMES"),
@@ -172,11 +172,12 @@ class TransactionAnchoredVariables {
172172
m_variableOffset(0)
173173
{ }
174174

175-
AnchoredVariable m_variableArgGetNames;
176-
AnchoredVariable m_variableArgPostNames;
177-
AnchoredVariable m_variableRequestHeadersNames;
175+
AnchoredSetVariable m_variableArgsNames;
176+
AnchoredSetVariable m_variableArgsGetNames;
177+
AnchoredSetVariable m_variableArgsPostNames;
178+
AnchoredSetVariable m_variableRequestHeadersNames;
178179
AnchoredVariable m_variableResponseContentType;
179-
AnchoredVariable m_variableResponseHeadersNames;
180+
AnchoredSetVariable m_variableResponseHeadersNames;
180181
AnchoredVariable m_variableARGScombinedSize;
181182
AnchoredVariable m_variableAuthType;
182183
AnchoredVariable m_variableFilesCombinedSize;
@@ -226,7 +227,6 @@ class TransactionAnchoredVariables {
226227
AnchoredVariable m_variableUrlEncodedError;
227228
AnchoredVariable m_variableUserID;
228229

229-
AnchoredSetVariable m_variableArgsNames;
230230
AnchoredSetVariable m_variableArgs;
231231
AnchoredSetVariable m_variableArgsGet;
232232
AnchoredSetVariable m_variableArgsPost;

src/macro_expansion.cc

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,21 +73,9 @@ std::string MacroExpansion::expand(const std::string& input,
7373
collection = variable.find(":");
7474
}
7575
if (collection == std::string::npos) {
76-
if (compareStrNoCase(variable, "ARGS_GET_NAMES")) {
77-
variableValue = transaction->m_variableArgGetNames.resolveFirst();
78-
}
79-
else if (compareStrNoCase(variable, "ARGS_POST_NAMES")) {
80-
variableValue = transaction->m_variableArgPostNames.resolveFirst();
81-
}
82-
else if (compareStrNoCase(variable, "REQUEST_HEADERS_NAMES")) {
83-
variableValue = transaction->m_variableRequestHeadersNames.resolveFirst();
84-
}
85-
else if (compareStrNoCase(variable, "RESPONSE_CONTENT_TYPE")) {
76+
if (compareStrNoCase(variable, "RESPONSE_CONTENT_TYPE")) {
8677
variableValue = transaction->m_variableResponseContentType.resolveFirst();
8778
}
88-
else if (compareStrNoCase(variable, "RESPONSE_HEADERS_NAMES")) {
89-
variableValue = transaction->m_variableResponseHeadersNames.resolveFirst();
90-
}
9179
else if (compareStrNoCase(variable, "ARGS_COMBINED_SIZE")) {
9280
variableValue = transaction->m_variableARGScombinedSize.resolveFirst();
9381
}
@@ -242,9 +230,15 @@ std::string MacroExpansion::expand(const std::string& input,
242230
if (compareStrNoCase(col, "ARGS")) {
243231
variableValue = transaction->m_variableArgs.resolveFirst(var);
244232
}
245-
if (compareStrNoCase(variable, "ARGS_NAMES")) {
233+
else if (compareStrNoCase(variable, "ARGS_NAMES")) {
246234
variableValue = transaction->m_variableArgsNames.resolveFirst(var);
247235
}
236+
else if (compareStrNoCase(variable, "ARGS_GET_NAMES")) {
237+
variableValue = transaction->m_variableArgsGetNames.resolveFirst(var);
238+
}
239+
else if (compareStrNoCase(variable, "ARGS_POST_NAMES")) {
240+
variableValue = transaction->m_variableArgsPostNames.resolveFirst(var);
241+
}
248242
else if (compareStrNoCase(col, "RULE")) {
249243
variableValue = transaction->m_variableRule.resolveFirst(var);
250244
}
@@ -284,9 +278,15 @@ std::string MacroExpansion::expand(const std::string& input,
284278
else if (compareStrNoCase(col, "REQUEST_HEADERS")) {
285279
variableValue = transaction->m_variableRequestHeaders.resolveFirst(var);
286280
}
281+
else if (compareStrNoCase(variable, "REQUEST_HEADERS_NAMES")) {
282+
variableValue = transaction->m_variableRequestHeadersNames.resolveFirst(var);
283+
}
287284
else if (compareStrNoCase(col, "RESPONSE_HEADERS")) {
288285
variableValue = transaction->m_variableResponseHeaders.resolveFirst(var);
289286
}
287+
else if (compareStrNoCase(variable, "RESPONSE_HEADERS_NAMES")) {
288+
variableValue = transaction->m_variableResponseHeadersNames.resolveFirst(var);
289+
}
290290
else if (compareStrNoCase(col, "GEO")) {
291291
variableValue = transaction->m_variableGeo.resolveFirst(var);
292292
}

0 commit comments

Comments
 (0)