mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 05:45:59 +03:00
Added support to run regression tests without libxml2
- Annotated regression tests that depend on libxml2 support - Added Windows build without libxml2
This commit is contained in:
parent
124a434439
commit
7267c1dc21
1
.github/workflows/ci.yml
vendored
1
.github/workflows/ci.yml
vendored
@ -84,6 +84,7 @@ jobs:
|
|||||||
- {label: "full", opt: "" }
|
- {label: "full", opt: "" }
|
||||||
- {label: "wo lmdb", opt: "-DWITHOUT_LMDB=ON" }
|
- {label: "wo lmdb", opt: "-DWITHOUT_LMDB=ON" }
|
||||||
- {label: "wo lua", opt: "-DWITHOUT_LUA=ON" }
|
- {label: "wo lua", opt: "-DWITHOUT_LUA=ON" }
|
||||||
|
- {label: "wo libxml2", opt: "-WITHOUT_LIBXML2=ON" }
|
||||||
- {label: "wo maxmind", opt: "-DWITHOUT_MAXMIND=ON" }
|
- {label: "wo maxmind", opt: "-DWITHOUT_MAXMIND=ON" }
|
||||||
- {label: "wo curl", opt: "-DWITHOUT_CURL=ON" }
|
- {label: "wo curl", opt: "-DWITHOUT_CURL=ON" }
|
||||||
steps:
|
steps:
|
||||||
|
@ -486,15 +486,12 @@ int main(int argc, char **argv) {
|
|||||||
#if defined(WITH_GEOIP) or defined(WITH_MAXMIND)
|
#if defined(WITH_GEOIP) or defined(WITH_MAXMIND)
|
||||||
resources.push_back("geoip-or-maxmind");
|
resources.push_back("geoip-or-maxmind");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WITH_MAXMIND)
|
#if defined(WITH_MAXMIND)
|
||||||
resources.push_back("maxmind");
|
resources.push_back("maxmind");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(WITH_GEOIP)
|
#if defined(WITH_GEOIP)
|
||||||
resources.push_back("geoip");
|
resources.push_back("geoip");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_CURL
|
#ifdef WITH_CURL
|
||||||
resources.push_back("curl");
|
resources.push_back("curl");
|
||||||
#endif
|
#endif
|
||||||
@ -504,6 +501,9 @@ int main(int argc, char **argv) {
|
|||||||
#ifdef WITH_LUA
|
#ifdef WITH_LUA
|
||||||
resources.push_back("lua");
|
resources.push_back("lua");
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef WITH_LIBXML2
|
||||||
|
resources.push_back("libxml2");
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NO_LOGS
|
#ifdef NO_LOGS
|
||||||
std::cout << "Test utility cannot work without logging support." \
|
std::cout << "Test utility cannot work without logging support." \
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing CtlRequestBodyProcessor=XML (1)",
|
"title":"Testing CtlRequestBodyProcessor=XML (1)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "Registered XML namespace href \"http://schemas.xmlsoap.org/soap/envelope/\" prefix \"soap\""
|
"debug_log": "Registered XML namespace href \"http://schemas.xmlsoap.org/soap/envelope/\" prefix \"soap\""
|
||||||
@ -71,6 +72,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing CtlRequestBodyProcessor=XML (2)",
|
"title":"Testing CtlRequestBodyProcessor=XML (2)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "Rule returned 0"
|
"debug_log": "Rule returned 0"
|
||||||
@ -139,6 +141,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing CtlRequestBodyProcessor=XML (3)",
|
"title":"Testing CtlRequestBodyProcessor=XML (3)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: Failed parsing document."
|
"debug_log": "XML: Failed parsing document."
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (validate ok)",
|
"title":"Testing XML request body parser (validate ok)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "Target value: \"39.95\" \\(Variable: XML:\/bookstore\/book\/price\\[text\\(\\)\\]\\)"
|
"debug_log": "Target value: \"39.95\" \\(Variable: XML:\/bookstore\/book\/price\\[text\\(\\)\\]\\)"
|
||||||
|
@ -578,6 +578,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"SecRequestBodyNoFilesLimit - xml, limit exceeded",
|
"title":"SecRequestBodyNoFilesLimit - xml, limit exceeded",
|
||||||
"client":{
|
"client":{
|
||||||
"ip":"200.249.12.31",
|
"ip":"200.249.12.31",
|
||||||
@ -626,6 +627,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"SecRequestBodyNoFilesLimit - xml, limit not exceeded",
|
"title":"SecRequestBodyNoFilesLimit - xml, limit not exceeded",
|
||||||
"client":{
|
"client":{
|
||||||
"ip":"200.249.12.31",
|
"ip":"200.249.12.31",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing SecXMLExternalEntity/XXE 1",
|
"title":"Testing SecXMLExternalEntity/XXE 1",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "Target value: \" jo smith\""
|
"debug_log": "Target value: \" jo smith\""
|
||||||
@ -47,6 +48,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing SecXMLExternalEntity/XXE 2",
|
"title":"Testing SecXMLExternalEntity/XXE 2",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: Failed to load DTD: test-cases/data/SoapEnvelope.dtd",
|
"debug_log": "XML: Failed to load DTD: test-cases/data/SoapEnvelope.dtd",
|
||||||
@ -94,6 +96,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing SecXMLExternalEntity/XXE 3",
|
"title":"Testing SecXMLExternalEntity/XXE 3",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML Error: No declaration for element bookstore",
|
"debug_log": "XML Error: No declaration for element bookstore",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser - validateDTD (validate ok)",
|
"title":"Testing XML request body parser - validateDTD (validate ok)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: Successfully validated payload against DTD: test-cases/data/SoapEnvelope.dtd"
|
"debug_log": "XML: Successfully validated payload against DTD: test-cases/data/SoapEnvelope.dtd"
|
||||||
@ -47,6 +48,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser - validateDTD (validation failed)",
|
"title":"Testing XML request body parser - validateDTD (validation failed)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML Error: No declaration for element xBody",
|
"debug_log": "XML Error: No declaration for element xBody",
|
||||||
@ -93,6 +95,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser - validateDTD (bad XML)",
|
"title":"Testing XML request body parser - validateDTD (bad XML)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: DTD validation failed because content is not well formed",
|
"debug_log": "XML: DTD validation failed because content is not well formed",
|
||||||
@ -139,6 +142,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser - validateDTD (bad DTD)",
|
"title":"Testing XML request body parser - validateDTD (bad DTD)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "Failed to load DTD: test-cases/data/SoapEnvelope-bad.dtd",
|
"debug_log": "Failed to load DTD: test-cases/data/SoapEnvelope-bad.dtd",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (validate ok)",
|
"title":"Testing XML request body parser (validate ok)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: Successfully validated payload against Schema:"
|
"debug_log": "XML: Successfully validated payload against Schema:"
|
||||||
@ -51,6 +52,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (validate attribute value failed)",
|
"title":"Testing XML request body parser (validate attribute value failed)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "'badval' is not a valid value of the local atomic type",
|
"debug_log": "'badval' is not a valid value of the local atomic type",
|
||||||
@ -101,6 +103,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (validate failed)",
|
"title":"Testing XML request body parser (validate failed)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "This element is not expected. Expected is one of",
|
"debug_log": "This element is not expected. Expected is one of",
|
||||||
@ -151,6 +154,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (bad XML)",
|
"title":"Testing XML request body parser (bad XML)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML Error: Element '{http://schemas.xmlsoap.org/soap/envelope/}xBody'",
|
"debug_log": "XML Error: Element '{http://schemas.xmlsoap.org/soap/envelope/}xBody'",
|
||||||
@ -201,6 +205,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XML request body parser (bad schema)",
|
"title":"Testing XML request body parser (bad schema)",
|
||||||
"expected":{
|
"expected":{
|
||||||
"debug_log": "XML: Failed to load Schema: test-cases/data/SoapEnvelope-bad.xsd. XML Error: Failed to parse the XML resource 'test-cases/data/SoapEnvelope-bad.xsd",
|
"debug_log": "XML: Failed to load Schema: test-cases/data/SoapEnvelope-bad.xsd. XML Error: Failed to parse the XML resource 'test-cases/data/SoapEnvelope-bad.xsd",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing Variables :: REQBODY_PROCESSOR_ERROR_MSG (1/2)",
|
"title":"Testing Variables :: REQBODY_PROCESSOR_ERROR_MSG (1/2)",
|
||||||
"client":{
|
"client":{
|
||||||
"ip":"200.249.12.31",
|
"ip":"200.249.12.31",
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
{
|
{
|
||||||
"enabled":1,
|
"enabled":1,
|
||||||
"version_min":300000,
|
"version_min":300000,
|
||||||
|
"resource":"libxml2",
|
||||||
"title":"Testing XPath expression with equals sign",
|
"title":"Testing XPath expression with equals sign",
|
||||||
"expected":{
|
"expected":{
|
||||||
"http_code": 403
|
"http_code": 403
|
||||||
|
Loading…
x
Reference in New Issue
Block a user