From: Simon McVittie
Date: Sat, 31 Jan 2009 18:26:37 +0000 (+0000)
Subject: CGI: pad error responses with 512 bytes of spaces so IE will display them
X-Git-Tag: 3.04~86^2~3
X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=dedbe110f27e77051c8e49e0a53b8cdd148dd752;p=ikiwiki.git
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
---
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 ($;$) {
"
".
sprintf(gettext("The page %s does not exist."),
htmllink("", "", $page)).
- "
");
+ "".
+ # Internet Explorer won't show custom 404 responses
+ # unless they're >= 512 bytes
+ (" " x 512));
}
else {
redirect($q, urlto($link, undef, 1));