diff options
Diffstat (limited to 'IkiWiki')
-rw-r--r-- | IkiWiki/Render.pm | 6 | ||||
-rw-r--r-- | IkiWiki/Wrapper.pm | 8 |
2 files changed, 7 insertions, 7 deletions
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index fc1bc0c92..ab3ccd7ae 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -245,11 +245,11 @@ sub prune ($) { #{{{ } #}}} sub refresh () { #{{{ - # security check, avoid following symlinks in the srcdir path + # security check, avoid following symlinks in the srcdir path by default my $test=$config{srcdir}; while (length $test) { - if (-l $test) { - error("symlink found in srcdir path ($test)"); + if (-l $test && ! $config{allow_symlinks_before_srcdir}) { + error("symlink found in srcdir path ($test) -- set allow_symlinks_before_srcdir to allow this"); } unless ($test=~s/\/+$//) { $test=dirname($test); diff --git a/IkiWiki/Wrapper.pm b/IkiWiki/Wrapper.pm index 79b9eb3e3..6dc25403e 100644 --- a/IkiWiki/Wrapper.pm +++ b/IkiWiki/Wrapper.pm @@ -4,14 +4,14 @@ package IkiWiki; use warnings; use strict; -use Cwd q{abs_path}; +use File::Spec; use Data::Dumper; use IkiWiki; sub gen_wrapper () { #{{{ - $config{srcdir}=abs_path($config{srcdir}); - $config{destdir}=abs_path($config{destdir}); - my $this=abs_path($0); + $config{srcdir}=File::Spec->rel2abs($config{srcdir}); + $config{destdir}=File::Spec->rel2abs($config{destdir}); + my $this=File::Spec->rel2abs($0); if (! -x $this) { error(sprintf(gettext("%s doesn't seem to be executable"), $this)); } |