summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Interface/Web/Handler.pm
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-05-27 15:20:05 -0700
committerIvan Kohler <ivan@freeside.biz>2014-05-27 15:20:05 -0700
commitc5922713bc199600bc8c203155a4016c9d24cbbc (patch)
tree1b9ec8323fdab801c4ca6aaf74234bfe8f74c56c /rt/lib/RT/Interface/Web/Handler.pm
parent7c841dec307feed06ee532ac18e4114ef68243a8 (diff)
rt 4.0.20 (RT#13852)
Diffstat (limited to 'rt/lib/RT/Interface/Web/Handler.pm')
-rw-r--r--rt/lib/RT/Interface/Web/Handler.pm2
1 files changed, 1 insertions, 1 deletions
diff --git a/rt/lib/RT/Interface/Web/Handler.pm b/rt/lib/RT/Interface/Web/Handler.pm
index 37031b18d..07e770724 100644
--- a/rt/lib/RT/Interface/Web/Handler.pm
+++ b/rt/lib/RT/Interface/Web/Handler.pm
@@ -278,7 +278,7 @@ sub PSGIApp {
# CGI.pm normalizes .. out of paths so when you requested
# /NoAuth/../Ticket/Display.html we saw Ticket/Display.html
# PSGI doesn't normalize .. so we have to deal ourselves.
- if ( $req->path_info =~ m{/\.} ) {
+ if ( $req->path_info =~ m{(^|/)\.\.?(/|$)} ) {
$RT::Logger->crit("Invalid request for ".$req->path_info." aborting");
my $res = Plack::Response->new(400);
return $self->_psgi_response_cb($res->finalize,sub { $self->CleanupRequest });