]> sipb.mit.edu Git - ikiwiki.git/commitdiff
More wishlist items for the `xslt` plugin.
authorhttp://oneingray.myopenid.com/ <http://oneingray.myopenid.com/@web>
Sun, 28 Mar 2010 15:58:37 +0000 (15:58 +0000)
committerJoey Hess <joey@finch.kitenet.net>
Sun, 28 Mar 2010 15:58:37 +0000 (15:58 +0000)
doc/plugins/contrib/xslt/discussion.mdwn

index 9cda02f880c06ec7bd08852a2c777b1f0ec6eedd..72cce083c2f263bc8a3eef04c01496104228a4cf 100644 (file)
@@ -20,3 +20,30 @@ possible. Can it also read other arbitrary files, run other programs, etc?
 > For the second point, I think the main concern would be resource usage.  XSLT is a pretty limited language; it can read other XML files, but it can't run other programs so far as I know.
 
 > -- [[KathrynAndersen]]
 > For the second point, I think the main concern would be resource usage.  XSLT is a pretty limited language; it can read other XML files, but it can't run other programs so far as I know.
 
 > -- [[KathrynAndersen]]
+
+>> XSLT is, indeed, a Turing-complete programming language.
+   However, [XML::LibXSLT][] provides a set of functions to help
+   to minimize the damage that may be caused by running a random
+   program.
+
+>> In particular, `max_depth ()` allows for the maximum
+   recursion depth to be set, while
+   `read_file ()`, `write_file ()`, `create_dir ()`,
+   `read_net ()` and `write_net ()`
+   are the callbacks that allow any of the possible file
+   operations to be denied.
+
+>> To be honest, I'd prefer for the `read_file ()` callback to
+   only grant access to the files below the Ikiwiki source
+   directory, and for all the `write_`&hellip; and
+   &hellip;`_net` callbacks to deny the access unconditionally.
+
+>> One more wishlist item: allow the set of locations to take
+   `.xsl` files from to be preconfigured, so that, e.&nbsp;g.,
+   one could allow (preasumably trusted) system stylesheets,
+   while disallowing any stylesheets that are placed on the Wiki
+   itself.
+
+>> &mdash;&nbsp;Ivan Shmakov, 2010-03-28Z.
+
+[XML::LibXSLT]: http://search.cpan.org/~PAJAS/XML-LibXSLT/LibXSLT.pm