From: Joey Hess Date: Sun, 3 Jun 2012 17:15:19 +0000 (-0400) Subject: Merge remote-tracking branch 'intrigeri/mirrorlist' X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/commitdiff_plain/32f3b4de00b1d2c4e3bfd7eca63f5ebbd4501ae7?hp=5b494e1b636f4c26c14c9cf8f964bef0a70c784a Merge remote-tracking branch 'intrigeri/mirrorlist' --- diff --git a/IkiWiki/Plugin/meta.pm b/IkiWiki/Plugin/meta.pm index b19ea2b32..421f1dc86 100644 --- a/IkiWiki/Plugin/meta.pm +++ b/IkiWiki/Plugin/meta.pm @@ -318,8 +318,9 @@ sub pagetemplate (@) { $template->param(title_overridden => 1); } - foreach my $field (qw{author authorurl}) { - $template->param($field => $pagestate{$page}{meta}{$field}) + foreach my $field (qw{authorurl}) { + eval q{use HTML::Entities}; + $template->param($field => HTML::Entities::encode_entities($pagestate{$page}{meta}{$field})) if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); } @@ -330,7 +331,7 @@ sub pagetemplate (@) { } } - foreach my $field (qw{description}) { + foreach my $field (qw{description author}) { eval q{use HTML::Entities}; $template->param($field => HTML::Entities::encode_numeric($pagestate{$page}{meta}{$field})) if exists $pagestate{$page}{meta}{$field} && $template->query(name => $field); diff --git a/debian/changelog b/debian/changelog index cefbb99ed..9a73f1084 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +ikiwiki (3.20120516) unstable; urgency=high + + * meta: Security fix; add missing sanitization of author and authorurl. + CVE-2012-0220 Thanks, Raúl Benencia + + -- Joey Hess Wed, 16 May 2012 19:51:27 -0400 + ikiwiki (3.20120419) unstable; urgency=low * Remove dead link from plugins/teximg. Closes: #664885 diff --git a/doc/bugs/conditional_preprocess_during_scan.mdwn b/doc/bugs/conditional_preprocess_during_scan.mdwn index 23b9fd2cc..1ba142331 100644 --- a/doc/bugs/conditional_preprocess_during_scan.mdwn +++ b/doc/bugs/conditional_preprocess_during_scan.mdwn @@ -1,4 +1,4 @@ -[[!template id=gitbranch branch=GiuseppeBilotta/scanif author="Giuseppe Bilotta"]] +[[!template id=gitbranch branch=GiuseppeBilotta/scanif author="[[GiuseppeBilotta]]"]] When a directive that should be run during scan preprocessing is inside an if directive, it doesn't get called because the if preprocessing does diff --git a/doc/bugs/osm_linkto__40____41___usage_breaks_map_rendering.mdwn b/doc/bugs/osm_linkto__40____41___usage_breaks_map_rendering.mdwn index b36cfee13..01d1ec8bc 100644 --- a/doc/bugs/osm_linkto__40____41___usage_breaks_map_rendering.mdwn +++ b/doc/bugs/osm_linkto__40____41___usage_breaks_map_rendering.mdwn @@ -2,4 +2,4 @@ Under some circumstances that remain unclear to me, the usage of `urlto()` in th GET http://mesh.openisp.ca/map/pois.kml/ 404 (Not Found) -Indeed, that URL yields a 404. The proper URL is . --[[anarcat] +Indeed, that URL yields a 404. The proper URL is . --[[anarcat]] diff --git a/doc/bugs/osm_sometimes_looses_some_nodes.mdwn b/doc/bugs/osm_sometimes_looses_some_nodes.mdwn new file mode 100644 index 000000000..9de1b4e23 --- /dev/null +++ b/doc/bugs/osm_sometimes_looses_some_nodes.mdwn @@ -0,0 +1,5 @@ +I have heard repeated reports on that editing a page that has a waypoint in it will sometimes make that waypoint disappear from the main map. I have yet to understand why that happens or how, but multiple users have reported that. + +A workaround is to rebuild the whole wiki, although sometimes re-editing the same page will bring the waypoint back on the map. + +I have been able to reproduce this by simply creating a new node. It will not show up on the map until the wiki is rebuilt or the node is resaved. -- [[anarcat]] diff --git a/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__.mdwn b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__.mdwn new file mode 100644 index 000000000..c0b896515 --- /dev/null +++ b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__.mdwn @@ -0,0 +1,3 @@ +Is anyone successfull mirroring feeds from ikiwiki to identi.ca (or another status.net instance)? How did you set up your feed? + +When I try to, identi.ca presents me with an error about no "author ID URI" being found in the feed. Indeed the ikiwiki-generated atom feed only has got a global "author" - I presume identi.ca requires author information in each entry. Is it possible to set up ikiwiki's feed that way? diff --git a/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_1_8a5acbb6234104b607c8c4cf16124ae4._comment b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_1_8a5acbb6234104b607c8c4cf16124ae4._comment new file mode 100644 index 000000000..1d710d153 --- /dev/null +++ b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_1_8a5acbb6234104b607c8c4cf16124ae4._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="Franek" + ip="188.99.178.40" + subject="[[!meta author="..." + date="2012-05-19T14:51:42Z" + content=""" +Adding [[!meta author=\"me\"]] to the entries and/or the feedpage does not help. +"""]] diff --git a/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_2_155e5823860a91989647ede8b5c9224a._comment b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_2_155e5823860a91989647ede8b5c9224a._comment new file mode 100644 index 000000000..6c709b3f0 --- /dev/null +++ b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_2_155e5823860a91989647ede8b5c9224a._comment @@ -0,0 +1,16 @@ +[[!comment format=mdwn + username="Franek" + ip="188.99.178.40" + subject="Further enquiries" + date="2012-05-20T10:46:07Z" + content=""" +I did some more experiments setting not only \"[[!meta author=...\", but also \"authorurl\" globally and per-entry in various combinations, with no success. As far as I could see, \"authorurl\" had no effect on the atom feed whatsoever. + +It seems that identi.ca wants a feed to have an field with a subfield, as described here: [[http://www.atomenabled.org/developers/syndication/#person]] . Is there a way to achieve this with ikiwiki inline-feeds? + +I also found two old and unresolved status.net bugreports on the matter: + +[[http://status.net/open-source/issues/2840]] + +[[http://status.net/open-source/issues/2839]] +"""]] diff --git a/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_3_317f1202a3da1bfc845d4becbac4bba8._comment b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_3_317f1202a3da1bfc845d4becbac4bba8._comment new file mode 100644 index 000000000..6bda93433 --- /dev/null +++ b/doc/forum/Anyone_mirroring_ikiwiki_inline_feed_to_identi.ca__63__/comment_3_317f1202a3da1bfc845d4becbac4bba8._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="Franek" + ip="92.74.26.119" + subject="kind of solved, but another problem comes up" + date="2012-05-26T19:31:19Z" + content=""" +The templates atompage.tmpl and/or atomitem.tmpl appear to be what would have to be altered to satisfy identi.ca. I did that on my system, just hard-coding a element into for testing. In one respect, it worked: identi.ca does not complain about the missing author uri any more. In another, it did not, another error comes up now: \"Internal server error\" and something like \"could not add feed\". + +I do not know where to go from this very unspecific error message. I guess I am going to try something like twitterfeed.com, for now. +"""]] diff --git a/doc/forum/Error:___34__do__34___parameter_missing.mdwn b/doc/forum/Error:___34__do__34___parameter_missing.mdwn new file mode 100644 index 000000000..402217e82 --- /dev/null +++ b/doc/forum/Error:___34__do__34___parameter_missing.mdwn @@ -0,0 +1,13 @@ +Hi + +I'm stuck with a «Error: "do" parameter missing» message I can't fix. + +I'm using ikiwiki 3.20100815.7 on a debian 6.0.4 system. + +Error redirection is obvisously configured, also the dot cgi thing. + +You can test it at http://wikimix.cc/thisuridoesntexist + +The procedure of creating a reference to a new page gives the same error. + +Any clue? diff --git a/doc/forum/Error:___34__do__34___parameter_missing/comment_1_3a51c303ba1670f1567f323349b53837._comment b/doc/forum/Error:___34__do__34___parameter_missing/comment_1_3a51c303ba1670f1567f323349b53837._comment new file mode 100644 index 000000000..a01a33468 --- /dev/null +++ b/doc/forum/Error:___34__do__34___parameter_missing/comment_1_3a51c303ba1670f1567f323349b53837._comment @@ -0,0 +1,16 @@ +[[!comment format=mdwn + username="http://smcv.pseudorandom.co.uk/" + nickname="smcv" + subject="comment 1" + date="2012-05-22T13:46:20Z" + content=""" +Did you enable the [[plugins/404]] plugin? + +Which web server? That plugin is meant to work with Apache 2; in +principle it should be possible to make it work with other web servers, +but it'll need some setup. + +The 404 plugin relies on your web server giving IkiWiki some extra +information about 404s; lighttpd doesn't currently provide enough +information for IkiWiki to detect 404s reliably, for instance. +"""]] diff --git a/doc/forum/Error:___34__do__34___parameter_missing/comment_2_c5f24a8c4d2de0267cf0de1908480e82._comment b/doc/forum/Error:___34__do__34___parameter_missing/comment_2_c5f24a8c4d2de0267cf0de1908480e82._comment new file mode 100644 index 000000000..dd2fdb248 --- /dev/null +++ b/doc/forum/Error:___34__do__34___parameter_missing/comment_2_c5f24a8c4d2de0267cf0de1908480e82._comment @@ -0,0 +1,12 @@ +[[!comment format=mdwn + username="http://ismael.olea.org/" + ip="150.214.94.198" + subject="comment 2" + date="2012-05-22T21:24:37Z" + content=""" +Gosh, that was it. + +Grrr. Sorry for being too rookie O:-) + +Thanks! +"""]] diff --git a/doc/forum/Parent_Links_all_link_to_root.mdwn b/doc/forum/Parent_Links_all_link_to_root.mdwn new file mode 100644 index 000000000..b9c4c8e1a --- /dev/null +++ b/doc/forum/Parent_Links_all_link_to_root.mdwn @@ -0,0 +1,18 @@ +My parent links all link to the root instead of to the appropriate index.mdwn. Is this a sign of a broken link pre-compile? Is there some setting that controls this? + + +\ + +\root\/ + +\level1\/ + +\level2\/ + +\ + + +Thanks, +Sean + +ikiwiki version 3.20100722 - Pretty plain Jane install diff --git a/doc/forum/When_do_tags_like_a__47__b_get_listed_as_a__47__b_and_not_only_b__63__/comment_1_cd5ea3aac8a59793ece5bf01a6190b53._comment b/doc/forum/When_do_tags_like_a__47__b_get_listed_as_a__47__b_and_not_only_b__63__/comment_1_cd5ea3aac8a59793ece5bf01a6190b53._comment new file mode 100644 index 000000000..953a7141b --- /dev/null +++ b/doc/forum/When_do_tags_like_a__47__b_get_listed_as_a__47__b_and_not_only_b__63__/comment_1_cd5ea3aac8a59793ece5bf01a6190b53._comment @@ -0,0 +1,9 @@ +[[!comment format=mdwn + username="http://joey.kitenet.net/" + nickname="joey" + subject="comment 1" + date="2012-04-19T17:32:18Z" + content=""" +I think this change was made in 2011, in commit a17469e3882f55bee93863c6e265b96b80ec9fef. + +"""]] diff --git a/doc/forum/how_to_login_as_admin/comment_1_295e130c6400a2d7336758e82bcd5647._comment b/doc/forum/how_to_login_as_admin/comment_1_295e130c6400a2d7336758e82bcd5647._comment new file mode 100644 index 000000000..bceecf8e8 --- /dev/null +++ b/doc/forum/how_to_login_as_admin/comment_1_295e130c6400a2d7336758e82bcd5647._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="http://ismael.olea.org/" + ip="150.214.94.198" + subject="comment 1" + date="2012-05-22T23:31:09Z" + content=""" +Can be adminuser an OpenID address? + +Because I can't get the websetup link at my preferences (plugin is set). I deactivated passwordauth plugin. +"""]] diff --git a/doc/ikiwiki/directive/graph/discussion.mdwn b/doc/ikiwiki/directive/graph/discussion.mdwn new file mode 100644 index 000000000..f88da7261 --- /dev/null +++ b/doc/ikiwiki/directive/graph/discussion.mdwn @@ -0,0 +1,27 @@ +How to align this? +================== + +I have found this patch to be the only way I can float graphs to the right: + +[[!format diff """ +--- Plugin/graphviz.pm.orig 2012-04-25 10:26:59.531525247 -0400 ++++ Plugin/graphviz.pm 2012-04-25 10:26:01.282922144 -0400 +@@ -87,8 +87,10 @@ + error gettext("failed to run graphviz") if ($sigpipe || $?); + } + ++ my $class = ''; ++ $class = 'class="' . $params{class} if $params{class}; + return "\n". ++ "\" usemap=\"#graph$sha\" $class />\n". + $map; + } +"""]] + +Then I can use `[[!graph class="align-right" ...]]`.. --[[anarcat]] + +> You can already use `
[[!graph ...]]
`, +> doesn't that have the same practical effect? --[[smcv]] + +> > It does! I didn't think of that, thanks! I am not used to plain HTML in wikis, and the [[plugins/contrib/osm]] plugin has "right" and "left" directives... --[[anarcat]] diff --git a/doc/ikiwikiusers.mdwn b/doc/ikiwikiusers.mdwn index 777366291..9474cd756 100644 --- a/doc/ikiwikiusers.mdwn +++ b/doc/ikiwikiusers.mdwn @@ -80,6 +80,7 @@ Projects & Organizations * [Russian OpenBSD Community wiki](http://wiki.openbsd.ru/) * [Arcada Project](http://arcadaproject.org/) * [*BSD UNIX user group in Denmark](http://www.bsd-dk.dk/) +* [Telecomix Broadcast System](http://broadcast.telecomix.org/) Personal sites and blogs ======================== @@ -171,10 +172,11 @@ Personal sites and blogs * [Richardson Family Wiki](http://the4richardsons.com) A wiki, blog or some such nonsense for the family home page or something or other... I will eventually move the rest of my sites to ikiwiki. The source of the site is in git. * [The personal website of Andrew Back](http://carrierdetect.com) * [SolderPad Documentation](http://docs.solderpad.com) -* various sub-domains at kisikew.org ([example](https://portal.kisikew.org/)) * [Paul Elms](http://paul.elms.pro) Personal site and blog in russian. * [James' Tech Notes](http://jamestechnotes.com) My technical notes, blog, wiki, personal site. * [Salient Dream](http://www.salientdream.com/) - All Things Strange. * [Kafe-in.net](https://www.kafe-in.net/) Ugly personnal blog. * [Anton Berezin's blog](http://blog.tobez.org/) * [Waldgarten]( http://waldgarten.greenonion.org/ ) News and documentation of a permaculture inspired neighbourhood-garden located in Hamburg, Germany. +* [[OscarMorante]]'s [personal site](http://oscar.morante.eu). +* [Puckspage]( http://www.puckspage.org/ ) Political and personal blog in German. The name comes from the elf out of midsummer nights dream. diff --git a/doc/install.mdwn b/doc/install.mdwn index 9c5d5939b..82fd299e3 100644 --- a/doc/install.mdwn +++ b/doc/install.mdwn @@ -13,8 +13,9 @@ wrappers. Ikiwiki requires the [[!cpan Text::Markdown::Discount]] (or [[!cpan Text::Markdown]]), [[!cpan URI]], -[[!cpan HTML::Parser]], [[!cpan HTML::Template]], and [[!cpan HTML::Scrubber]] -perl modules be installed. It can also use a lot of other perl modules, if +[[!cpan HTML::Parser]], [[!cpan HTML::Template]], [[!cpan YAML::XS]] and [[!cpan HTML::Scrubber]] +perl modules be installed. +It can also use a lot of other perl modules, if they are available. Various [[plugins]] use other perl modules and utilities; see their individual diff --git a/doc/news/version_3.20111229.mdwn b/doc/news/version_3.20111229.mdwn deleted file mode 100644 index 18c4f8d12..000000000 --- a/doc/news/version_3.20111229.mdwn +++ /dev/null @@ -1,7 +0,0 @@ -ikiwiki 3.20111229 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * Consume all stdin when rcs\_receive short-circuits, - to avoid git SIGPIPE race. - * Add path and path\_natural sort orders (smcv) - * Test coverage can be checked with `make coverage` (smcv) - * tag: encode categories using numeric values. (tango)"""]] \ No newline at end of file diff --git a/doc/news/version_3.20120109.mdwn b/doc/news/version_3.20120109.mdwn deleted file mode 100644 index de53c5d67..000000000 --- a/doc/news/version_3.20120109.mdwn +++ /dev/null @@ -1,9 +0,0 @@ -ikiwiki 3.20120109 released with [[!toggle text="these changes"]] -[[!toggleable text=""" - * mdwn: Can use the discount markdown library, via the - Text::Markdown::Discount perl module. This is preferred if available - since it's the fastest currently supported markdown library, speeding up - ikiwiki's markdown rendering by a factor of 40. - (However, when multimarkdown is enabled, Text::Markdown::Multimarkdown - is still used.) - * On Debian, depend on libtext-markdown-discount."""]] \ No newline at end of file diff --git a/doc/news/version_3.20120419.mdwn b/doc/news/version_3.20120419.mdwn new file mode 100644 index 000000000..4a7ee67c1 --- /dev/null +++ b/doc/news/version_3.20120419.mdwn @@ -0,0 +1,27 @@ +ikiwiki 3.20120419 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * Remove dead link from plugins/teximg. Closes: #[664885](http://bugs.debian.org/664885) + * inline: When the pagenames list includes pages that do not exist, skip + them. + * meta: Export author information in html <meta> tag. Closes: #[664779](http://bugs.debian.org/664779) + Thanks, Martin Michlmayr + * notifyemail: New plugin, sends email notifications about new and + changed pages, and allows subscribing to comments. + * Added a "changes" hook. Renamed the "change" hook to "rendered", but + the old hook name is called for now for back-compat. + * meta: Support keywords header. Closes: #[664780](http://bugs.debian.org/664780) + Thanks, Martin Michlmayr + * passwordauth: Fix url in password recovery email to be absolute. + * httpauth: When it's the only auth method, avoid a pointless and + confusing signin form, and go right to the httpauthurl. + * rename: Allow rename to be started not from the edit page; return to + the renamed page in this case. + * remove: Support removing of pages in the transient underlay. (smcv) + * inline, trail: The pagenames parameter is now a list of absolute + pagenames, not relative wikilink type names. This is necessary to fix + a bug, and makes pagenames more consistent with the pagespec used + in the pages parameter. (smcv) + * link: Fix renaming wikilinks that contain embedded urls. + * graphviz: Handle self-links. + * trail: Improve CSS, also display trail links at bottom of page, + and a bug fix. (smcv)"""]] \ No newline at end of file diff --git a/doc/news/version_3.20120516.mdwn b/doc/news/version_3.20120516.mdwn new file mode 100644 index 000000000..aa85f54ef --- /dev/null +++ b/doc/news/version_3.20120516.mdwn @@ -0,0 +1,4 @@ +ikiwiki 3.20120516 released with [[!toggle text="these changes"]] +[[!toggleable text=""" + * meta: Security fix; add missing sanitization of author and authorurl. + Thanks, Raúl Benencia"""]] \ No newline at end of file diff --git a/doc/plugins/contrib/getfield/discussion.mdwn b/doc/plugins/contrib/getfield/discussion.mdwn index 5f7fffead..d3c1a1277 100644 --- a/doc/plugins/contrib/getfield/discussion.mdwn +++ b/doc/plugins/contrib/getfield/discussion.mdwn @@ -1,3 +1,21 @@ +## Multiple values arrays + +This breaks if there are multiple values for a single key. It works fine in the report plugin, but inline display shows the ARRAY reference, e.g. + + IPv6: + - fd64:2c08:9fa7:4::1 + - 2001:470:1d:4a6::1 + +and: + + {{$IPv6}} + +yields: + + ARRAY(0x266db10) + +Seems to me this could be checked and `join(" ")`'d. :) + ## Templating, and other uses Like you mentioned in [[ftemplate]] IIRC, it'll only work on the same page. If it can be made to work anywhere, or from a specific place in the wiki - configurable, possibly - you'll have something very similar to mediawiki's templates. I can already think of a few uses for this combined with [[template]] ;) . --[[SR|users/simonraven]] diff --git a/doc/plugins/contrib/ikiwiki/directive/ymlfront/discussion.mdwn b/doc/plugins/contrib/ikiwiki/directive/ymlfront/discussion.mdwn new file mode 100644 index 000000000..f49c85079 --- /dev/null +++ b/doc/plugins/contrib/ikiwiki/directive/ymlfront/discussion.mdwn @@ -0,0 +1,37 @@ +I can't seem to make this work. I have tried, in this [sandbox](http://mesh.openisp.ca/sandbox), to set values for fields and then display them with the getfield meta syntax, but it doesn't seem to be working. + +The getfield, field and ymlfront plugins are enabled. I have tried with and without the following field registration: + + # field plugin + # define the fields for the meshmtl project + field_register: + - meta + - hostname + - MAC + - IP + +I have tried both the ymlfront directive and the YAML markup (with the +`---` delimiter), no luck. Any idea what I am doing wrong? -- +[[anarcat]] + +> I'm afraid I can't tell from here what the problem could be. It's clear that ymlfront is turned on, or the ymlfront directive in your sandbox page wouldn't be processed. The only thing I can suggest, in order to get more information about what could be going wrong, would be to do a dump of your indexdb file (see [[tips/inside dot ikiwiki]]) and see what the data for your sandbox page is. If there is field data there, that would indicate a problem with getfield; if there isn't field data there, that would indicate a problem with field or ymlfront. + +> Oh, and you only need to register "meta" with field_register; that will enable the data defined by the "meta" plugin to be read by field. Unless "hostname", "MAC" and "IP" are plugins, you don't need to add them to field_register. They can be taken care of by the ymlfront plugin. Perhaps that is the problem? + +> --[[KathrynAndersen]] + +> > I have tried removing the other fields from the declaration, no luck. I did, however, notice the following error in the `--rebuild` output: +> > +> > ymlfront parse: Load of sandbox data failed: YAML Error: Stream does not end with newline character +> > Code: YAML_PARSE_ERR_NO_FINAL_NEWLINE +> > Line: 0 +> > Document: 0 +> > at /usr/share/perl5/YAML/Loader.pm line 38 +> > +> > Now *that* has to be related... ;) In the index.db, there is no ymlfront metadata for the sandbox page... Note that the `---` delimiter approach doesn't trigger the warning but doesn't populate the DB either... +> > +> > Finally note that after adding debugging code, I was able to figure out that this seems to be using the `YAML::XS` library. I have also traced the data and confirmed that `$yml_str` does get properly initialized in `parse_yml`, and it is where the error is generated. So maybe there's something wrong with the YAML library? +> > +> > Update: well, look here: using `YAML::Syck` doesn't yield the same error *and* the metadata actually works! So this is a problem specific to `YAML::Any`. Hardcoding `use YAML::XS` or *even* `use YAML::Any` fixed the problem for me. +> > +> > Now delimiters also work, but the output is kind of ugly: it gets parsed as regular markdown makup so the `---` makes horizontal lines in the beginning and headings in the end... --[[anarcat]] diff --git a/doc/plugins/contrib/syntax.mdwn b/doc/plugins/contrib/syntax.mdwn index 5ca6311f9..da4213000 100644 --- a/doc/plugins/contrib/syntax.mdwn +++ b/doc/plugins/contrib/syntax.mdwn @@ -44,6 +44,8 @@ This plugin create the following CSS styles: It can be downloaded from [here](http://taquiones.net/files/misc/) or through my personal debian repository at . There is a page with examples: +_**NOTE:** all the above links are broken_ + Any help, comments or critics are welcome at . ## version 0.9 diff --git a/doc/plugins/trail/discussion.mdwn b/doc/plugins/trail/discussion.mdwn index 7598ed219..6c0b790b9 100644 --- a/doc/plugins/trail/discussion.mdwn +++ b/doc/plugins/trail/discussion.mdwn @@ -31,7 +31,7 @@ or trail member has actually been edited. For it to be useful for `trail`, the `prebuild` hook has to run after both pagespecs and sorting work. The other use case -I've seen for a similar hook was for Guiseppe Bilotta to +I've seen for a similar hook was for Giuseppe Bilotta to sort an inline-of-inlines by mtime of newest post, but that can't be the same hook, because it has to run after pagespecs work, but before sorting. diff --git a/doc/plugins/wmd.mdwn b/doc/plugins/wmd.mdwn index 2eac0788c..7202aece6 100644 --- a/doc/plugins/wmd.mdwn +++ b/doc/plugins/wmd.mdwn @@ -5,7 +5,7 @@ [[mdwn]]. This plugin makes WMD be used for editing pages in the wiki. To use the plugin, you will need to install WMD. Download the [WMD -source](http://ftp.netbsd.org/pub/NetBSD/packages/distfiles/wmd-1.0.1.zip). In that zip file +source](https://code.google.com/p/pagedown/). In that zip file you'll find a few example html files, a readme and `wmd` directory. Create a 'wmd' subdirectory in the ikiwiki `underlaydir` directory (ie `sudo mkdir /usr/share/ikiwiki/wmd`). Move the `wmd` directory into the directory you diff --git a/doc/sandbox.mdwn b/doc/sandbox.mdwn index 432652d3a..e0193642d 100644 --- a/doc/sandbox.mdwn +++ b/doc/sandbox.mdwn @@ -10,7 +10,7 @@ Hello, ikiwiki. ## number 2 ### number 3 -This is the [[SandBox]], a page anyone can edit to try out ikiwiki +This is the SandBox, a page anyone can edit to try out ikiwiki (version [[!version ]]). [[!toc levels=1 startlevel=2 ]] @@ -23,6 +23,8 @@ w00t, how does this look on the **git** end? Well, as a commit of course. Testing this sandbox thing. +Awesome :P + ## Blockquotes > This is a blockquote. @@ -183,3 +185,6 @@ This is simple enough for now [[sandbocen]] no? test by max test by bbb + + +Can I make a [[NewPage]]? diff --git a/doc/sandbox/NewPage.mdwn b/doc/sandbox/NewPage.mdwn new file mode 100644 index 000000000..18e27fc89 --- /dev/null +++ b/doc/sandbox/NewPage.mdwn @@ -0,0 +1 @@ +This page uses directory hierarchies. Good. diff --git a/doc/security.mdwn b/doc/security.mdwn index b573b5f23..c3b62cd3c 100644 --- a/doc/security.mdwn +++ b/doc/security.mdwn @@ -482,9 +482,18 @@ Ludwig Nussel discovered a way for users to hijack root's tty when ikiwiki-mass-rebuild was run. Additionally, there was some potential for information disclosure via symlinks. ([[!cve CVE-2011-1408]]) -This hole was disconvered on 8 June 2011 and fixed the same day with +This hole was discovered on 8 June 2011 and fixed the same day with the release of ikiwiki 3.20110608. Note that the fix is dependant on -a version of su that has a similar hole fixed; [[!debbug 628843]] -tracks fixing the hole in Debian's su. An upgrade is a must for any -sites that have `ikiwiki-update-wikilist` installed suid (not the default), -and whose admins run `ikiwiki-mass-rebuild`. +a version of su that has a similar hole fixed. Version 4.1.5 of the shadow +package contains the fixed su; [[!debbug 628843]] tracks fixing the hole in +Debian. An upgrade is a must for any sites that have `ikiwiki-update-wikilist` +installed suid (not the default), and whose admins run `ikiwiki-mass-rebuild`. + +## javascript insertion via meta tags + +Raúl Benencia discovered an additional XSS exposure in the meta plugin. +([[!cve CVE-2012-0220]]) + +This hole was discovered on 16 May 2012 and fixed the same day with +the release of ikiwiki 3.20120516. A fix was backported to Debian squeeze, +as version 3.20100815.9. An upgrade is recommended for all sites. diff --git a/doc/tips/JavaScript_to_add_index.html_to_file:_links/discussion.mdwn b/doc/tips/JavaScript_to_add_index.html_to_file:_links/discussion.mdwn new file mode 100644 index 000000000..3b9f29e77 --- /dev/null +++ b/doc/tips/JavaScript_to_add_index.html_to_file:_links/discussion.mdwn @@ -0,0 +1,2 @@ +Please make this an ikiwiki feature. By that I mean, "server side". Cheers, thanks, --Dave +> After I left this comment, I found that --no-usedirs suits my purposes: I can navigate my local wiki with file:/// urls... Hope this helps someone! diff --git a/doc/tips/convert_moinmoin_to_ikiwiki.mdwn b/doc/tips/convert_moinmoin_to_ikiwiki.mdwn index 3ebde552f..23e4d6035 100644 --- a/doc/tips/convert_moinmoin_to_ikiwiki.mdwn +++ b/doc/tips/convert_moinmoin_to_ikiwiki.mdwn @@ -51,6 +51,8 @@ The software is made of two pieces: * Include, partially through [[ikiwiki/directive/inline]] (so missing boundary extraction and heading level generation) * PageCount, same name even :) * OrphanedPages, through [[ikiwiki/directive/oprhans]] + * Date and Datetime, should be through [[plugins/date]] instead of + current hack ### Supported parsers diff --git a/doc/tips/ikiwiki_via_gopher/discussion.mdwn b/doc/tips/ikiwiki_via_gopher/discussion.mdwn new file mode 100644 index 000000000..196f203bc --- /dev/null +++ b/doc/tips/ikiwiki_via_gopher/discussion.mdwn @@ -0,0 +1,8 @@ +Joey, do you have an ikiwiki served up on gopher, as an example, I can take a look at? +I find this prospect interesting. +I have a gopherhole, but no wiki in it. + +I was wondering, myself, if I symlinked a dirfull of dokuwiki pages in my gopherhole what that might be like...hmmmm. +I might try that. + +tony baldwin | http://tonybaldwin.me | gopher://tonybaldwin.me diff --git a/doc/todo/Add_basename_in_edittemplate.mdwn b/doc/todo/Add_basename_in_edittemplate.mdwn new file mode 100644 index 000000000..6f5b0569f --- /dev/null +++ b/doc/todo/Add_basename_in_edittemplate.mdwn @@ -0,0 +1,8 @@ +I wanted to produce an external link from a ikiwiki Subpage based on +the *basename* of the Subpage. So I added the following code to the +edittemplate plugin: + + my ($basename) = $page =~ m!.*/(.*)!; + $template->param(basename => $basename || $page); + +Is there any other way I could have achieved this? diff --git a/doc/todo/Using_page_titles_in_internal_links.mdwn b/doc/todo/Using_page_titles_in_internal_links.mdwn new file mode 100644 index 000000000..6e1438bfd --- /dev/null +++ b/doc/todo/Using_page_titles_in_internal_links.mdwn @@ -0,0 +1,3 @@ +It would be really nice if, should a page happen to have a title metavariable then links to that page which do not explicitly state a title would use it. -- Daniel Silverstone + +> i like the idea for some applications, but i'm afraid there would be lots of cases where it wouldn't be appropriate to happen automatically, first and foremost capitalization. a syntax like ``\[[|that page]]`` might still be available, as the current implementation assumes the ``|`` character to be part of the page name. --[[chrysn]] diff --git a/doc/todo/allow_TMPL__95__LOOP_in_template_directives.mdwn b/doc/todo/allow_TMPL__95__LOOP_in_template_directives.mdwn index 6d0bd0971..890c4cf4b 100644 --- a/doc/todo/allow_TMPL__95__LOOP_in_template_directives.mdwn +++ b/doc/todo/allow_TMPL__95__LOOP_in_template_directives.mdwn @@ -14,6 +14,20 @@ rather limited way. > the form of a patch that is reviewable, not a gratuitous rewrite. > --[[Joey]] +>> Yes, my apologies for that. The two worker functions `mktmpl_hash` +and `proc_tmpl_hash` are new. The `preprocess` function then starts +by arranging the parameters into an array. This array is passed to the +`mktmpl_hash` and it creates a hash, suitable for passing into the +HTML::Template directly. The `proc_tmpl_hash` then walks the hash +structure and processes the parameters. + +>> I know ... you weren't looking for an explanation, just a patch +... totally understand. Point I'm trying to make, it's a 90% re-write +anyway (and my `style(8)` will probably piss most people off). + +>> Anyway, would love to contribute so will try to get to doing this +"correctly" and post as a patch. + I would, personally, only use this feature for very basic loops and, although nested loops *might* be possible (with a little more tinkering) it think any attempt would be better served by diff --git a/doc/todo/feed_enhancements_for_inline_pages.mdwn b/doc/todo/feed_enhancements_for_inline_pages.mdwn index b48c37d7b..f13213dc2 100644 --- a/doc/todo/feed_enhancements_for_inline_pages.mdwn +++ b/doc/todo/feed_enhancements_for_inline_pages.mdwn @@ -1,4 +1,4 @@ -[[!template id=gitbranch branch=GiuseppeBilotta/inlinestuff author="Giuseppe Bilotta"]] +[[!template id=gitbranch branch=GiuseppeBilotta/inlinestuff author="[[GiuseppeBilotta]]"]] I rearranged my patchset once again, to clearly identify the origin and motivation of each patch, which is explained in the following. diff --git a/doc/todo/linkbase.mdwn b/doc/todo/linkbase.mdwn new file mode 100644 index 000000000..5dcef3c3d --- /dev/null +++ b/doc/todo/linkbase.mdwn @@ -0,0 +1,16 @@ +[[!template id=gitbranch branch=GiuseppeBilotta/linkbase author="[[GiuseppeBilotta]]"]] + +This patches enables the user to specify additional paths (“link bases”) +that can be used by ikiwiki when trying to resolve links. The list of +link bases is built as follows: + +* the page itself (as ikiwiki currently does) +* all link bases specified for this page +* all link bases specified for pagespecs matched by this page + +To specify the link bases, the only way made available presently by the +patchset is a linkbase plugin that works similarly to the shortcut +plugin (link bases are specified in a linkbases.mdwn file at the +document root). However, are ways are potentially possible. + +This is still work in progress. Comments and suggestions are welcome. diff --git a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn index baad063ef..ca9cb532c 100644 --- a/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn +++ b/doc/todo/mirrorlist_with_per-mirror_usedirs_settings.mdwn @@ -80,6 +80,11 @@ and decided this time it was really needed to implement this feature. >>>>>> Ping? I've merged 3.20110321 in my `mirrorlist` branch and >>>>>> checked it still works properly. --[[intrigeri]] +>>>>>>> Joey: ping? I've rebased my `mirrorlist` branch on top of +>>>>>>> 3.20120419, and checked it still works properly. I really +>>>>>>> would like to see this functionality merged in time +>>>>>>> for Wheezy. --[[intrigeri]] + >>>>> concerning goto/cgiurl, what about having that as the default in >>>>> mirrorlist, but keeping ``nousedirs|file:///home/intrigeri/wiki`` and >>>>> ``usedirs|http://example.com/wiki`` valid for cgi-less cases? diff --git a/doc/todo/usedirs__95__redir_proposed_additional_module.mdwn b/doc/todo/usedirs__95__redir_proposed_additional_module.mdwn new file mode 100644 index 000000000..6e9f27af0 --- /dev/null +++ b/doc/todo/usedirs__95__redir_proposed_additional_module.mdwn @@ -0,0 +1,8 @@ +I wrote a new ikiwiki plugin (download source) to generate redirection files so that the URL http://example.com/wiki/foo.html turns into http://example.com/wiki/foo/. + +This plugin is particularly useful when converting old sites built with static wiki pages into shiny new ikiwiki ones, while preserving external links. + +I'm happy to contribute the module to ikiwiki if there's interest. Source is [here]( +http://www.isi.edu/~johnh/SOFTWARE/IKIWIKI/usedirs_redir.pm.txt). + +[[!tag wishlist todo patch]] diff --git a/doc/todo/wikiwyg.mdwn b/doc/todo/wikiwyg.mdwn index 839986c7b..602a1b436 100644 --- a/doc/todo/wikiwyg.mdwn +++ b/doc/todo/wikiwyg.mdwn @@ -62,3 +62,10 @@ The plugin can be downloaded from > lost my copy of this before merging it. I hope that this plugin will turn > back up. In the meantime, there is a wmd plugin that accomplishes the > same basic task of WSYWIG markdown editing. --[[Joey]] + +>> Seems the new place is now at Github: +>> FYI +>> --[[users/Olea]] + +>>> No, that's the wikiwyg source, not the ikiwiki plugin to use it. The +>>> latter is what's lost. --[[Joey]] diff --git a/doc/todo/wikiwyg/discussion.mdwn b/doc/todo/wikiwyg/discussion.mdwn index 304b39620..11c96a8b5 100644 --- a/doc/todo/wikiwyg/discussion.mdwn +++ b/doc/todo/wikiwyg/discussion.mdwn @@ -176,3 +176,6 @@ Thanks, [[Greg]] >>> it, and at this point, I don't know where to find them anymore! Damn, >>> damn, damn. I suspect I did that right when I was learning git, and >>> screwed up pushing the branch. :-( --[[Joey]] +>>>> Seems the new place is now at Github: +>>>> FYI +>>>> --[[users/Olea]] diff --git a/doc/users/GiuseppeBilotta.mdwn b/doc/users/GiuseppeBilotta.mdwn new file mode 100644 index 000000000..7b15da959 --- /dev/null +++ b/doc/users/GiuseppeBilotta.mdwn @@ -0,0 +1,6 @@ +Custom patches to IkiWiki can be found in select branches of +. + +Patches proposed/discussed: +[[!map pages="link(users/GiuseppeBilotta) and (todo/* or bugs/*) and +link(branches) and !link(todo/done)"]] diff --git a/doc/users/Olea.mdwn b/doc/users/Olea.mdwn new file mode 100644 index 000000000..1db2a7cf5 --- /dev/null +++ b/doc/users/Olea.mdwn @@ -0,0 +1,4 @@ +[[!meta title="Ismael Olea"]] + +Ismael Olea is ismael@olea.org. +His web page is [here](http://olea.org/diario/). diff --git a/doc/users/OscarMorante.mdwn b/doc/users/OscarMorante.mdwn new file mode 100644 index 000000000..7ece36db0 --- /dev/null +++ b/doc/users/OscarMorante.mdwn @@ -0,0 +1,3 @@ +Oscar Morante + +[homepage](http://oscar.morante.eu) diff --git a/doc/users/wiebel.mdwn b/doc/users/wiebel.mdwn new file mode 100644 index 000000000..4d6997a9e --- /dev/null +++ b/doc/users/wiebel.mdwn @@ -0,0 +1,5 @@ +Started my [Homepage](http://wiebel.scorpius.uberspace.de/) with ikiwiki added some plugins like: + +* [hlinclude](https://wiebel.scorpius.uberspace.de/space/hlinclude/) -> addition to highlight to render a files content and provide it as a download, example can be seen at [favlinks](https://wiebel.scorpius.uberspace.de/code/favlink/), sadly it seem to be unable to render itself, meh +* [favlinks](https://wiebel.scorpius.uberspace.de/code/favlink/) -> to include favicons off linked Pages + diff --git a/ikiwiki.spec b/ikiwiki.spec index 573488ce9..b3674c710 100644 --- a/ikiwiki.spec +++ b/ikiwiki.spec @@ -1,5 +1,5 @@ Name: ikiwiki -Version: 3.20120419 +Version: 3.20120516 Release: 1%{?dist} Summary: A wiki compiler diff --git a/po/Makefile b/po/Makefile index dfb018c81..5ec4a157c 100644 --- a/po/Makefile +++ b/po/Makefile @@ -41,19 +41,22 @@ clean: find underlays -name \*.mdwn -or -name \*.pot | xargs rm -f %.mo: %.po - msgfmt -o $@ $< + @if ! msgfmt -o $@ $<; then echo "unable to run msgfmt"; fi %.po: ikiwiki.pot @echo -n "Merging ikiwiki.pot and $@" - @msgmerge $@ ikiwiki.pot -o $@.new 2>&1 -# Typically all that changes was a date or line number. I'd prefer not to +# Typically all that changes is a date or line number. I'd prefer not to # commit such changes, so detect and ignore them. - @if [ "`diff $@ $@.new | grep '[<>]' | grep -v '[<>] #:' | wc -l`" -ne 2 ]; then \ - mv -f $@.new $@; \ + @if ! msgmerge $@ ikiwiki.pot -o $@.new 2>&1; then \ + echo "unable to run msgmerge"; \ else \ - rm -f $@.new; \ + if [ "`diff $@ $@.new | grep '[<>]' | grep -v '[<>] #:' | wc -l`" -ne 2 ]; then \ + mv -f $@.new $@; \ + else \ + rm -f $@.new; \ + fi; \ + msgfmt --statistics $@ 2>&1; \ fi - @msgfmt --statistics $@ 2>&1 check: @for file in $(POFILES); do \ diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index aa8bafb50..3519e366d 100644 --- a/po/ikiwiki.pot +++ b/po/ikiwiki.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-04-19 15:33-0400\n" +"POT-Creation-Date: 2012-05-16 20:03-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/t/syntax.t b/t/syntax.t index a3760a2b2..b7c6efd58 100755 --- a/t/syntax.t +++ b/t/syntax.t @@ -5,8 +5,9 @@ use Test::More; my @progs="ikiwiki.in"; my @libs="IkiWiki.pm"; -# monotone, external, amazon_s3 skipped since they need perl modules -push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm | grep -v monotone.pm | grep -v external.pm | grep -v amazon_s3.pm | grep -v po.pm`; +# monotone, external, amazon_s3, po, and cvs +# skipped since they need perl modules +push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm | grep -v monotone.pm | grep -v external.pm | grep -v amazon_s3.pm | grep -v po.pm | grep -v cvs.pm`; push @libs, 'IkiWiki/Plugin/skeleton.pm.example'; plan(tests => (@progs + @libs));