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;
|
||||
int rc = 0;
|
||||
int result = 0;
|
||||
int ec = 0;
|
||||
|
||||
apr_app_initialize(&argc, &argv, NULL);
|
||||
atexit(apr_terminate);
|
||||
@ -420,7 +421,7 @@ int main(int argc, const char * const argv[])
|
||||
"Output: '%s' len=%" APR_SIZE_T_FMT "\n"
|
||||
"Expect: '%s' len=%" APR_SIZE_T_FMT "\n",
|
||||
s0, nbytes, s1, out_len, s2, param_len);
|
||||
exit(1);
|
||||
ec = 1;
|
||||
}
|
||||
}
|
||||
else if (strcmp("op", type) == 0) {
|
||||
@ -455,7 +456,7 @@ int main(int argc, const char * const argv[])
|
||||
fprintf(stderr, " Test: '@%s %s'\n"
|
||||
"Input: '%s' len=%" APR_SIZE_T_FMT "\n",
|
||||
name, param, s0, nbytes);
|
||||
exit(1);
|
||||
ec = 1;
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -465,7 +466,7 @@ int main(int argc, const char * const argv[])
|
||||
|
||||
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