summaryrefslogtreecommitdiff
path: root/rt/bin/mason_handler.fcgi
diff options
context:
space:
mode:
authorivan <ivan>2011-04-19 00:23:57 +0000
committerivan <ivan>2011-04-19 00:23:57 +0000
commit71449abb58df547f3c872cd64af733e6d3fa7f81 (patch)
tree03c452d9d68db46f43a0833fcd64a209b320b988 /rt/bin/mason_handler.fcgi
parent96d552cc782670bfd48b7e6a81ffe3515dffd3e6 (diff)
landing 3.8.10 on 2.1 branch
Diffstat (limited to 'rt/bin/mason_handler.fcgi')
-rwxr-xr-xrt/bin/mason_handler.fcgi11
1 files changed, 11 insertions, 0 deletions
diff --git a/rt/bin/mason_handler.fcgi b/rt/bin/mason_handler.fcgi
index 432296be7..996e96076 100755
--- a/rt/bin/mason_handler.fcgi
+++ b/rt/bin/mason_handler.fcgi
@@ -68,6 +68,17 @@ while ( my $cgi = CGI::Fast->new ) {
Module::Refresh->refresh if RT->Config->Get('DevelMode');
RT::ConnectToDatabase();
+ # Each environment has its own way of handling .. and so on in paths,
+ # so RT consistently forbids such paths.
+ if ( $cgi->path_info =~ m{/\.} ) {
+ $RT::Logger->crit("Invalid request for ".$cgi->path_info." aborting");
+ print STDOUT "HTTP/1.0 400\r\n\r\n";
+
+ RT::Interface::Web::Handler->CleanupRequest();
+
+ next;
+ }
+
my $interp = $RT::Mason::Handler->interp;
if (
!$interp->comp_exists( $cgi->path_info )