diff options
author | intrigeri <intrigeri@boum.org> | 2008-11-06 14:17:33 +0100 |
---|---|---|
committer | intrigeri <intrigeri@boum.org> | 2008-11-06 14:17:33 +0100 |
commit | 802be941044a1ba3caa8dc3cea9e8932472c3a02 (patch) | |
tree | 4e503ed7846170ac72c7b3b1db0a5ea08d3b519a | |
parent | a4cbfce7639282aa8211d98bc909480db66f9af7 (diff) |
po: use prep_writefile before creating any files in refreshpot and refreshpo
Signed-off-by: intrigeri <intrigeri@boum.org>
-rw-r--r-- | IkiWiki/Plugin/po.pm | 2 | ||||
-rw-r--r-- | doc/plugins/po.mdwn | 6 |
2 files changed, 2 insertions, 6 deletions
diff --git a/IkiWiki/Plugin/po.pm b/IkiWiki/Plugin/po.pm index 9dc4061ef..cfba83995 100644 --- a/IkiWiki/Plugin/po.pm +++ b/IkiWiki/Plugin/po.pm @@ -164,6 +164,7 @@ sub refreshpot ($) { #{{{ $doc->{TT}{po_out}->set_charset('utf-8'); # do the actual work $doc->parse; + IkiWiki::prep_writefile(basename($potfile),dirname($potfile)); $doc->writepo($potfile); } #}}} @@ -175,6 +176,7 @@ sub refreshpofiles ($@) { #{{{ error("[po/refreshpofiles] POT file ($potfile) does not exist") unless (-e $potfile); foreach my $pofile (@pofiles) { + IkiWiki::prep_writefile(basename($pofile),dirname($pofile)); if (-e $pofile) { system("msgmerge", "-U", "--backup=none", $pofile, $potfile) == 0 or error("[po/refreshpofiles:$pofile] failed to update"); diff --git a/doc/plugins/po.mdwn b/doc/plugins/po.mdwn index dddb46fc8..c9d5b664e 100644 --- a/doc/plugins/po.mdwn +++ b/doc/plugins/po.mdwn @@ -219,12 +219,6 @@ Security checks thoroughly to prevent any security issue (command injection, etc.). > Always pass `system()` a list of parameters to avoid the shell. > I've checked in a change fixing that. --[[Joey]] -- `refreshpofiles` and `refreshpot` create new files; this may need - some checks, e.g. using `IkiWiki::prep_writefile()` - > Yes, it would be ideal to call `prep_writefile` on each file - > that they write, beforehand. This way you'd avoid symlink attacks etc to the - > generated po/pot files. I haven't done it, but it seems pretty trivial. - > --[[Joey]] - Can any sort of directives be put in po files that will cause mischief (ie, include other files, run commands, crash gettext, whatever). |