From d614dd98c482a06459f5f6e4911e0f32de6c424b Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Wed, 19 May 2010 09:24:59 -0700 Subject: Bug 376044: If we're running under mod_perl, use a refresh-style redirect when coming back from colchange.cgi, because CGI.pm sometimes does not send headers properly under mod_perl when redirecting and sending cookies at the same time. r=justdave, a=mkanat --- colchange.cgi | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'colchange.cgi') diff --git a/colchange.cgi b/colchange.cgi index 7aef965de..0bd3af481 100755 --- a/colchange.cgi +++ b/colchange.cgi @@ -142,10 +142,13 @@ if (defined $cgi->param('rememberedquery')) { $vars->{'redirect_url'} = "buglist.cgi?".$params->query_string(); - # 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/ + # If we're running on Microsoft IIS, $cgi->redirect discards + # the Set-Cookie lines. In mod_perl, $cgi->redirect with cookies + # causes the page to be rendered as text/plain. + # Workaround is to use the old-fashioned redirection mechanism. + # See bug 214466 and bug 376044 for details. + if ($ENV{'MOD_PERL'} + || $ENV{'SERVER_SOFTWARE'} =~ /Microsoft-IIS/ || $ENV{'SERVER_SOFTWARE'} =~ /Sun ONE Web/) { print $cgi->header(-type => "text/html", -- cgit v1.2.3-24-g4f1b