mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2026-01-16 08:27:10 +03:00
Multipart parsing fixes and new MULTIPART_PART_HEADERS collection
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -217,6 +217,7 @@ class Driver;
|
||||
#include "src/variables/request_body_length.h"
|
||||
#include "src/variables/request_cookies.h"
|
||||
#include "src/variables/request_cookies_names.h"
|
||||
#include "src/variables/multipart_part_headers.h"
|
||||
#include "src/variables/request_file_name.h"
|
||||
#include "src/variables/request_headers.h"
|
||||
#include "src/variables/request_headers_names.h"
|
||||
@@ -352,6 +353,7 @@ using namespace modsecurity::operators;
|
||||
VARIABLE_RESPONSE_HEADERS
|
||||
VARIABLE_GEO
|
||||
VARIABLE_REQUEST_COOKIES_NAMES
|
||||
VARIABLE_MULTIPART_PART_HEADERS
|
||||
VARIABLE_ARGS_COMBINED_SIZE
|
||||
VARIABLE_ARGS_GET_NAMES
|
||||
VARIABLE_RULE
|
||||
@@ -2061,6 +2063,18 @@ var:
|
||||
{
|
||||
VARIABLE_CONTAINER($$, new variables::RequestCookiesNames_NoDictElement());
|
||||
}
|
||||
| VARIABLE_MULTIPART_PART_HEADERS DICT_ELEMENT
|
||||
{
|
||||
VARIABLE_CONTAINER($$, new variables::MultipartPartHeaders_DictElement($2));
|
||||
}
|
||||
| VARIABLE_MULTIPART_PART_HEADERS DICT_ELEMENT_REGEXP
|
||||
{
|
||||
VARIABLE_CONTAINER($$, new variables::MultipartPartHeaders_DictElementRegexp($2));
|
||||
}
|
||||
| VARIABLE_MULTIPART_PART_HEADERS
|
||||
{
|
||||
VARIABLE_CONTAINER($$, new variables::MultipartPartHeaders_NoDictElement());
|
||||
}
|
||||
| VARIABLE_RULE DICT_ELEMENT
|
||||
{
|
||||
VARIABLE_CONTAINER($$, new variables::Rule_DictElement($2));
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -253,6 +253,7 @@ VARIABLE_REQUEST_HEADERS (?i:REQUEST_HEADERS)
|
||||
VARIABLE_RESPONSE_HEADERS (?i:RESPONSE_HEADERS)
|
||||
VARIABLE_GEO (?i:GEO)
|
||||
VARIABLE_REQUEST_COOKIES_NAMES (?i:REQUEST_COOKIES_NAMES)
|
||||
VARIABLE_MULTIPART_PART_HEADERS (?i:MULTIPART_PART_HEADERS)
|
||||
VARIABLE_RULE (?i:RULE)
|
||||
VARIABLE_SESSION (?i:(SESSION))
|
||||
VARIABLE_IP (?i:(IP))
|
||||
@@ -996,6 +997,8 @@ EQUALS_MINUS (?i:=\-)
|
||||
{VARIABLE_GEO}[:.] { BEGINX(EXPECTING_VAR_PARAMETER); return p::make_VARIABLE_GEO(*driver.loc.back()); }
|
||||
{VARIABLE_REQUEST_COOKIES_NAMES} { return p::make_VARIABLE_REQUEST_COOKIES_NAMES(*driver.loc.back()); }
|
||||
{VARIABLE_REQUEST_COOKIES_NAMES}[:.] { BEGINX(EXPECTING_VAR_PARAMETER); return p::make_VARIABLE_REQUEST_COOKIES_NAMES(*driver.loc.back()); }
|
||||
{VARIABLE_MULTIPART_PART_HEADERS} { return p::make_VARIABLE_MULTIPART_PART_HEADERS(*driver.loc.back()); }
|
||||
{VARIABLE_MULTIPART_PART_HEADERS}[:.] { BEGINX(EXPECTING_VAR_PARAMETER); return p::make_VARIABLE_MULTIPART_PART_HEADERS(*driver.loc.back()); }
|
||||
{VARIABLE_RULE} { return p::make_VARIABLE_RULE(*driver.loc.back()); }
|
||||
{VARIABLE_RULE}[:.] { BEGINX(EXPECTING_VAR_PARAMETER); return p::make_VARIABLE_RULE(*driver.loc.back()); }
|
||||
{VARIABLE_FILES_TMP_NAMES} { return p::make_VARIABLE_FILES_TMP_NAMES(*driver.loc.back()); }
|
||||
|
||||
Reference in New Issue
Block a user