diff options
author | jouni%heikniemi.net <> | 2003-11-19 15:29:20 +0100 |
---|---|---|
committer | jouni%heikniemi.net <> | 2003-11-19 15:29:20 +0100 |
commit | 69945a4937317f7c84409185e52d480ff67e943d (patch) | |
tree | b84d3f14fd1778dcf35d899020e4e197f4550517 /colchange.cgi | |
parent | 7093be0b446cbb9378217b975fc408cf1c32cff1 (diff) | |
download | bugzilla-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
Diffstat (limited to 'colchange.cgi')
-rwxr-xr-x | colchange.cgi | 12 |
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; |