Description
In a wiki farm the links to the help pages in the page editor (editor=text) can lead to another wiki from the same farm.
Steps to reproduce
- Have a wiki farm running with a a single running process for the requests (for example with WSGIDaemonProcess moin-wsgi ... processes=1 threads=1).
- Restart the web server.
Access one wiki (http://test/wiki1)
Edit any page on this wiki: http://test/wiki1/?action=edit&editor=text
Review the urls of the help links (http://test/wiki1/HilfeZumEditieren in german language, ...)
correct url
Access another wiki (http://test/wiki2)
Edit any page on this wiki: http://test/wiki2/?action=edit&editor=text
Review the urls of the help links (http://test/wiki1/HilfeZumEditieren in german language, ...)
misleading url
- Restart the web server.
Access the other wiki (http://test/wiki2)
Edit any page on this wiki: http://test/wiki2/?action=edit&editor=text
Review the urls of the help links (http://test/wiki2/HilfeZumEditieren in german language, ...)
correct url
Access another wiki (http://test/wiki1)
Edit any page on this wiki: http://test/wiki1/?action=edit&editor=text
Review the urls of the help links (http://test/wiki2/HilfeZumEditieren in german language, ...)
misleading url
When another process starts serving it will always use the url base of the first wiki accessed for the links.
The above always leads to the situation that the base url of the first wiki accessed will be used for all further requests within a process.
Example
Component selection
I think the quickhelp is showed by line 489 in sendEditor() in MoinMoin/EditPage.py:
request.write(_(quickhelp, wiki=True))
- But I have no clue where this call is processed further on.
- I grepped through the source and this seems to be the only use of request.write(..., wiki=True).
Details
MoinMoin Version |
1.9.0 |
OS and Version |
SunOS sun 5.10 Generic_142901-02 i86pc i386 i86pc |
Python Version |
Python 2.6.1 |
Server Setup |
Apache 2.2.11 with mod_wsgi/3.1 |
Server Details |
mpm_prefork |
Language you are using the wiki in (set in the browser/UserPreferences) |
de |
To spot the problem more easily I reduced the number of processes / threads to 1 with WSGIDaemonProcess moin-wsgi ... processes=1 threads=1.
The problem is there with or without shared underlay.
Workaround
Discussion
Tested: Fixed by http://hg.moinmo.in/moin/1.9/rev/af9872c96dcb .
Plan
- Priority:
- Assigned to:
Status: fixed by http://hg.moinmo.in/moin/1.9/rev/af9872c96dcb (please test it)