From: jouni%heikniemi.net <> Date: Wed, 19 Nov 2003 14:29:20 +0000 (+0000) Subject: Bug 214466: Cookie setting w/ 3xx redirect broken on IIS - make colchange use Refresh... X-Git-Tag: bugzilla-2.17.7~122 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69945a4937317f7c84409185e52d480ff67e943d;p=thirdparty%2Fbugzilla.git Bug 214466: Cookie setting w/ 3xx redirect broken on IIS - make colchange use Refresh HTTP header (on IIS only). r=justdave,a=justdave --- diff --git a/colchange.cgi b/colchange.cgi index 9ffda83d62..726e60d510 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;