]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
finish including hnb plugin
authorJoey Hess <joey@kodama.kitenet.net>
Sun, 15 Jun 2008 20:27:08 +0000 (16:27 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Sun, 15 Jun 2008 20:27:08 +0000 (16:27 -0400)
debian/changelog
doc/plugins/contrib/hnb.mdwn [deleted file]
doc/plugins/contrib/hnb/discussion.mdwn [deleted file]
doc/plugins/hnb.mdwn [new file with mode: 0644]
doc/plugins/hnb/discussion.mdwn [new file with mode: 0644]

index 3465a51f46a2fb4c1e9c9203cb30e0a09e142931..800a383004918ecb475867c9c6dcf9679c508dba 100644 (file)
@@ -5,6 +5,7 @@ ikiwiki (2.51) UNRELEASED; urgency=low
   * map: Add a "show" parameter. "show=title" can be used to display page
     titles, rather than the default page name. Based on a patch from 
     Jaldhar H. Vyas, Closes: #484510
+  * hnb: New plugin, contributed by Axel Beckert.
 
  -- Joey Hess <joeyh@debian.org>  Sun, 15 Jun 2008 15:03:33 -0400
 
diff --git a/doc/plugins/contrib/hnb.mdwn b/doc/plugins/contrib/hnb.mdwn
deleted file mode 100644 (file)
index 9c2c9cf..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-[[template id=plugin name=hnb author="[[XTaran]]"]]
-[[tag type/format type/slow]]
-
-This plugin allows ikiwiki to process `.hnb` XML files, as created by 
-the Hierachical Notebook [hnb](http://hnb.sourceforge.net/). To use it, you need to have 
-hnb installed, since it uses the commandline interface of `hnb` program.
-
-It is roughly based on the `otl` plugin but uses `mktemp` to create temporary files since `hnb` has no "quiet" switch and otherwise the hnb version number and other as well as the output file name always would be in the output itself.
-
-For now [[XTaran]]'s currently used version is available for download at <http://noone.org/hnb/hnb.pm>. The Mercurial repository is at <http://noone.org/hg/ikiwiki/plugin>.
-
-The hnb plugin is available under the GPL.
-
-TODO: Make a switch to allow both HTML export routines of hnb (`export_html` and `export_htmlcss`) to be used.
diff --git a/doc/plugins/contrib/hnb/discussion.mdwn b/doc/plugins/contrib/hnb/discussion.mdwn
deleted file mode 100644 (file)
index 45bd703..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-I've reviewed this plugin's code, and there is one major issue with it,
-namely this line:
-
-       system("hnb '$params{page}.hnb' 'go root' 'export_html $tmp' > /dev/null");
-
-This could potentially allow execution of artibtary shell code, if the filename
-contains a single quote.
-
-* Fixed with version 0.02 by usage of `$params{content}` -- XTaran
-
-Which ikiwiki doesn't allow by default, but I prefer to never involve a shell where one is not needed. The otl plugin is a good example of how to safely fork a child process without involving the shell.
-
-* Had a look at that one as example before writing the hnb plugin, but hnb has different input/output characteristics. I would prefer another solution, too, but as long as it works and is secure, I'm fine with the current (fixed :-) ) solution -- [[XTaran]].
-
-Other problems:
-
-* Use of shell mktemp from perl is suboptimal. File::Temp would be better.
-  * Fixed with version 0.02 -- [[XTaran]]
-* The htmlize hook should not operate on the contents of `$params{page}.hnb`.
-  The content that needs to be htmlized is passed in to the hook in
-  `$params{content}`.
-  * Fixed with version 0.02 -- [[XTaran]]
-
-If these problems are resolved and a copyright statement is added to the file,
-
-* Copyright Statement is in their for about a month. -- [[XTaran]]
-
-I'd be willing to include this plugin in ikiwiki. --[[Joey]]
diff --git a/doc/plugins/hnb.mdwn b/doc/plugins/hnb.mdwn
new file mode 100644 (file)
index 0000000..9c2c9cf
--- /dev/null
@@ -0,0 +1,14 @@
+[[template id=plugin name=hnb author="[[XTaran]]"]]
+[[tag type/format type/slow]]
+
+This plugin allows ikiwiki to process `.hnb` XML files, as created by 
+the Hierachical Notebook [hnb](http://hnb.sourceforge.net/). To use it, you need to have 
+hnb installed, since it uses the commandline interface of `hnb` program.
+
+It is roughly based on the `otl` plugin but uses `mktemp` to create temporary files since `hnb` has no "quiet" switch and otherwise the hnb version number and other as well as the output file name always would be in the output itself.
+
+For now [[XTaran]]'s currently used version is available for download at <http://noone.org/hnb/hnb.pm>. The Mercurial repository is at <http://noone.org/hg/ikiwiki/plugin>.
+
+The hnb plugin is available under the GPL.
+
+TODO: Make a switch to allow both HTML export routines of hnb (`export_html` and `export_htmlcss`) to be used.
diff --git a/doc/plugins/hnb/discussion.mdwn b/doc/plugins/hnb/discussion.mdwn
new file mode 100644 (file)
index 0000000..45bd703
--- /dev/null
@@ -0,0 +1,28 @@
+I've reviewed this plugin's code, and there is one major issue with it,
+namely this line:
+
+       system("hnb '$params{page}.hnb' 'go root' 'export_html $tmp' > /dev/null");
+
+This could potentially allow execution of artibtary shell code, if the filename
+contains a single quote.
+
+* Fixed with version 0.02 by usage of `$params{content}` -- XTaran
+
+Which ikiwiki doesn't allow by default, but I prefer to never involve a shell where one is not needed. The otl plugin is a good example of how to safely fork a child process without involving the shell.
+
+* Had a look at that one as example before writing the hnb plugin, but hnb has different input/output characteristics. I would prefer another solution, too, but as long as it works and is secure, I'm fine with the current (fixed :-) ) solution -- [[XTaran]].
+
+Other problems:
+
+* Use of shell mktemp from perl is suboptimal. File::Temp would be better.
+  * Fixed with version 0.02 -- [[XTaran]]
+* The htmlize hook should not operate on the contents of `$params{page}.hnb`.
+  The content that needs to be htmlized is passed in to the hook in
+  `$params{content}`.
+  * Fixed with version 0.02 -- [[XTaran]]
+
+If these problems are resolved and a copyright statement is added to the file,
+
+* Copyright Statement is in their for about a month. -- [[XTaran]]
+
+I'd be willing to include this plugin in ikiwiki. --[[Joey]]