[request-tracker-maintainers] Bug#440041: request-tracker3.6: not just ssl proxy problem

Geoff Crompton geoff.crompton at strategicdata.com.au
Mon Sep 17 00:16:05 UTC 2007


Package: request-tracker3.6
Version: 3.6.1-4
Followup-For: Bug #440041


We've run into the same problem. In our case we had two front ends, and SSL
proxy for Internet access, and a normal port 80 frontend for use within the
office, which both showed the same problem. Our backend ran on a high port. 
So our redirects go to this high port number.

Causing further confusion, we had our firewall portforwarding from tcp port
443 to tcp port 442, which is where our frontend SSL service was listening.

We found this link, which helped a little:
http://www.gossamer-threads.com/lists/rt/users/61508?search_string=redirect;#61508

So my boss found a patch in the RT bug database, and a work around for us.
 Apparently there are multiple issues going on. If you run an SSL frontend 
and a non-SSL backend, you have one issue, if you run the frontend on a
different port you have another issue, and if you run the frontend on a
different port to what the web request goes to (because of the linux firewall
port forward), you have a third issue. I think.

Our patch says to use a config variable if it's defined (RT::CanonicalRedirect, which we've defined in our RT_SiteConfig.pm). But during developing the patch 
my boss also altered inside the if statement, to fix the https/http problem.

$ diff -u Web.pm Web.pm.patched
--- Web.pm.orig 2007-09-17 09:57:44.333228924 +1000
+++ Web.pm.long.patched 2007-09-17 09:59:58.496618242 +1000
@@ -190,11 +190,20 @@
     # If the user is coming in via a non-canonical
     # hostname, don't redirect them to the canonical host,
     # it will just upset them (and invalidate their credentials)
-    if ($uri->host  eq $server_uri->host &&
-        $uri->port eq $server_uri->port) {
-            $uri->host($ENV{'HTTP_HOST'});
-            $uri->port($ENV{'SERVER_PORT'});
+    # unless they have explicitly requested this with $RT::CanonicalRedirect.
+    if (   ( !defined $RT::CanonicalRedirect || $RT::CanonicalRedirect == 0 )
+        && $uri->host eq $server_uri->host
+        && $uri->port eq $server_uri->port )
+    {
+        if ( $ENV{'HTTPS'} eq 'on' ) {
+            $uri->scheme('https');
+        }
+        else {
+            $uri->scheme('http');
         }
+        $uri->host( $ENV{'HTTP_HOST'} );
+        $uri->port( $ENV{'SERVER_PORT'} );
+    }

     $HTML::Mason::Commands::m->redirect($uri->canonical);
     $HTML::Mason::Commands::m->abort;

-- Package-specific info:
Changed files:

There are locally modified files in /usr/local/share/request-tracker3.6/,
 these may (or may not) be the source of the problem.


-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-5-686
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)

Versions of packages request-tracker3.6 depends on:
ii  libapache-session-perl       1.81-1      Perl modules for keeping persisten
ii  libcache-cache-perl          1.05-2      Managed caches of persistent infor
ii  libcache-simple-timedexpiry- 0.26-1      Perl module to cache and expire ke
ii  libcalendar-simple-perl      1.17-2      Perl extension to create simple ca
ii  libclass-returnvalue-perl    0.53-1      A return-value object that lets yo
ii  libdbd-mysql-perl            3.0008-1    A Perl5 database interface to the 
ii  libdbd-pg-perl               1.49-2      a PostgreSQL interface for Perl 5 
ii  libdbd-sqlite3-perl          1.13-1.1    Perl DBI driver with a self-contai
ii  libdbi-perl                  1.53-1      Perl5 database interface by Tim Bu
ii  libdbix-searchbuilder-perl   1.45-2      Encapsulate SQL queries and rows i
ii  libexception-class-perl      1.21-1      a module that allows you to declar
ii  libfcgi-perl                 0.67-2      FastCGI Perl module
ii  libfreezethaw-perl           0.43-3      converting Perl structures to stri
ii  libgd-graph-perl             1.43.08-2.1 Graph Plotting Module for Perl 5
ii  libgd-text-perl              0.86-3.1    Text utilities for use with GD
ii  libhtml-mason-perl           1:1.35-3    HTML::Mason Perl module
ii  libhtml-parser-perl          3.55-1      A collection of modules that parse
ii  libhtml-scrubber-perl        0.08-3      Perl extension for scrubbing/sanit
ii  liblocale-maketext-fuzzy-per 0.02-2      Maketext from already interpolated
ii  liblocale-maketext-lexicon-p 0.62-1      Lexicon-handling backends for "Loc
ii  liblog-dispatch-perl         2.11-1      Dispatches messages to multiple Lo
ii  libmailtools-perl            1.74-1      Manipulate email in perl programs
ii  libmime-perl                 5.420-0.1   Perl5 modules for MIME-compliant m
ii  libmldbm-perl                2.01-1      Store multidimensional hash struct
ii  libmodule-versions-report-pe 1.02-3      Report versions of all modules in 
ii  libparams-validate-perl      0.77-1      validate parameters to Perl method
ii  libregexp-common-perl        2.120-4     Provide commonly requested regular
ii  libterm-readkey-perl         2.30-3      A perl module for simple terminal 
ii  libtest-inline-perl          2.103-1     Perl extension for embed tests and
ii  libtext-autoformat-perl      1.13-1      Perl module for automatic text wra
ii  libtext-quoted-perl          1.8-3       Extract the structure of a quoted 
ii  libtext-template-perl        1.44-1.1    Text::Template perl module
ii  libtext-wikiformat-perl      0.78-0.1    translates Wiki formatted text int
ii  libtext-wrapper-perl         1.000-2     Simple word wrapping routine
ii  libtime-modules-perl         2003.1126-2 Various Perl modules for time/date
ii  libtree-simple-perl          1.17-1      A simple tree object
ii  libuniversal-require-perl    0.10-1      Load modules from a variable
ii  libxml-rss-perl              1.05-1      Perl module for managing RSS (RDF 
ii  libxml-simple-perl           2.14-5      Perl module for reading and writin
ii  perl                         5.8.8-7     Larry Wall's Practical Extraction 
ii  postfix [mail-transport-agen 2.3.8-2+b1  A high-performance mail transport 
ii  rt3.6-apache2                3.6.1-4     Apache 2 specific files for reques
ii  rt3.6-clients                3.6.1-4     Mail gateway and command-line inte
ii  sysklogd [system-log-daemon] 1.4.1-18    System Logging Daemon

Versions of packages request-tracker3.6 recommends:
ii  mysql-server-5.0 [mysql-se 5.0.32-7etch1 mysql database server binaries

-- no debconf information





More information about the pkg-request-tracker-maintainers mailing list