diff --git a/.github/scripts/spacecheck.pl b/.github/scripts/spacecheck.pl
index b47dbc6a8c..992667e48b 100755
--- a/.github/scripts/spacecheck.pl
+++ b/.github/scripts/spacecheck.pl
@@ -158,11 +158,19 @@ while(my $filename = <$git_ls_files>) {
push @err, "content: has binary contents";
}
- $content =~ s/[$non_ascii_allowed]//g;
+ if($filename !~ /tests\/data/) {
+ # the tests have no allowed UTF bytes
+ $content =~ s/[$non_ascii_allowed]//g;
+ }
if(!fn_match($filename, @non_ascii) &&
- ($content =~ /([\x80-\xff]+)/ && $content !~ /^(codeset-utf8|Unicode|non-ascii)/m)) {
- push @err, "content: has non-ASCII: '$1'";
+ ($content =~ /([\x80-\xff]+)/)) {
+ my $non = $1;
+ my $hex;
+ for my $e (split(//, $non)) {
+ $hex .= sprintf("%s%02x", $hex ? " ": "", ord($e));
+ }
+ push @err, "content: has non-ASCII: '$non' ($hex)";
}
if(@err) {
diff --git a/tests/FILEFORMAT.md b/tests/FILEFORMAT.md
index 0a0aee0fec..72bdb747a9 100644
--- a/tests/FILEFORMAT.md
+++ b/tests/FILEFORMAT.md
@@ -228,9 +228,8 @@ Tests that have strict timing dependencies have the `timing-dependent` keyword.
These are intended to eventually be treated specially on CI builds which are
often run on overloaded machines with unpredictable timing.
-Tests using non-7-bit-ASCII characters, and not using features `Unicode` or
-`codeset-utf8`, need to add the `non-ascii` keyword to tell the code checker
-to allow these characters.
+Tests using non-7-bit-ASCII characters must provide them with `%hex[]` or
+similar.
## ``
diff --git a/tests/data/test1034 b/tests/data/test1034
index 7e62f6d63b..ef671dfe2e 100644
--- a/tests/data/test1034
+++ b/tests/data/test1034
@@ -39,7 +39,7 @@ HTTP over proxy with malformatted IDN host name
# This host name contains an invalid UTF-8 byte sequence that can't be
# converted into an IDN name
-url = "http://invalid-utf8-.local/page/%TESTNUMBER"
+url = "http://invalid-utf8-%hex[%e2%90]hex%.local/page/%TESTNUMBER"
-K - -x %HOSTIP:%NOLISTENPORT
diff --git a/tests/data/test1035 b/tests/data/test1035
index 7c4f557241..b6f30ae56b 100644
--- a/tests/data/test1035
+++ b/tests/data/test1035
@@ -34,7 +34,7 @@ LC_CTYPE=en_US.UTF-8
HTTP over proxy with too long IDN host name
-http://too-long-IDN-name-cürl-rüleß-la-la-la-dee-da-flooby-nooby.local/page/%TESTNUMBER -x %HOSTIP:%NOLISTENPORT
+http://too-long-IDN-name-c%hex[%c3%bc]hex%rl-r%hex[%c3%bc]hex%le%hex[%c3%9f]hex%-la-la-la-dee-da-flooby-nooby.local/page/%TESTNUMBER -x %HOSTIP:%NOLISTENPORT
diff --git a/tests/data/test1138 b/tests/data/test1138
index 7464818496..1f125f5844 100644
--- a/tests/data/test1138
+++ b/tests/data/test1138
@@ -4,38 +4,37 @@
HTTP
HTTP GET
followlocation
-non-ascii
#
# Server-side
-
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/?name=آغاز-سم-زدایی-از-بازار-پول&testcase=/%TESTNUMBER0002
-Date: Tue, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=%hex[%d8%a2%d8%ba%d8%a7%d8%b2%2d%d8%b3%d9%85%2d%d8%b2%d8%af%d8%a7%db%8c%db%8c%2d%d8%a7%d8%b2%2d%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1%2d%d9%be%d9%88%d9%84]hex%&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Tue, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
-
-HTTP/1.1 302 OK swsclose
-Location: ../moo.html/?name=آغاز-سم-زدایی-از-بازار-پول&testcase=/%TESTNUMBER0002
-Date: Tue, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
-HTTP/1.1 200 OK swsclose
-Location: this should be ignored
-Date: Tue, 09 Nov 2010 14:49:00 GMT
-Connection: close
-
+
+HTTP/1.1 302 OK swsclose
+Location: ../moo.html/?name=%hex[%d8%a2%d8%ba%d8%a7%d8%b2%2d%d8%b3%d9%85%2d%d8%b2%d8%af%d8%a7%db%8c%db%8c%2d%d8%a7%d8%b2%2d%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1%2d%d9%be%d9%88%d9%84]hex%&testcase=/%TESTNUMBER0002
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
@@ -57,17 +56,17 @@ http://%HOSTIP:%HTTPPORT/we/are/all/twits/%TESTNUMBER -L
#
# Verify data after the test has been "shot"
-
-GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-User-Agent: curl/%VERSION
-Accept: */*
-
-GET /we/are/all/moo.html/?name=%d8%a2%d8%ba%d8%a7%d8%b2-%d8%b3%d9%85-%d8%b2%d8%af%d8%a7%db%8c%db%8c-%d8%a7%d8%b2-%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1-%d9%be%d9%88%d9%84&testcase=/%TESTNUMBER0002 HTTP/1.1
-Host: %HOSTIP:%HTTPPORT
-User-Agent: curl/%VERSION
-Accept: */*
-
+
+GET /we/are/all/twits/%TESTNUMBER HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
+GET /we/are/all/moo.html/?name=%d8%a2%d8%ba%d8%a7%d8%b2-%d8%b3%d9%85-%d8%b2%d8%af%d8%a7%db%8c%db%8c-%d8%a7%d8%b2-%d8%a8%d8%a7%d8%b2%d8%a7%d8%b1-%d9%be%d9%88%d9%84&testcase=/%TESTNUMBER0002 HTTP/1.1
+Host: %HOSTIP:%HTTPPORT
+User-Agent: curl/%VERSION
+Accept: */*
+
diff --git a/tests/data/test1160 b/tests/data/test1160
index 77ea92a042..c24decedca 100644
--- a/tests/data/test1160
+++ b/tests/data/test1160
@@ -5,7 +5,6 @@
HTTP
HTTP GET
cookies
-non-ascii
@@ -16,7 +15,7 @@ non-ascii
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 0
-Set-Cookie: ____________= ; zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+Set-Cookie: ____________%hex[%ff]hex%= ; %hex[%ff]hex% zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%hex[%86%85%85%80]hex%zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%hex[%fa]hex%zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%hex[%f3%a0%81%96]hex%zzzzzzzzzzzz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz%hex[%b6]hex%zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
diff --git a/tests/data/test1448 b/tests/data/test1448
index 33aedc4f01..96d64b85a5 100644
--- a/tests/data/test1448
+++ b/tests/data/test1448
@@ -18,7 +18,7 @@ HTTP/1.1 302 OK swsbounce
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Content-Type: text/plain
-Location: http://åäö.se:%HTTPPORT/%TESTNUMBER0001
+Location: http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se:%HTTPPORT/%TESTNUMBER0001
redirect
@@ -51,7 +51,7 @@ Redirect following to UTF-8 IDN host name
-http://åäö.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -L --connect-to %HOSTIP:%HTTPPORT:%HOSTIP:%HTTPPORT
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -L --connect-to %HOSTIP:%HTTPPORT:%HOSTIP:%HTTPPORT
@@ -76,7 +76,7 @@ HTTP/1.1 302 OK swsbounce
Date: Tue, 09 Nov 2010 14:49:00 GMT
Content-Length: 9
Content-Type: text/plain
-Location: http://åäö.se:%HTTPPORT/%TESTNUMBER0001
+Location: http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se:%HTTPPORT/%TESTNUMBER0001
HTTP/1.1 200 OK
Date: Tue, 09 Nov 2010 14:49:00 GMT
diff --git a/tests/data/test1631 b/tests/data/test1631
index db7d391233..7c470b3c84 100644
--- a/tests/data/test1631
+++ b/tests/data/test1631
@@ -4,7 +4,6 @@
FTP
HTTPS proxy
flaky
-non-ascii
@@ -30,7 +29,7 @@ Hull. He got a good estate by merchandise,and leaving off his trade, lived
afterwards at York, from whence he had married my mother, whoserelations were
named Robinson, a very good family in that country, and from whom I was
calledRobinson Kreutznaer; but, by the usual corruption of words in England,
-we are now called—nay wecall ourselves and write our name—Crusoe; and so my
+we are now called-nay wecall ourselves and write our name-Crusoe; and so my
companions always called me.
diff --git a/tests/data/test1632 b/tests/data/test1632
index c72296bd2f..18d400fd4b 100644
--- a/tests/data/test1632
+++ b/tests/data/test1632
@@ -4,7 +4,6 @@
FTP
HTTPS proxy
flaky
-non-ascii
@@ -30,7 +29,7 @@ Hull. He got a good estate by merchandise,and leaving off his trade, lived
afterwards at York, from whence he had married my mother, whoserelations were
named Robinson, a very good family in that country, and from whom I was
calledRobinson Kreutznaer; but, by the usual corruption of words in England,
-we are now called—nay wecall ourselves and write our name—Crusoe; and so my
+we are now called-nay wecall ourselves and write our name-Crusoe; and so my
companions always called me.
diff --git a/tests/data/test165 b/tests/data/test165
index 39787db87e..0b5cfd2346 100644
--- a/tests/data/test165
+++ b/tests/data/test165
@@ -40,7 +40,7 @@ LC_CTYPE=en_US.UTF-8
HTTP over proxy with IDN host name
-http://www.åäö.se/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT http://www.große.de/page/%TESTNUMBER
+http://www.%hex[%c3%a5%c3%a4%c3%b6]hex%.se/page/%TESTNUMBER -x %HOSTIP:%HTTPPORT http://www.gro%hex[%c3%9f]hex%e.de/page/%TESTNUMBER
diff --git a/tests/data/test1703 b/tests/data/test1703
index bdc6476323..6774148509 100644
--- a/tests/data/test1703
+++ b/tests/data/test1703
@@ -30,7 +30,7 @@ basic file:// file with UTF-8 characters
file://localhost%FILE_PWD/%LOGDIR/%E3%83%86%E3%82%B9%E3%83%88%TESTNUMBER.txt
-
+
foo
bar
bar
diff --git a/tests/data/test2046 b/tests/data/test2046
index c0d3a0e825..cf25d0c57b 100644
--- a/tests/data/test2046
+++ b/tests/data/test2046
@@ -51,7 +51,7 @@ Connection reuse with IDN host name
-http://åäö.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se:%HTTPPORT/%TESTNUMBER --resolve xn--4cab6c.se:%HTTPPORT:%HOSTIP -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
@@ -87,7 +87,7 @@ OK
1
1
3
-http://åäö.se:%HTTPPORT/%TESTNUMBER0001
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se:%HTTPPORT/%TESTNUMBER0001
text/plain; charset=us-ascii
200
diff --git a/tests/data/test2047 b/tests/data/test2047
index 1d7be6db36..c32e6aabc7 100644
--- a/tests/data/test2047
+++ b/tests/data/test2047
@@ -52,7 +52,7 @@ Connection reuse with IDN host name over HTTP proxy
-http://åäö.se/%TESTNUMBER -x %HOSTIP:%HTTPPORT -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se/%TESTNUMBER -x %HOSTIP:%HTTPPORT -w "%{num_connects}\n%{num_redirects}\n%{size_download}\n%{url_effective}\n%{content_type}\n%{response_code}\n" -L
@@ -90,7 +90,7 @@ OK
1
1
3
-http://åäö.se/%TESTNUMBER0001
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se/%TESTNUMBER0001
text/plain; charset=us-ascii
200
diff --git a/tests/data/test31 b/tests/data/test31
index 0392207f65..8de7adc783 100644
--- a/tests/data/test31
+++ b/tests/data/test31
@@ -5,7 +5,6 @@ HTTP
HTTP GET
cookies
cookiejar
-non-ascii
# Server-side
@@ -69,7 +68,7 @@ Set-Cookie: withspaces= yes within and around ;
Set-Cookie: withspaces2 =before equals;
Set-Cookie: prespace= yes before;
Set-Cookie: securewithspace=after ; secure =
-Set-Cookie: ³Ã\x92Ã\x9aÃ\x8dÃ\x97=%96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
+Set-Cookie: %hex[%c3%82%c2%b3%c3%83%5c%78%39%32%c3%83%5c%78%39%61%c3%83%5c%78%38%64%c3%83%5c%78%39%37]hex%=%96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
boo
@@ -112,7 +111,7 @@ Accept: */*
# https://curl.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
-test31.curl FALSE /we/want/ FALSE 0 ³Ã\x92Ã\x9aÃ\x8dÃ\x97 %96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
+test31.curl FALSE /we/want/ FALSE 0 %hex[%c3%82%c2%b3%c3%83%5c%78%39%32%c3%83%5c%78%39%61%c3%83%5c%78%38%64%c3%83%5c%78%39%37]hex% %96%A6g%9Ay%B0%A5g%A7tm%7C%95%9A
test31.curl FALSE /we/want/ FALSE 0 prespace yes before
test31.curl FALSE /we/want/ FALSE 0 withspaces2 before equals
test31.curl FALSE /we/want/ FALSE 0 withspaces yes within and around
diff --git a/tests/data/test469 b/tests/data/test469
index ace2694933..1e394c9f26 100644
--- a/tests/data/test469
+++ b/tests/data/test469
@@ -2,7 +2,6 @@
HTTP
-non-ascii
@@ -38,7 +37,7 @@ http
warn about Unicode quote character
--H “host: %HOSTIP:%HTTPPORT/” -s
+-H %hex[%e2%80%9c]hex%host: %HOSTIP:%HTTPPORT/%hex[%e2%80%9c]hex% -s
diff --git a/tests/data/test470 b/tests/data/test470
index f99d461b77..5667bbb590 100644
--- a/tests/data/test470
+++ b/tests/data/test470
@@ -2,7 +2,6 @@
HTTP
-non-ascii
@@ -35,7 +34,7 @@ http
warn about Unicode quote character read from config file
--H “host:fake”
+-H %hex[%e2%80%9c]hex%host:fake%hex[%e2%80%9d]hex%
%HOSTIP:%HTTPPORT --no-progress-meter -K "%LOGDIR/input%TESTNUMBER"
diff --git a/tests/data/test472 b/tests/data/test472
index 88cc78f937..d0abb5ce77 100644
--- a/tests/data/test472
+++ b/tests/data/test472
@@ -39,7 +39,7 @@ Unicode
aws-sigv4 with query
-"http://fake.fake.fake:8000/%TESTNUMBER/a=あ" -u user:secret --aws-sigv4 "aws:amz:us-east-2:es" --connect-to fake.fake.fake:8000:%HOSTIP:%HTTPPORT
+"http://fake.fake.fake:8000/%TESTNUMBER/a=%hex[%e3%81%82]hex%" -u user:secret --aws-sigv4 "aws:amz:us-east-2:es" --connect-to fake.fake.fake:8000:%HOSTIP:%HTTPPORT
diff --git a/tests/data/test497 b/tests/data/test497
index 300201b1fc..dec1808f9b 100644
--- a/tests/data/test497
+++ b/tests/data/test497
@@ -3,7 +3,6 @@
HTTP
HTTP GET
-non-ascii
@@ -20,7 +19,7 @@ Accept-Ranges: bytes
Content-Length: 6
Connection: close
Content-Type: text/html
-%repeat[1750 x Repeat-this-Header-a-large-number-of-times: Dorothy lived in the midst of the great Kansas prairies, with Uncle Henry, who was a farmer, and Aunt Em, who was the farmer’s wife.%0a]%
+%repeat[1750 x Repeat-this-Header-a-large-number-of-times: Dorothy lived in the midst of the great Kansas prairies, with Uncle Henry, who was a farmer, and Aunt Em, who was the farmer's wife.%0a]%
-foo-
diff --git a/tests/data/test498 b/tests/data/test498
index 4426f7a29c..6c9f8d239e 100644
--- a/tests/data/test498
+++ b/tests/data/test498
@@ -3,7 +3,6 @@
HTTP
HTTP GET
-non-ascii
diff --git a/tests/data/test649 b/tests/data/test649
index 25128aee67..371f00bfdc 100644
--- a/tests/data/test649
+++ b/tests/data/test649
@@ -3,7 +3,6 @@
SMTP
MULTIPART
-non-ascii
@@ -34,7 +33,7 @@ body
smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@example.com -F '=This is valid;encoder=7bit' -F "=@%LOGDIR/test%TESTNUMBER.txt;encoder=7bit" -H "From: different" -H "To: another"
-This is an attached file (in french: pièce jointe).
+This is an attached file (in french: pi%hex[%c3%a8]hex%ce jointe).
It contains at least an 8-bit byte value.
diff --git a/tests/data/test955 b/tests/data/test955
index 982afc352e..817b47a67e 100644
--- a/tests/data/test955
+++ b/tests/data/test955
@@ -37,7 +37,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avsändaren@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avs%hex[%c3%a4]hex%ndaren@example.com -T -
@@ -50,7 +50,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-fr
EHLO %TESTNUMBER
-MAIL FROM:
+MAIL FROM:
QUIT
diff --git a/tests/data/test956 b/tests/data/test956
index 22bf3a14fa..4546f2ee61 100644
--- a/tests/data/test956
+++ b/tests/data/test956
@@ -34,7 +34,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Stödmottagaren@example.com --mail-from sender@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt St%hex[%c3%b6]hex%dmottagaren@example.com --mail-from sender@example.com -T -
@@ -48,7 +48,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Stödmottagaren@example.com --m
EHLO %TESTNUMBER
MAIL FROM:
-RCPT TO:
+RCPT TO:
QUIT
diff --git a/tests/data/test957 b/tests/data/test957
index d49739d84f..fbe07a0fd7 100644
--- a/tests/data/test957
+++ b/tests/data/test957
@@ -29,7 +29,7 @@ LC_CTYPE=en_US.UTF-8
SMTP VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren
@@ -42,7 +42,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
EHLO %TESTNUMBER
-VRFY Användaren
+VRFY Anv%hex[%c3%a4]hex%ndaren
QUIT
diff --git a/tests/data/test958 b/tests/data/test958
index ea5a2dbae6..1687ebbf05 100644
--- a/tests/data/test958
+++ b/tests/data/test958
@@ -29,7 +29,7 @@ LC_CTYPE=en_US.UTF-8
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@example.com
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren@example.com
@@ -42,7 +42,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@example.com
EHLO %TESTNUMBER
-VRFY Användaren@example.com
+VRFY Anv%hex[%c3%a4]hex%ndaren@example.com
QUIT
diff --git a/tests/data/test959 b/tests/data/test959
index 178e0f13c4..2154600da2 100644
--- a/tests/data/test959
+++ b/tests/data/test959
@@ -38,7 +38,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
@@ -51,7 +51,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-fr
EHLO %TESTNUMBER
-MAIL FROM:
+MAIL FROM:
QUIT
diff --git a/tests/data/test960 b/tests/data/test960
index 2cf348eb53..fb50a326b2 100644
--- a/tests/data/test960
+++ b/tests/data/test960
@@ -35,7 +35,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
@@ -49,7 +49,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@åäö.se --mail-from
EHLO %TESTNUMBER
MAIL FROM:
-RCPT TO:
+RCPT TO:
QUIT
diff --git a/tests/data/test961 b/tests/data/test961
index 57958a4eb0..f6dd8ce75a 100644
--- a/tests/data/test961
+++ b/tests/data/test961
@@ -30,7 +30,7 @@ LC_CTYPE=en_US.UTF-8
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (host part only)
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
@@ -43,7 +43,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
EHLO %TESTNUMBER
-VRFY user@åäö.se
+VRFY user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
QUIT
diff --git a/tests/data/test962 b/tests/data/test962
index 6ac4ab08c2..80292862ba 100644
--- a/tests/data/test962
+++ b/tests/data/test962
@@ -36,7 +36,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@åäö.se -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from sender@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
diff --git a/tests/data/test963 b/tests/data/test963
index 9fe94f894c..06dbf3201a 100644
--- a/tests/data/test963
+++ b/tests/data/test963
@@ -36,7 +36,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@åäö.se --mail-from sender@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
diff --git a/tests/data/test964 b/tests/data/test964
index 05dbda9319..8963856485 100644
--- a/tests/data/test964
+++ b/tests/data/test964
@@ -31,7 +31,7 @@ LC_CTYPE=en_US.UTF-8
SMTP external VRFY without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
diff --git a/tests/data/test965 b/tests/data/test965
index f44239e784..0d29c09849 100644
--- a/tests/data/test965
+++ b/tests/data/test965
@@ -39,7 +39,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avsändaren@åäö.se -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-from Avs%hex[%c3%a4]hex%ndaren@%hex[%c3%a5%c3%a4%c3%b6]hex%.se -T -
@@ -48,7 +48,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt recipient@example.com --mail-fr
EHLO %TESTNUMBER
-MAIL FROM: SMTPUTF8
+MAIL FROM: SMTPUTF8
RCPT TO:
DATA
QUIT
diff --git a/tests/data/test966 b/tests/data/test966
index 31b6c288f1..b642e19a9d 100644
--- a/tests/data/test966
+++ b/tests/data/test966
@@ -39,7 +39,7 @@ To: another
body
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Stödmottagaren@åäö.se --mail-from sender@example.com -T -
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt St%hex[%c3%b6]hex%dmottagaren@%hex[%c3%a5%c3%a4%c3%b6]hex%.se --mail-from sender@example.com -T -
@@ -49,7 +49,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Stödmottagaren@åäö.se --mai
EHLO %TESTNUMBER
MAIL FROM: SMTPUTF8
-RCPT TO:
+RCPT TO:
DATA
QUIT
diff --git a/tests/data/test967 b/tests/data/test967
index d823b4839e..f6e2e32382 100644
--- a/tests/data/test967
+++ b/tests/data/test967
@@ -37,7 +37,7 @@ LC_CTYPE=en_US.UTF-8
SMTP external VRFY with SMTPUTF8 support
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@åäö.se
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
@@ -46,7 +46,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@åäö.se
EHLO %TESTNUMBER
-VRFY Användaren@xn--4cab6c.se SMTPUTF8
+VRFY Anv%hex[%c3%a4]hex%ndaren@xn--4cab6c.se SMTPUTF8
QUIT
diff --git a/tests/data/test968 b/tests/data/test968
index b057be6291..8532c35e7d 100644
--- a/tests/data/test968
+++ b/tests/data/test968
@@ -34,7 +34,7 @@ LC_CTYPE=en_US.UTF-8
SMTP VRFY with SMTPUTF8 support
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren
@@ -43,7 +43,7 @@ smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
EHLO %TESTNUMBER
-VRFY Användaren SMTPUTF8
+VRFY Anv%hex[%c3%a4]hex%ndaren SMTPUTF8
QUIT