diff options
-rw-r--r-- | tests/data/DISABLED | 5 | ||||
-rw-r--r-- | tests/data/test2017 | 8 | ||||
-rw-r--r-- | tests/data/test2018 | 78 | ||||
-rw-r--r-- | tests/data/test2019 | 78 | ||||
-rw-r--r-- | tests/data/test2020 | 78 | ||||
-rw-r--r-- | tests/data/test2021 | 78 | ||||
-rw-r--r-- | tests/data/test2022 | 78 |
7 files changed, 399 insertions, 4 deletions
diff --git a/tests/data/DISABLED b/tests/data/DISABLED index f7402e60b..77625d507 100644 --- a/tests/data/DISABLED +++ b/tests/data/DISABLED @@ -6,3 +6,8 @@ 1209 1211 2017 +2018 +2019 +2020 +2021 +2022 diff --git a/tests/data/test2017 b/tests/data/test2017 index f4312c47b..52df14e38 100644 --- a/tests/data/test2017 +++ b/tests/data/test2017 @@ -35,7 +35,7 @@ file Metalink </features> <name> -Metalink local XML file, attempt questionable file name +Metalink local XML file, attempt UNIX home path traversal </name> <command option="no-output,no-include"> --metalink file://%PWD/log/test2017.metalink @@ -45,7 +45,7 @@ Metalink local XML file, attempt questionable file name <?xml version="1.0" encoding="utf-8"?> <metalink version="3.0" xmlns="http://www.metalinker.org/"> <files> - <file name="log/.download2017"> + <file name="~/download2017"> <verification> <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> </verification> @@ -57,7 +57,7 @@ Metalink local XML file, attempt questionable file name </metalink> </file> <postcheck> -perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017 log/.download2017 +perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017 </postcheck> </client> @@ -72,7 +72,7 @@ Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invali Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED </file2> <stripfile2> -$_ = '' if ($_ !~ /^Metalink: /) +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) </stripfile2> </verify> </testcase> diff --git a/tests/data/test2018 b/tests/data/test2018 new file mode 100644 index 000000000..b76233e1a --- /dev/null +++ b/tests/data/test2018 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2018; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt UNIX questionable file name I + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2018.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2018.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="log/.download2018"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2018</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2018 log/name2018 log/.download2018 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2018"> +</file1> +<file2 name="log/stderr2018"> +Metalink: parsing (file://%PWD/log/test2018.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2018.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2018.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2019 b/tests/data/test2019 new file mode 100644 index 000000000..cd098040b --- /dev/null +++ b/tests/data/test2019 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2019; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt UNIX questionable file name II + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2019.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2019.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="."> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2019</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2019 log/name2019 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2019"> +</file1> +<file2 name="log/stderr2019"> +Metalink: parsing (file://%PWD/log/test2019.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2019.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2019.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2020 b/tests/data/test2020 new file mode 100644 index 000000000..f89600b64 --- /dev/null +++ b/tests/data/test2020 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2020; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt UNIX questionable file name III + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2020.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2020.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name=".."> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2020</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2020 log/name2020 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2020"> +</file1> +<file2 name="log/stderr2020"> +Metalink: parsing (file://%PWD/log/test2020.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2020.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2020.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2021 b/tests/data/test2021 new file mode 100644 index 000000000..133eb1678 --- /dev/null +++ b/tests/data/test2021 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2021; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt UNIX questionable file name IV + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2021.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2021.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="log/download2021 >/dev/null"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2021</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2021 log/name2021 log/download2021 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2021"> +</file1> +<file2 name="log/stderr2021"> +Metalink: parsing (file://%PWD/log/test2021.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2021.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2021.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) +</stripfile2> +</verify> +</testcase> diff --git a/tests/data/test2022 b/tests/data/test2022 new file mode 100644 index 000000000..8cb0df520 --- /dev/null +++ b/tests/data/test2022 @@ -0,0 +1,78 @@ +<testcase> +<info> +<keywords> +Metalink +HTTP +HTTP GET +</keywords> +</info> + +# +# Server-side +<reply> +<data nocheck="yes"> +HTTP/1.1 200 OK +Date: Wed, 20 Jun 2012 14:49:00 GMT +Server: test-server/fake +Content-Length: 56 +Connection: close +Content-Type: text/html +Content-Disposition: filename=name2022; charset=funny; option=strange +Funny-head: yesyes + +Data that should not be delivered from an HTTP resource +</data> +</reply> + +# +# Client-side +<client> +<server> +http +</server> +<features> +file +Metalink +</features> + <name> +Metalink local XML file, attempt UNIX questionable file name V + </name> +<command option="no-output,no-include"> +--metalink file://%PWD/log/test2022.metalink +</command> +# local metalink file written before test command runs +<file name="log/test2022.metalink"> +<?xml version="1.0" encoding="utf-8"?> +<metalink version="3.0" xmlns="http://www.metalinker.org/"> + <files> + <file name="log/download2022 |/dev/null"> + <verification> + <hash type="sha256">c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82</hash> + </verification> + <resources maxconnections="1"> + <url type="http" preference="90">http://%HOSTIP:%HTTPPORT/2022</url> + </resources> + </file> + </files> +</metalink> +</file> +<postcheck> +perl %SRCDIR/libtest/notexists.pl log/2022 log/name2022 log/download2022 +</postcheck> +</client> + +# +# Verify data after the test has been "shot" +<verify> +<file1 name="log/stdout2022"> +</file1> +<file2 name="log/stderr2022"> +Metalink: parsing (file://%PWD/log/test2022.metalink) metalink/XML... +Metalink: parsing (file://%PWD/log/test2022.metalink) WARNING (missing or invalid file name) +Metalink: parsing (file://%PWD/log/test2022.metalink) FAILED +</file2> +<stripfile2> +$_ = '' if (($_ !~ /^Metalink: /) && ($_ !~ /error/i) && ($_ !~ /warn/i)) +</stripfile2> +</verify> +</testcase> |