mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-30 11:44:32 +03:00
Merge 2.5.x (2.5.12) changes into trunk.
This commit is contained in:
@@ -27,64 +27,190 @@
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/foo/bar//baz",
|
||||
output => "/foo/bar/baz",
|
||||
input => "x",
|
||||
output => "x",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => ".",
|
||||
output => "",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/foo/bar baz/././././boo//eek/././../whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => "./",
|
||||
output => "",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "./foo/bar baz/././././boo//eek/././../whoa",
|
||||
output => "./foo/bar baz/boo/whoa",
|
||||
input => "./..",
|
||||
output => "..",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/./foo/bar baz/././././boo//eek/././../whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => "./../",
|
||||
output => "../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "//foo/bar baz/././././boo//eek/././../whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => "..",
|
||||
output => "..",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "../",
|
||||
output => "../",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "../.",
|
||||
output => "..",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "//foo/bar baz/././././boo//eek/././../whoa/./",
|
||||
output => "/foo/bar baz/boo/whoa/",
|
||||
input => ".././",
|
||||
output => "../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/./foo/bar baz/././././boo//eek/././../whoa//",
|
||||
output => "/foo/bar baz/boo/whoa/",
|
||||
input => "../..",
|
||||
output => "../..",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "../../",
|
||||
output => "../../",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/dir/foo//bar",
|
||||
output => "/dir/foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/./../../../../../../../../etc/passwd",
|
||||
output => "/etc/passwd",
|
||||
input => "dir/foo//bar/",
|
||||
output => "dir/foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/./.././../../../../../../../etc/../etc/./passwd",
|
||||
output => "/etc/passwd",
|
||||
input => "dir/../foo",
|
||||
output => "foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/../../foo",
|
||||
output => "../foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar/.",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar/./",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar/..",
|
||||
output => "../../foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar/../",
|
||||
output => "../../foo/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./.././../../foo/bar/",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir//.//..//.//..//..//foo//bar",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir//.//..//.//..//..//foo//bar//",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/subdir/subsubdir/subsubsubdir/../../..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./subdir/./subsubdir/./subsubsubdir/../../..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "dir/./subdir/../subsubdir/../subsubsubdir/..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePath",
|
||||
input => "/dir/./subdir/../subsubdir/../subsubsubdir/../",
|
||||
output => "/dir/",
|
||||
ret => 1,
|
||||
},
|
||||
|
||||
|
@@ -27,64 +27,190 @@
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\foo\\bar\\\\baz",
|
||||
output => "/foo/bar/baz",
|
||||
input => "x",
|
||||
output => "x",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => ".",
|
||||
output => "",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => ".\\",
|
||||
output => "",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => ".\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa",
|
||||
output => "./foo/bar baz/boo/whoa",
|
||||
input => ".\\..",
|
||||
output => "..",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\.\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => ".\\..\\",
|
||||
output => "../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa",
|
||||
output => "/foo/bar baz/boo/whoa",
|
||||
input => "..",
|
||||
output => "..",
|
||||
ret => 0,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "..\\",
|
||||
output => "../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa\\.\\",
|
||||
output => "/foo/bar baz/boo/whoa/",
|
||||
input => "..\\.",
|
||||
output => "..",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\.\\foo\\bar baz\\.\\.\\.\\.\\boo\\\\eek\\.\\.\\..\\whoa\\\\",
|
||||
output => "/foo/bar baz/boo/whoa/",
|
||||
input => "..\\.\\",
|
||||
output => "../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\.\\..\\..\\..\\..\\..\\..\\..\\..\\etc\\passwd",
|
||||
output => "/etc/passwd",
|
||||
input => "..\\..",
|
||||
output => "../..",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\.\\..\\.\\..\\..\\..\\..\\..\\..\\..\\etc\\..\\etc\\.\\passwd",
|
||||
output => "/etc/passwd",
|
||||
input => "..\\..\\",
|
||||
output => "../../",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\dir\\foo\\\\bar",
|
||||
output => "/dir/foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\foo\\\\bar\\",
|
||||
output => "dir/foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\..\\foo",
|
||||
output => "foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\..\\..\\foo",
|
||||
output => "../foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar\\.",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar\\.\\",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar\\..",
|
||||
output => "../../foo",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar\\..\\",
|
||||
output => "../../foo/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\..\\.\\..\\..\\foo\\bar\\",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\\\.\\\\..\\\\.\\\\..\\\\..\\\\foo\\\\bar",
|
||||
output => "../../foo/bar",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\\\.\\\\..\\\\.\\\\..\\\\..\\\\foo\\\\bar\\\\",
|
||||
output => "../../foo/bar/",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\subdir\\subsubdir\\subsubsubdir\\..\\..\\..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\subdir\\.\\subsubdir\\.\\subsubsubdir\\..\\..\\..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "dir\\.\\subdir\\..\\subsubdir\\..\\subsubsubdir\\..",
|
||||
output => "dir",
|
||||
ret => 1,
|
||||
},
|
||||
{
|
||||
type => "tfn",
|
||||
name => "normalisePathWin",
|
||||
input => "\\dir\\.\\subdir\\..\\subsubdir\\..\\subsubsubdir\\..\\",
|
||||
output => "/dir/",
|
||||
ret => 1,
|
||||
},
|
||||
|
||||
|
Reference in New Issue
Block a user