diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-31 00:59:54 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-07-31 00:59:54 +0000 |
commit | 953ffa1fe31ab97caf3b1bcc5840e62728620833 (patch) | |
tree | 52bf1e60d06a58150738f3d57397eff13e21d2c7 | |
parent | e4ccc4f3b09aaaa4f64bdba1d6ffff24e924fd20 (diff) |
fix
-rw-r--r-- | IkiWiki/Plugin/aggregate.pm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm index 98e534366..14461059d 100644 --- a/IkiWiki/Plugin/aggregate.pm +++ b/IkiWiki/Plugin/aggregate.pm @@ -254,14 +254,15 @@ sub add_page (@) { #{{{ # assign it an unused page my $page=IkiWiki::titlepage($params{title}); - $page=~s!([/])!"__".ord($1)."__"!eg; # escape slashes in title + # escape slashes and periods in title so it doesn't specify + # directory name or trigger ".." disallowing code. + $page=~s!([/.])!"__".ord($1)."__"!eg; $page=$feed->{dir}."/".$page; $page=lc($page); ($page)=$page=~/$IkiWiki::config{wiki_file_regexp}/; if (! defined $page || ! length $page) { $page=$feed->{dir}."/item"; } - $page=~s/\.\.//g; # avoid ".." directory tricks my $c=""; while (exists $IkiWiki::pagesources{$page.$c} || -e pagefile($page.$c)) { |