moinwiki / moin

MoinMoin Wiki Development (2.0+), unstable, for production please use 1.9.x.
https://moinmo.in/
Other
304 stars 93 forks source link

Transclusion should detect circular inclusions and avoid infinite recursion #80

Closed ThomasWaldmann closed 12 years ago

ThomasWaldmann commented 13 years ago

Original report by hacklab (Bitbucket: hacklab, GitHub: hacklab).


if you have pageA including pageB, pageB includes pageC and pageC includes pageA, you get Internal Server Error while rendering page.

ThomasWaldmann commented 12 years ago

Original comment by RogerHaase (Bitbucket: RogerHaase, GitHub: RogerHaase).


fixed by 7275fd6533b2 (bb)

ThomasWaldmann commented 12 years ago

Original comment by RogerHaase (Bitbucket: RogerHaase, GitHub: RogerHaase).


After the above fix, there is an additional issue:

If A includes B; B includes C; C includes D, and D includes B: then the recursion error message will display correctly on pages B, C, and D, but attempts to display page A will result in a recursion loop.

See http://test.moinmo.in/transloopB, etc.

ThomasWaldmann commented 13 years ago

Original comment by Thomas Waldmann (Bitbucket: thomaswaldmann, GitHub: thomaswaldmann).


after applying the fix <<changeset 76108d59b0f7 (bb)>> for the main issue, there is one small issue left:

if A include B and B includes A, when viewing page B, it tells "recursive include of B forbidden". (should tell "A").