diff --git a/tests/data/DISABLED b/tests/data/DISABLED
index 0bcc328e3..c15fe769b 100644
--- a/tests/data/DISABLED
+++ b/tests/data/DISABLED
@@ -6,3 +6,8 @@
1209
1211
2012
+2013
+2014
+2015
+2016
+2017
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index 797763b4c..5136b419e 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -94,7 +94,8 @@ test1387 test1388 test1389 test1390 test1391 test1392 test1393 \
test1400 test1401 test1402 test1403 test1404 test1405 test1406 test1407 \
test1408 \
test2000 test2001 test2002 test2003 test2004 test2005 test2006 test2007 \
-test2008 test2009 test2010 test2011 test2012
+test2008 test2009 test2010 test2011 test2012 test2013 test2014 test2015 \
+test2016 test2017
EXTRA_DIST = $(TESTCASES) DISABLED
diff --git a/tests/data/test2013 b/tests/data/test2013
new file mode 100644
index 000000000..dc0208bc9
--- /dev/null
+++ b/tests/data/test2013
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+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=name2013; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt absolute path
+
+
+--metalink file://%PWD/log/test2013.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2013
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2013 log/name2013 /tmp/download2013
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2013.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2013.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2013.metalink) FAILED
+
+
+$_ = '' if ($_ !~ /^Metalink: /)
+
+
+
diff --git a/tests/data/test2014 b/tests/data/test2014
new file mode 100644
index 000000000..659bc9221
--- /dev/null
+++ b/tests/data/test2014
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+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=name2014; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt path relative to current
+
+
+--metalink file://%PWD/log/test2014.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2014
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2014 log/name2014 log/download2014
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2014.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2014.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2014.metalink) FAILED
+
+
+$_ = '' if ($_ !~ /^Metalink: /)
+
+
+
diff --git a/tests/data/test2015 b/tests/data/test2015
new file mode 100644
index 000000000..45646f2de
--- /dev/null
+++ b/tests/data/test2015
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+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=name2015; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt path relative to upper
+
+
+--metalink file://%PWD/log/test2015.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2015
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2015 log/name2015 log/download2015
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2015.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2015.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2015.metalink) FAILED
+
+
+$_ = '' if ($_ !~ /^Metalink: /)
+
+
+
diff --git a/tests/data/test2016 b/tests/data/test2016
new file mode 100644
index 000000000..a5f3674b0
--- /dev/null
+++ b/tests/data/test2016
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+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=name2016; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt path traversal
+
+
+--metalink file://%PWD/log/test2016.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2016
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2016 log/name2016 log/download2016
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2016.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2016.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2016.metalink) FAILED
+
+
+$_ = '' if ($_ !~ /^Metalink: /)
+
+
+
diff --git a/tests/data/test2017 b/tests/data/test2017
new file mode 100644
index 000000000..f4312c47b
--- /dev/null
+++ b/tests/data/test2017
@@ -0,0 +1,78 @@
+
+
+
+Metalink
+HTTP
+HTTP GET
+
+
+
+#
+# Server-side
+
+
+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=name2017; charset=funny; option=strange
+Funny-head: yesyes
+
+Data that should not be delivered from an HTTP resource
+
+
+
+#
+# Client-side
+
+
+http
+
+
+file
+Metalink
+
+
+Metalink local XML file, attempt questionable file name
+
+
+--metalink file://%PWD/log/test2017.metalink
+
+# local metalink file written before test command runs
+
+
+
+
+
+
+ c7d03debe90ca29492203ea921d76941fa98640cf3b744f2a16c9b58465eab82
+
+
+ http://%HOSTIP:%HTTPPORT/2017
+
+
+
+
+
+
+perl %SRCDIR/libtest/notexists.pl log/2017 log/name2017 log/.download2017
+
+
+
+#
+# Verify data after the test has been "shot"
+
+
+
+
+Metalink: parsing (file://%PWD/log/test2017.metalink) metalink/XML...
+Metalink: parsing (file://%PWD/log/test2017.metalink) WARNING (missing or invalid file name)
+Metalink: parsing (file://%PWD/log/test2017.metalink) FAILED
+
+
+$_ = '' if ($_ !~ /^Metalink: /)
+
+
+