summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>2009-01-31 18:26:37 +0000
committerSimon McVittie <smcv@ http://smcv.pseudorandom.co.uk/>2009-01-31 18:26:37 +0000
commitdedbe110f27e77051c8e49e0a53b8cdd148dd752 (patch)
tree8b8149395dbb5edccea544e79400871a15a37731
parent170b86a2efb1908355f5812eaa3f3de4a2dcaa49 (diff)
CGI: pad error responses with 512 bytes of spaces so IE will display them
IE displays its own error responses unless the server's was >= 512 bytes. http://support.microsoft.com/default.aspx?scid=kb;en-us;Q294807
-rw-r--r--IkiWiki/CGI.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 7e968d966..8734cdd49 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -239,6 +239,9 @@ sub check_banned ($$) {
print $q->header(-status => "403 Forbidden");
$session->delete();
print gettext("You are banned.");
+ # Internet Explorer won't show custom 404 responses
+ # unless they're >= 512 bytes
+ print " " x 512;
cgi_savesession($session);
exit;
}
@@ -323,7 +326,10 @@ sub cgi_goto ($;$) {
"<p>".
sprintf(gettext("The page %s does not exist."),
htmllink("", "", $page)).
- "</p>");
+ "</p>".
+ # Internet Explorer won't show custom 404 responses
+ # unless they're >= 512 bytes
+ (" " x 512));
}
else {
redirect($q, urlto($link, undef, 1));