Permalink
Browse files

raise recursion limit to 8

  • Loading branch information...
1 parent b140745 commit ecc9dd10068f534644d858c54109969f5c9d12d7 chrysn committed with admin Aug 10, 2013
Showing with 19 additions and 0 deletions.
  1. +19 −0 doc/bugs/preprocessing_loop_control_too_tight.mdwn
@@ -0,0 +1,19 @@
+the preprocessing hook makes sure that no infinite loops occur by restricting the depth of nested directives to 3.
+
+this is insufficient in some situations in which sidebars are conditionally assembled from templates.
+
+given there are no limits on the number of directives per page and the number of edits a user can do in a particular time frame, i assume that raising that limit slightly won't make the DoS attacks that can be done against ikiwiki too much worse.
+
+i'd like to suggest 8 as a new value for recursion depth limit. most people can wrap their minds around a depth 3 nested directive setup, but when you reach a depth of 8, it's likely to be easier to write a dedicated plugin.
+
+<code><pre>
+diff --git a/IkiWiki.pm b/IkiWiki.pm
+index 75c9579..ad0f8b0 100644
+--- a/IkiWiki.pm
++++ b/IkiWiki.pm
+@@ -1487 +1487 @@ sub preprocess ($$$;$$) {
+- if ($preprocessing{$page}++ > 3) {
++ if ($preprocessing{$page}++ > 8) {
+</pre></code>
+
+[[!tag patch]]

0 comments on commit ecc9dd1

Please sign in to comment.