intrigeri [Tue, 11 Nov 2008 03:32:20 +0000 (04:32 +0100)]
po(scan): make more clear what's being done
Mostly comments, and also a small code change: simplification and implementation
details hiding.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 03:05:39 +0000 (04:05 +0100)]
po: reorder nearly all of the module code
It has grown up incrementally and new helper functions were added right in the
middle of the hooks, most often near the place they were used, which is
practical when doing initial development, but quite ugly afterwards, when helper
functions are useful to separate logic and implementation details.
Today's refactoring commits have brought the code to a much more maintainable
state, IMHO.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 11 Nov 2008 02:23:02 +0000 (03:23 +0100)]
po/doc: first fuzzy-testing results for po4a and msgmerge
Chapter #1, in which we learn po4a could help to DoS ikiwiki + po,
whereas msgmerge seems reluctant to cooperate.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 22:52:50 +0000 (23:52 +0100)]
po/doc: more security research results
Apart of the fuzzying part, I'm done with what I can do without help.
The "Running po4a on untrusted content" section needs at least a quick glance
from an experimented Perl programmer.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 20:30:06 +0000 (21:30 +0100)]
po(match_lang, match_currentlang): use the lang() function
... now that it exists, instead of duplicating it.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 20:19:21 +0000 (21:19 +0100)]
po: rewrote otherlanguagesloop()
It is now more elegant IMHO, and the output is now sorted according to the
language name (instead of code).
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 19:35:53 +0000 (20:35 +0100)]
po: factorize extraction of a slave page's masterpage and lang
The very same code was repeated at dozens of places.
NB: the real work is now done is _istranslation(), which is memoized,
so the additional function calls overhead should be compensated.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 18:40:54 +0000 (19:40 +0100)]
t/po.t: removed debug lines
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 17:38:25 +0000 (18:38 +0100)]
po(otherlanguagesloop): start factorizing
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 14:41:29 +0000 (15:41 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Mon, 10 Nov 2008 14:30:49 +0000 (15:30 +0100)]
po: finish abstracting %filtered by putting it into a blackbox
i.e. it is invisible for everyone but its accessors/mutators
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 14:09:56 +0000 (15:09 +0100)]
po: actually use pofiles() function, to enhance code clarity
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 13:49:58 +0000 (14:49 +0100)]
po: abstract "doing something for the same page in every other language"
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:56:46 +0000 (13:56 +0100)]
po: abstract implementation details for %translations building and resetting
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:49:14 +0000 (13:49 +0100)]
po: abstract %filtered implementation details
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:22:50 +0000 (13:22 +0100)]
po: clarify error messages
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 12:00:05 +0000 (13:00 +0100)]
po: clarify code with some comments
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Mon, 10 Nov 2008 11:48:27 +0000 (12:48 +0100)]
po: prevent a slave page to depend on itself
It has never caused harm yet, but it might in the future.
Signed-off-by: intrigeri <intrigeri@boum.org>
http://a1fie.livejournal.com/ [Mon, 10 Nov 2008 06:44:19 +0000 (01:44 -0500)]
vim syntax file linked
Joey Hess [Sun, 9 Nov 2008 20:31:57 +0000 (15:31 -0500)]
Fix the link() pagespec to match links that are internally recorded as absolute.
This fixes a problem exposed by the recent change to tags
(
a2839de9362187b67b0e3a564461e272e64fd9b4). That recorded tag links as
absolute by including a leading slash in the link. The same could also be
done with an absolute wikilink.
In either case, link() would not match such links, unless the leading slash
was included in the link to match. But that's not right, because pagespecs
match absolute by default. So strip the leading slash.
Note that to keep any existing `link(/foo)` pagespecs working after this
change, the leading slash is removed from there, too.
intrigeri [Sat, 8 Nov 2008 21:08:50 +0000 (22:08 +0100)]
po/todo(security): many research results
... and some questions to Joey (hint: look for your name)
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Sat, 8 Nov 2008 20:32:04 +0000 (21:32 +0100)]
po(refreshpot): define the input charset before read()'ing
... to prevent the use of Encode::Guess::guess_encoding() in
Locale::Po4a::Transtractor (just a minor security measure, dependent on po4a
internals, but we have no reason to think Encode::Guess is not safe).
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Sat, 8 Nov 2008 17:35:28 +0000 (12:35 -0500)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
AlexandreDupas [Sat, 8 Nov 2008 16:28:25 +0000 (11:28 -0500)]
fix link to Jason Blevins user page
intrigeri [Sat, 8 Nov 2008 16:08:36 +0000 (17:08 +0100)]
Merge branch 'prv/po' into pub/po
AlexandreDupas [Sat, 8 Nov 2008 16:04:27 +0000 (11:04 -0500)]
question about the format directive and relation with htmlize hooks
intrigeri [Sat, 8 Nov 2008 11:21:54 +0000 (12:21 +0100)]
po/todo++: support other file formats than markdown
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Sat, 8 Nov 2008 01:14:26 +0000 (02:14 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Sat, 8 Nov 2008 01:13:37 +0000 (02:13 +0100)]
po/todo: mostly security research
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 23:09:06 +0000 (00:09 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Fri, 7 Nov 2008 23:08:44 +0000 (00:08 +0100)]
po: started research on gettext/po4a security
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 23:06:02 +0000 (00:06 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Fri, 7 Nov 2008 23:05:35 +0000 (00:05 +0100)]
fixed link
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 21:55:09 +0000 (22:55 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Fri, 7 Nov 2008 21:53:53 +0000 (22:53 +0100)]
added symlink to pagespec/po in basewiki to fix the build
else basewiki_brokenlinks.t fails.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 21:19:34 +0000 (22:19 +0100)]
Merge commit 'upstream/master' into pub/po
intrigeri [Fri, 7 Nov 2008 21:19:24 +0000 (22:19 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Fri, 7 Nov 2008 21:17:54 +0000 (22:17 +0100)]
po: finished backlinks implementation
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 20:39:55 +0000 (21:39 +0100)]
po: oops, removed debug output from testsuit
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 20:27:00 +0000 (21:27 +0100)]
po: implemented linking/backlinks specification for po_link_to=negotiated
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 20:24:00 +0000 (21:24 +0100)]
po: implemented linking specification in testcase
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 20:23:23 +0000 (21:23 +0100)]
po: added pofiles() function, will use this soon
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Fri, 7 Nov 2008 17:22:01 +0000 (12:22 -0500)]
document wikistatedir, though it's still internal
http://josephturian.blogspot.com/ [Fri, 7 Nov 2008 16:21:04 +0000 (11:21 -0500)]
intrigeri [Fri, 7 Nov 2008 15:33:28 +0000 (16:33 +0100)]
po: write detailed specification of wished backlinks behaviour
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 15:33:10 +0000 (16:33 +0100)]
po: add comments
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Fri, 7 Nov 2008 10:54:03 +0000 (11:54 +0100)]
Merge commit 'upstream/po' into prv/po
Joey Hess [Fri, 7 Nov 2008 01:49:52 +0000 (20:49 -0500)]
oops
Joey Hess [Fri, 7 Nov 2008 01:49:18 +0000 (20:49 -0500)]
txt: Do not encode quotes when filtering the txt, as that broke later parsing of any directives on the page.
Joey Hess [Thu, 6 Nov 2008 21:12:16 +0000 (16:12 -0500)]
response
Joey Hess [Thu, 6 Nov 2008 21:08:11 +0000 (16:08 -0500)]
meta: Plugin is now enabled by default since the basewiki uses it.
Joey Hess [Thu, 6 Nov 2008 21:05:23 +0000 (16:05 -0500)]
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
Joey Hess [Thu, 6 Nov 2008 21:05:10 +0000 (16:05 -0500)]
aggregate: Try to query XML::Feed for the base url when derelevatising links. Since this needs the just released XML::Feed 0.3, as well as a not yet released XML::RSS, it will fall back to the old method if no xml:base info is available.
http://josephturian.blogspot.com/ [Thu, 6 Nov 2008 20:52:27 +0000 (15:52 -0500)]
Joey Hess [Thu, 6 Nov 2008 18:56:41 +0000 (13:56 -0500)]
response
Joey Hess [Thu, 6 Nov 2008 18:51:01 +0000 (13:51 -0500)]
response
Joey Hess [Thu, 6 Nov 2008 18:46:43 +0000 (13:46 -0500)]
note copyright of po.pm
intrigeri [Thu, 6 Nov 2008 16:28:04 +0000 (17:28 +0100)]
po: fix link to homepage in special case
... by wrapping IkiWiki::urlto in order to workaround hard-coded
/index.$config{htmlext}, which is wrong when usedirs=0 and po_link_to=current
and translatable homepage
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 15:10:33 +0000 (16:10 +0100)]
po: misc responses to Joey
Signed-off-by: intrigeri <intrigeri@boum.org>
http://alcopop.org/me/openid/ [Thu, 6 Nov 2008 15:17:18 +0000 (10:17 -0500)]
intrigeri [Thu, 6 Nov 2008 14:54:55 +0000 (15:54 +0100)]
po: redesign (once more) automatic POT/PO files update
Now use the change hook to update these files, check them into VCS, and trigger
IkiWiki::refresh as needed. The needsbuild hook's help was required to prevent
infinite looping.
This more rigorous way of doing this fixes recentchanges (that was previously
not updated in some cases), and probably is a better long-term solution than the
two previously tested ones.
Signed-off-by: intrigeri <intrigeri@boum.org>
http://mjr.towers.org.uk/ [Thu, 6 Nov 2008 14:27:47 +0000 (09:27 -0500)]
New bug report
intrigeri [Thu, 6 Nov 2008 13:21:31 +0000 (14:21 +0100)]
po: doc/todo update
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 13:17:33 +0000 (14:17 +0100)]
po: use prep_writefile before creating any files in refreshpot and refreshpo
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 13:12:05 +0000 (14:12 +0100)]
po: reported parentlinks misbehaviour in special case
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 13:08:33 +0000 (14:08 +0100)]
po: syntax warning fix
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 12:55:03 +0000 (13:55 +0100)]
po: fixed whitespace
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 12:47:09 +0000 (13:47 +0100)]
po: po_link_to is safe, and fallbacks to a working value if needed
warnings are displayed if it is set to an invalid or incompatible value
(e.g. po_link_to=negotiated and disabled usedirs)
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 12:29:48 +0000 (13:29 +0100)]
po: mark po_translatable_pages as a safe configuration setting
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 12:26:45 +0000 (13:26 +0100)]
po: po_master_language and po_slave_languages are safe config settings
... and check their validity in checkconfig
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 12:01:33 +0000 (13:01 +0100)]
po: added license and copyright
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 11:34:47 +0000 (12:34 +0100)]
po: response
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Thu, 6 Nov 2008 11:32:41 +0000 (12:32 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Thu, 6 Nov 2008 11:28:31 +0000 (12:28 +0100)]
Merge commit 'upstream/po' into prv/po
Conflicts:
IkiWiki/Plugin/po.pm
doc/plugins/po.mdwn
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Wed, 5 Nov 2008 20:18:07 +0000 (15:18 -0500)]
first pass over code
Only change of note is quoting some strings in a regexp, just in case
(also avoids the . matching any character!)
Mostly whitespace changes of no consequence.
Joey Hess [Wed, 5 Nov 2008 20:09:54 +0000 (15:09 -0500)]
backup refs to injected subs later
In case two plugins both inject replacements for these subs,
backup the ref just before injecting to make sure the most
recent version is seen.
Joey Hess [Wed, 5 Nov 2008 20:09:04 +0000 (15:09 -0500)]
minor layout changes
Joey Hess [Wed, 5 Nov 2008 20:02:22 +0000 (15:02 -0500)]
need license
Joey Hess [Wed, 5 Nov 2008 19:58:35 +0000 (14:58 -0500)]
response
Joey Hess [Wed, 5 Nov 2008 19:47:50 +0000 (14:47 -0500)]
fixed one security problem, two more need review
Joey Hess [Wed, 5 Nov 2008 19:45:45 +0000 (14:45 -0500)]
avoid hitting the shell with system()
Joey Hess [Wed, 5 Nov 2008 19:35:41 +0000 (14:35 -0500)]
response
Joey Hess [Wed, 5 Nov 2008 19:33:35 +0000 (14:33 -0500)]
comments and questions
Joey Hess [Wed, 5 Nov 2008 19:22:02 +0000 (14:22 -0500)]
minor wording improvements/changes
Joey Hess [Wed, 5 Nov 2008 18:57:48 +0000 (13:57 -0500)]
another reason to require rebuilds (and not be marked safe)
the plugin changes html filenames, so requiring a manual transition to
enable
Joey Hess [Wed, 5 Nov 2008 18:55:32 +0000 (13:55 -0500)]
add a link to pages for enhanced pagespecs
Joey Hess [Wed, 5 Nov 2008 18:54:25 +0000 (13:54 -0500)]
suggest po4a for po plugin
Joey Hess [Wed, 5 Nov 2008 18:50:26 +0000 (13:50 -0500)]
Merge commit 'intrigeri/po'
Joey Hess [Wed, 5 Nov 2008 18:30:26 +0000 (13:30 -0500)]
response
Joey Hess [Wed, 5 Nov 2008 18:21:16 +0000 (13:21 -0500)]
add a more useful example of a relative date ;-)
intrigeri [Wed, 5 Nov 2008 11:50:42 +0000 (12:50 +0100)]
po plugin: more detailed backlinks todo item
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Wed, 5 Nov 2008 06:38:36 +0000 (01:38 -0500)]
use error for two messages
intrigeri [Wed, 5 Nov 2008 00:36:44 +0000 (01:36 +0100)]
po plugin(filter): redesign temp file management
... in a way compatible with various File::Temp versions.
The result is far from being perfect (see comments in the code for details),
but it does work.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 4 Nov 2008 22:39:35 +0000 (23:39 +0100)]
Merge branch 'prv/po' into pub/po
intrigeri [Tue, 4 Nov 2008 22:39:15 +0000 (23:39 +0100)]
Merge commit 'upstream/master' into prv/po
intrigeri [Tue, 4 Nov 2008 22:32:32 +0000 (23:32 +0100)]
po plugin: redesign refresh mechanism after master page update
manually triggering IkiWiki::refresh() was at least dubious, and more or less
buggy (it randomly broke the whole backlinks feature); thinking a bit more to
add the necessary bits to @needsbuild seems like a better way. don't play with
ikiwiki's internals if not absolutely needed.
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 4 Nov 2008 19:05:21 +0000 (20:05 +0100)]
po plugin: remove broken parentlinks for home page's translations
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 4 Nov 2008 18:24:37 +0000 (19:24 +0100)]
po plugin: updated doc/todo
Signed-off-by: intrigeri <intrigeri@boum.org>
intrigeri [Tue, 4 Nov 2008 18:23:58 +0000 (19:23 +0100)]
po plugin: aesthetics
Signed-off-by: intrigeri <intrigeri@boum.org>
Joey Hess [Tue, 4 Nov 2008 18:21:07 +0000 (13:21 -0500)]
maintain list