about summary refs log tree commit homepage
path: root/t/cgi.t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2016-08-14 10:21:09 +0000
committerEric Wong <e@80x24.org>2016-08-14 10:51:02 +0000
commit9d1e5fadd7d18f4c96ab0509d673040e34225a04 (patch)
treedd89df05390a2ca2e06448ec0acdbf741729d36e /t/cgi.t
parent1d0ce406b75fc174bee51e77efe5f10c61fb6098 (diff)
downloadpublic-inbox-9d1e5fadd7d18f4c96ab0509d673040e34225a04.tar.gz
Based on reading RFC 3986, it seems '@', ':', '!', '$', '&',
"'", '; '(', ')', '*', '+', ',', ';', '=' are all allowed
in path-absolute where we have the Message-ID.

In any case, it seems '@' is fairly common in path components
nowadays and too common in Message-IDs.
Diffstat (limited to 't/cgi.t')
-rw-r--r--t/cgi.t14
1 files changed, 7 insertions, 7 deletions
diff --git a/t/cgi.t b/t/cgi.t
index a0f09c59..092ad8c7 100644
--- a/t/cgi.t
+++ b/t/cgi.t
@@ -118,7 +118,7 @@ EOF
         like($res->{head}, qr/Status:\s*206/i, "info/refs partial past end OK");
         is($res->{body}, substr($orig, 5), 'partial body OK past end');
 }
-
+use Data::Dumper;
 # atom feeds
 {
         local $ENV{HOME} = $home;
@@ -126,7 +126,7 @@ EOF
         like($res->{body}, qr/<title>test for public-inbox/,
                 "set title in XML feed");
         like($res->{body},
-                qr!http://test\.example\.com/test/blah%40example\.com/!,
+                qr!http://test\.example\.com/test/blah\@example\.com/!,
                 "link id set");
         like($res->{body}, qr/what\?/, "reply included");
 }
@@ -148,7 +148,7 @@ EOF
         $im->add($reply);
         $im->done;
 
-        my $res = cgi_run("/test/slashy%2fasdf%40example.com/raw");
+        my $res = cgi_run("/test/slashy%2fasdf\@example.com/raw");
         like($res->{body}, qr/Message-Id: <\Q$slashy_mid\E>/,
                 "slashy mid raw hit");
 
@@ -167,20 +167,20 @@ EOF
         $res = cgi_run("/test/blahblah\@example.com/f/");
         like($res->{head}, qr/Status: 301 Moved/, "301 response");
         like($res->{head},
-                qr!^Location: http://[^/]+/test/blahblah%40example\.com/\r\n!ms,
+                qr!^Location: http://[^/]+/test/blahblah\@example\.com/\r\n!ms,
                 '301 redirect location');
         $res = cgi_run("/test/blahblah\@example.con/");
         like($res->{head}, qr/Status: 300 Multiple Choices/, "mid html miss");
 
         $res = cgi_run("/test/new.html");
-        like($res->{body}, qr/slashy%2Fasdf%40example\.com/,
+        like($res->{body}, qr/slashy%2Fasdf\@example\.com/,
                 "slashy URL generated correctly");
 }
 
 # retrieve thread as an mbox
 {
         local $ENV{HOME} = $home;
-        my $path = "/test/blahblah%40example.com/t.mbox.gz";
+        my $path = "/test/blahblah\@example.com/t.mbox.gz";
         my $res = cgi_run($path);
         like($res->{head}, qr/^Status: 501 /, "search not-yet-enabled");
         my $indexed = system($index, $maindir) == 0;
@@ -200,7 +200,7 @@ EOF
 
         my $have_xml_feed = eval { require XML::Feed; 1 } if $indexed;
         if ($have_xml_feed) {
-                $path = "/test/blahblah%40example.com/t.atom";
+                $path = "/test/blahblah\@example.com/t.atom";
                 $res = cgi_run($path);
                 like($res->{head}, qr/^Status: 200 /, "atom returned 200");
                 like($res->{head}, qr!^Content-Type: application/atom\+xml!m,