From d6cdb106f27abed5d05da035c95e106939fbe3b2 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 19 May 2016 22:02:56 +0000 Subject: www: tighten up allowable filenames for attachments Having a file start with '.' or '-' can be confusing and for users, so do not allow it. --- lib/PublicInbox/View.pm | 2 +- lib/PublicInbox/WWW.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox') diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index ec5f3907..21949812 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -261,7 +261,7 @@ sub attach_link ($$$$) { $desc = $fn unless defined $desc; $desc = '' unless defined $desc; my $sfn; - if (defined $fn && $fn =~ /\A[\w\.-]+[a-zA-Z0-9]\z/) { + if (defined $fn && $fn =~ /\A[[:alnum:]][\w\.-]+[[:alnum:]]\z/) { $sfn = $fn; } elsif ($ct eq 'text/plain') { $sfn = 'a.txt'; diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 10c2e7ca..5b4d6c18 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -23,7 +23,7 @@ use PublicInbox::GitHTTPBackend; our $INBOX_RE = qr!\A/([\w\.\-]+)!; our $MID_RE = qr!([^/]+)!; our $END_RE = qr!(T/|t/|R/|t\.mbox(?:\.gz)?|t\.atom|raw|)!; -our $ATTACH_RE = qr!(\d[\.\d]*)-([\w\.-]+[a-zA-Z0-9])!i; +our $ATTACH_RE = qr!(\d[\.\d]*)-([[:alnum:]][\w\.-]+[[:alnum:]])!i; sub new { my ($class, $pi_config) = @_; -- cgit v1.2.3-24-ge0c7