From 69945a4937317f7c84409185e52d480ff67e943d Mon Sep 17 00:00:00 2001 From: "jouni%heikniemi.net" <> Date: Wed, 19 Nov 2003 14:29:20 +0000 Subject: Bug 214466: Cookie setting w/ 3xx redirect broken on IIS - make colchange use Refresh HTTP header (on IIS only). r=justdave,a=justdave --- colchange.cgi | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'colchange.cgi') 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; -- cgit v1.2.3-24-g4f1b