aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjouni%heikniemi.net <>2003-11-19 14:29:20 +0000
committerjouni%heikniemi.net <>2003-11-19 14:29:20 +0000
commit69945a4937317f7c84409185e52d480ff67e943d (patch)
treeb84d3f14fd1778dcf35d899020e4e197f4550517 /colchange.cgi
parent226061 - someone forgot to tell editgroups that regexps are applied at runtim... (diff)
downloadbugzilla-69945a4937317f7c84409185e52d480ff67e943d.tar.gz
bugzilla-69945a4937317f7c84409185e52d480ff67e943d.tar.bz2
bugzilla-69945a4937317f7c84409185e52d480ff67e943d.zip
Bug 214466: Cookie setting w/ 3xx redirect broken on IIS - make colchange use Refresh HTTP header (on IIS only). r=justdave,a=justdave
Diffstat (limited to 'colchange.cgi')
-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;