diff options
| author | ivan <ivan> | 2011-04-18 23:49:54 +0000 |
|---|---|---|
| committer | ivan <ivan> | 2011-04-18 23:49:54 +0000 |
| commit | 01f60974743197ac14e569c16c68a0c2ff3a5bd4 (patch) | |
| tree | 140ae6bfc2a89a2b635c81859a74eff5587ef71a /rt/bin/fastcgi_server | |
| parent | b5c4237a34aef94976bc343c8d9e138664fc3984 (diff) | |
commiting rt 3.8.10 to HEAD
Diffstat (limited to 'rt/bin/fastcgi_server')
| -rwxr-xr-x | rt/bin/fastcgi_server | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/rt/bin/fastcgi_server b/rt/bin/fastcgi_server index 248267e45..4ccf014da 100755 --- a/rt/bin/fastcgi_server +++ b/rt/bin/fastcgi_server @@ -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 ) |
