mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Add message to failed tests as well.
This commit is contained in:
parent
8e43107827
commit
d24976a831
@ -344,6 +344,7 @@ int main(int argc, const char * const argv[])
|
|||||||
apr_size_t out_len = 0;
|
apr_size_t out_len = 0;
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
int ec = 0;
|
||||||
|
|
||||||
apr_app_initialize(&argc, &argv, NULL);
|
apr_app_initialize(&argc, &argv, NULL);
|
||||||
atexit(apr_terminate);
|
atexit(apr_terminate);
|
||||||
@ -420,7 +421,7 @@ int main(int argc, const char * const argv[])
|
|||||||
"Output: '%s' len=%" APR_SIZE_T_FMT "\n"
|
"Output: '%s' len=%" APR_SIZE_T_FMT "\n"
|
||||||
"Expect: '%s' len=%" APR_SIZE_T_FMT "\n",
|
"Expect: '%s' len=%" APR_SIZE_T_FMT "\n",
|
||||||
s0, nbytes, s1, out_len, s2, param_len);
|
s0, nbytes, s1, out_len, s2, param_len);
|
||||||
exit(1);
|
ec = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (strcmp("op", type) == 0) {
|
else if (strcmp("op", type) == 0) {
|
||||||
@ -455,7 +456,7 @@ int main(int argc, const char * const argv[])
|
|||||||
fprintf(stderr, " Test: '@%s %s'\n"
|
fprintf(stderr, " Test: '@%s %s'\n"
|
||||||
"Input: '%s' len=%" APR_SIZE_T_FMT "\n",
|
"Input: '%s' len=%" APR_SIZE_T_FMT "\n",
|
||||||
name, param, s0, nbytes);
|
name, param, s0, nbytes);
|
||||||
exit(1);
|
ec = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -465,7 +466,7 @@ int main(int argc, const char * const argv[])
|
|||||||
|
|
||||||
fprintf(stdout, "%s\n", errmsg ? errmsg : "");
|
fprintf(stdout, "%s\n", errmsg ? errmsg : "");
|
||||||
|
|
||||||
return 0;
|
return ec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1 +1,54 @@
|
|||||||
|
### Empty
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => "0-255",
|
||||||
|
input => "",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => "",
|
||||||
|
input => "TestCase",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
### Invalid
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => "xxx",
|
||||||
|
input => "TestCase",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => "xxx",
|
||||||
|
input => "\x00",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
### General
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => "0-255",
|
||||||
|
input => "abcdefghi",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => ord("a")."-".ord("i"),
|
||||||
|
input => "abcdefghi",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateByteRange",
|
||||||
|
param => ord("a")."-".ord("i"),
|
||||||
|
input => "abcdefghij",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
@ -1 +1,101 @@
|
|||||||
|
### Empty
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
### General
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "Hello%20World!",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "Hello+World!",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "HelloWorld!",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%00Hello%20World!",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "Hello%20World!%00",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%00",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%ff",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%0",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%f",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%0z",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%z0",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUrlEncoding",
|
||||||
|
param => "",
|
||||||
|
input => "%0%",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
@ -1 +1,260 @@
|
|||||||
|
### Empty
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
|
||||||
|
### Valid "I can eat glass and it does not hurt me."
|
||||||
|
# Greek
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "ὕαλον ϕαγεῖν δύναμαι· τοῦτο οὔ με βλάπτει.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# French
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Je peux manger du verre, ça ne me fait pas de mal.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Spanish
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Puedo comer vidrio, no me hace daño.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Esparanto
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Mi povas manĝi vitron, ĝi ne damaĝas min.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Latin
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Ic mæg glæs eotan ond hit ne hearmiað me.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Serbian
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Могу јести стакло а да ми не шкоди.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Russian
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Я могу есть стекло, оно мне не вредит.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Armenian
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Կրնամ ապակի ուտել և ինծի անհանգիստ չըներ։",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Turkish
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "جام ييه بلورم بڭا ضررى طوقونمز",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Hindi
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "मैं काँच खा सकता हूँ, मुझे उस से कोई पीडा नहीं होती.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Arabic
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "أنا قادر على أكل الزجاج و هذا لا يؤلمني.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Hebrew
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "אני יכול לאכול זכוכית וזה לא מזיק לי.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Japanese
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "私はガラスを食べられます。それは私を傷つけません。",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Thai
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "ฉันกินกระจกได้ แต่มันไม่ทำให้ฉันเจ็บ",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Korean
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "나는 유리를 먹을 수 있어요. 그래도 아프지 않아요",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Navajo
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Tsésǫʼ yishą́ągo bííníshghah dóó doo shił neezgai da.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Icelandic
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Ég get etið gler án þess að meiða mig.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Sanskrit
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "काचं शक्नोम्यत्तुम् । नोपहिनस्ति माम् ॥",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# English Braille
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "⠊⠀⠉⠁⠝⠀⠑⠁⠞⠀⠛⠇⠁⠎⠎⠀⠁⠝⠙⠀⠊⠞⠀⠙⠕⠑⠎⠝⠞⠀⠓⠥⠗⠞⠀⠍⠑",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Danish
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Jeg kan spise glas, det gør ikke ondt på mig.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Hungarian
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Meg tudom enni az üveget, nem lesz tőle bajom.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Estonian
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Ma võin klaasi süüa, see ei tee mulle midagi.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Czech
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Mohu jíst sklo, neublíží mi.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Slovak
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Môžem jesť sklo. Nezraní ma.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Polish
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "Mogę jeść szkło i mi nie szkodzi.",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
# Symbols
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input=>"∮E⋅da=Qn→∞∑f(i)=∏g(i)∀x∈ℝ:⌈x⌉=−⌊−x⌋α∧¬β=¬(¬α∨β)ℕ⊆ℕ₀⊂ℤ⊂ℚ⊂ℝ⊂ℂ⊥<a≠b≡c≤d≪⊤⇒(A⇔B)2H₂+O₂⇌2H₂OR=4.7kΩ⌀200mm‘’“”'´`‚‘„“†‡‰•3–4—−5/+5™…1lI|0OD8B€",
|
||||||
|
ret => 0,
|
||||||
|
},
|
||||||
|
### Invalid
|
||||||
|
# Umlauted a
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "\x00\xe4",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
# Umlauted a
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "\xe4",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
#
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "\x03\xbf",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
#
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "\xc9\x3b",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
### Invalid Full width
|
||||||
|
#
|
||||||
|
{
|
||||||
|
type => "op",
|
||||||
|
name => "validateUtf8Encoding",
|
||||||
|
param => "",
|
||||||
|
input => "\xFF\x00",
|
||||||
|
ret => 1,
|
||||||
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user