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) {
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.
## `<reply>`
# This host name contains an invalid UTF-8 byte sequence that can't be
# converted into an IDN name
<stdin>
-url = "http://invalid-utf8-â\90.local/page/%TESTNUMBER"
+url = "http://invalid-utf8-%hex[%e2%90]hex%.local/page/%TESTNUMBER"
</stdin>
<command>
-K - -x %HOSTIP:%NOLISTENPORT
HTTP over proxy with too long IDN host name
</name>
<command>
-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
</command>
</client>
HTTP
HTTP GET
followlocation
-non-ascii
</keywords>
</info>
#
# Server-side
<reply>
-<data>
-HTTP/1.1 302 OK swsclose\r
-Location: ../moo.html/?name=آغاز-سم-زدایی-از-بازار-پول&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data crlf="yes">
+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
+
</data>
-<data2>
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<data2 crlf="yes">
+HTTP/1.1 200 OK swsclose
+Location: this should be ignored
+Date: Tue, 09 Nov 2010 14:49:00 GMT
+Connection: close
+
body
</data2>
-<datacheck>
-HTTP/1.1 302 OK swsclose\r
-Location: ../moo.html/?name=آغاز-سم-زدایی-از-بازار-پول&testcase=/%TESTNUMBER0002\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
-HTTP/1.1 200 OK swsclose\r
-Location: this should be ignored\r
-Date: Tue, 09 Nov 2010 14:49:00 GMT\r
-Connection: close\r
-\r
+<datacheck crlf="yes">
+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
</datacheck>
</reply>
#
# Verify data after the test has been "shot"
<verify>
-<protocol>
-GET /we/are/all/twits/%TESTNUMBER HTTP/1.1\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Accept: */*\r
-\r
-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\r
-Host: %HOSTIP:%HTTPPORT\r
-User-Agent: curl/%VERSION\r
-Accept: */*\r
-\r
+<protocol crlf="yes">
+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: */*
+
</protocol>
</verify>
</testcase>
HTTP
HTTP GET
cookies
-non-ascii
</keywords>
</info>
HTTP/1.1 200 OK\r
Date: Tue, 09 Nov 2010 14:49:00 GMT\r
Content-Length: 0\r
-Set-Cookie: ____________ÿ= ; ÿ zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\86\85\85\80zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzúzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzó \81\96zzzzzzzzzzzz~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz¶zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz\r
+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\r
\r
</data>
</reply>
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
</data>
</name>
<command>
-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
</command>
</client>
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
FTP
HTTPS proxy
flaky
-non-ascii
</keywords>
</info>
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.
</data>
</reply>
FTP
HTTPS proxy
flaky
-non-ascii
</keywords>
</info>
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.
</data>
HTTP over proxy with IDN host name
</name>
<command>
-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
</command>
</client>
<command option="no-include">
file://localhost%FILE_PWD/%LOGDIR/%E3%83%86%E3%82%B9%E3%83%88%TESTNUMBER.txt
</command>
-<file name="%LOGDIR/テスト%TESTNUMBER.txt">
+<file name="%LOGDIR/%hex[%E3%83%86%E3%82%B9%E3%83%88]hex%%TESTNUMBER.txt">
foo
bar
bar
</name>
<command>
-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
</command>
</client>
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
</stdout>
</name>
<command>
-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
</command>
</client>
1
1
3
-http://åäö.se/%TESTNUMBER0001
+http://%hex[%c3%a5%c3%a4%c3%b6]hex%.se/%TESTNUMBER0001
text/plain; charset=us-ascii
200
</stdout>
HTTP GET
cookies
cookiejar
-non-ascii
</keywords>
</info>
# Server-side
Set-Cookie: withspaces2 =before equals;\r
Set-Cookie: prespace= yes before;\r
Set-Cookie: securewithspace=after ; secure =\r
-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
\r
boo
</data>
# 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
<info>
<keywords>
HTTP
-non-ascii
</keywords>
</info>
warn about Unicode quote character
</name>
<command>
--H “host: %HOSTIP:%HTTPPORT/” -s
+-H %hex[%e2%80%9c]hex%host: %HOSTIP:%HTTPPORT/%hex[%e2%80%9c]hex% -s
</command>
</client>
<info>
<keywords>
HTTP
-non-ascii
</keywords>
</info>
warn about Unicode quote character read from config file
</name>
<file name="%LOGDIR/input%TESTNUMBER">
--H “host:fake”
+-H %hex[%e2%80%9c]hex%host:fake%hex[%e2%80%9d]hex%
</file>
<command>
%HOSTIP:%HTTPPORT --no-progress-meter -K "%LOGDIR/input%TESTNUMBER"
aws-sigv4 with query
</name>
<command>
-"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
</command>
</client>
<keywords>
HTTP
HTTP GET
-non-ascii
</keywords>
</info>
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-
</data>
</reply>
<keywords>
HTTP
HTTP GET
-non-ascii
</keywords>
</info>
<keywords>
SMTP
MULTIPART
-non-ascii
</keywords>
</info>
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"
</command>
<file name="%LOGDIR/test%TESTNUMBER.txt">
-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.
</file>
body\r
</stdin>
<command>
-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 -
</command>
</client>
</errorcode>
<protocol>
EHLO %TESTNUMBER\r
-MAIL FROM:<Avsändaren@example.com>\r
+MAIL FROM:<Avs%hex[%c3%a4]hex%ndaren@example.com>\r
QUIT\r
</protocol>
</verify>
body\r
</stdin>
<command>
-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 -
</command>
</client>
<protocol>
EHLO %TESTNUMBER\r
MAIL FROM:<sender@example.com>\r
-RCPT TO:<Stödmottagaren@example.com>\r
+RCPT TO:<St%hex[%c3%b6]hex%dmottagaren@example.com>\r
QUIT\r
</protocol>
</verify>
SMTP VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
</name>
<command>
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren
</command>
</client>
</errorcode>
<protocol>
EHLO %TESTNUMBER\r
-VRFY Användaren\r
+VRFY Anv%hex[%c3%a4]hex%ndaren\r
QUIT\r
</protocol>
</verify>
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (local part only)
</name>
<command>
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren@example.com
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren@example.com
</command>
</client>
</errorcode>
<protocol>
EHLO %TESTNUMBER\r
-VRFY Användaren@example.com\r
+VRFY Anv%hex[%c3%a4]hex%ndaren@example.com\r
QUIT\r
</protocol>
</verify>
body\r
</stdin>
<command>
-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 -
</command>
</client>
</errorcode>
<protocol>
EHLO %TESTNUMBER\r
-MAIL FROM:<sender@åäö.se>\r
+MAIL FROM:<sender@%hex[%c3%a5%c3%a4%c3%b6]hex%.se>\r
QUIT\r
</protocol>
</verify>
body\r
</stdin>
<command>
-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 -
</command>
</client>
<protocol>
EHLO %TESTNUMBER\r
MAIL FROM:<sender@example.com>\r
-RCPT TO:<recipient@åäö.se>\r
+RCPT TO:<recipient@%hex[%c3%a5%c3%a4%c3%b6]hex%.se>\r
QUIT\r
</protocol>
</verify>
SMTP external VRFY without SMTPUTF8 support - UTF-8 based recipient (host part only)
</name>
<command>
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
</command>
</client>
</errorcode>
<protocol>
EHLO %TESTNUMBER\r
-VRFY user@åäö.se\r
+VRFY user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se\r
QUIT\r
</protocol>
</verify>
body\r
</stdin>
<command>
-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 -
</command>
</client>
body\r
</stdin>
<command>
-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 -
</command>
</client>
SMTP external VRFY without SMTPUTF8 support (IDN Enabled) - UTF-8 based recipient (host part only)
</name>
<command>
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@åäö.se
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt user@%hex[%c3%a5%c3%a4%c3%b6]hex%.se
</command>
</client>
body\r
</stdin>
<command>
-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 -
</command>
</client>
<verify>
<protocol>
EHLO %TESTNUMBER\r
-MAIL FROM:<Avsändaren@xn--4cab6c.se> SMTPUTF8\r
+MAIL FROM:<Avs%hex[%c3%a4]hex%ndaren@xn--4cab6c.se> SMTPUTF8\r
RCPT TO:<recipient@example.com>\r
DATA\r
QUIT\r
body\r
</stdin>
<command>
-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 -
</command>
</client>
<protocol>
EHLO %TESTNUMBER\r
MAIL FROM:<sender@example.com> SMTPUTF8\r
-RCPT TO:<Stödmottagaren@xn--4cab6c.se>\r
+RCPT TO:<St%hex[%c3%b6]hex%dmottagaren@xn--4cab6c.se>\r
DATA\r
QUIT\r
</protocol>
SMTP external VRFY with SMTPUTF8 support
</name>
<command>
-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
</command>
</client>
<verify>
<protocol>
EHLO %TESTNUMBER\r
-VRFY Användaren@xn--4cab6c.se SMTPUTF8\r
+VRFY Anv%hex[%c3%a4]hex%ndaren@xn--4cab6c.se SMTPUTF8\r
QUIT\r
</protocol>
</verify>
SMTP VRFY with SMTPUTF8 support
</name>
<command>
-smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Användaren
+smtp://%HOSTIP:%SMTPPORT/%TESTNUMBER --mail-rcpt Anv%hex[%c3%a4]hex%ndaren
</command>
</client>
<verify>
<protocol>
EHLO %TESTNUMBER\r
-VRFY Användaren SMTPUTF8\r
+VRFY Anv%hex[%c3%a4]hex%ndaren SMTPUTF8\r
QUIT\r
</protocol>
</verify>