summaryrefslogtreecommitdiff
path: root/rt/bin/fastcgi_server
diff options
context:
space:
mode:
authorivan <ivan>2011-04-18 23:15:19 +0000
committerivan <ivan>2011-04-18 23:15:19 +0000
commit75162bb14b3e38d66617077843f4dfdcaf09d5c4 (patch)
treed89dd49a476cf2f0859ed6a0adc2992ea6d69d04 /rt/bin/fastcgi_server
parentfc6209f398899f0211cfcedeb81a3cd65e04a941 (diff)
import rt 3.8.10
Diffstat (limited to 'rt/bin/fastcgi_server')
-rwxr-xr-xrt/bin/fastcgi_server14
1 files changed, 13 insertions, 1 deletions
diff --git a/rt/bin/fastcgi_server b/rt/bin/fastcgi_server
index f8e8828ce..4ccf014da 100755
--- a/rt/bin/fastcgi_server
+++ b/rt/bin/fastcgi_server
@@ -1,4 +1,4 @@
-#!/Users/falcone/perl5/perlbrew/bin/perl
+#!/usr/bin/perl
# BEGIN BPS TAGGED BLOCK {{{
#
# COPYRIGHT:
@@ -230,6 +230,18 @@ 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();
+ $proc_manager->pm_post_dispatch;
+
+ next;
+ }
+
my $interp = $RT::Mason::Handler->interp;
if (
!$interp->comp_exists( $cgi->path_info )