summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjouni%heikniemi.net <>2003-11-19 15:29:20 +0100
committerjouni%heikniemi.net <>2003-11-19 15:29:20 +0100
commit69945a4937317f7c84409185e52d480ff67e943d (patch)
treeb84d3f14fd1778dcf35d899020e4e197f4550517
parent7093be0b446cbb9378217b975fc408cf1c32cff1 (diff)
downloadbugzilla-69945a4937317f7c84409185e52d480ff67e943d.tar.gz
bugzilla-69945a4937317f7c84409185e52d480ff67e943d.tar.xz
Bug 214466: Cookie setting w/ 3xx redirect broken on IIS - make colchange use Refresh HTTP header (on IIS only). r=justdave,a=justdave
-rwxr-xr-xcolchange.cgi12
1 files changed, 11 insertions, 1 deletions
diff --git a/colchange.cgi b/colchange.cgi
index 9ffda83d6..726e60d51 100755
--- a/colchange.cgi
+++ b/colchange.cgi
@@ -104,7 +104,17 @@ if (defined $::FORM{'rememberedquery'}) {
$vars->{'message'} = "change_columns";
$vars->{'redirect_url'} = "buglist.cgi?$::FORM{'rememberedquery'}";
- print $cgi->redirect($vars->{'redirect_url'});
+
+ # If we're running on Microsoft IIS, using cgi->redirect discards
+ # the Set-Cookie lines -- workaround is to use the old-fashioned
+ # redirection mechanism. See bug 214466 for details.
+ if ($ENV{'SERVER_SOFTWARE'} =~ /Microsoft-IIS/) {
+ print $cgi->header(-type => "text/html",
+ -refresh => "0; URL=$vars->{'redirect_url'}");
+ } else {
+ print $cgi->redirect($vars->{'redirect_url'});
+ }
+
$template->process("global/message.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
exit;