Package: python-moinmoin
Version: 1.9.8-1
Severity: important
Control: affects -1 wiki.debian.org
Tags: patch

On wiki.debian.org, the RecentChanges RSS feed causes a crash (see below).

The crash is caused by the following code in rss_rc.py:

        # prepare output
        out = StringIO.StringIO()
        handler = RssGenerator(out)

        # start SAX stream
        handler.startDocument()
        handler._write(
            u'<!--\n'

Essentially, rss_rc.py is mucking about in private members (_write) of
the RssGenerator class it inherited from parent classes from the Python
standard library (xml.sax.saxutils.XMLGenerator), which is a bad idea.

On wiki.debian.org, this change fixes the problem & is more correct:

-        handler._write(
+        out.write(

Interestingly, if I manually type the code from rss_rc.py into an
interactive Python shell, the crash does not occur. So there may be two
bugs here rather than one. I don't have time to figure out what is
causing the difference between the WSGI and Python shell environments
but that shouldn't be needed if the correct thing is done instead.

Please get the fix above included upstream, in unstable and stable:

https://www.debian.org/doc/manuals/developers-reference/pkgs.html#upload-stable

mod_wsgi (pid=1755): Exception occurred processing WSGI script 
'/srv/wiki.debian.org/bin/moin.wsgi'.
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 588, in 
__call__
    return self.app(environ, start_response)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 264, in 
__call__
    response = run(context)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 89, in run
    response = dispatch(request, context, action_name)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 137, in 
dispatch
    response = handle_action(context, pagename, action_name)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/wsgiapp.py", line 203, in 
handle_action
    handler(context.page.page_name, context)
  File "/usr/lib/python2.7/dist-packages/MoinMoin/action/rss_rc.py", line 178, 
in execute
    handler._write(
AttributeError: RssGenerator instance has no attribute '_write'

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing'), (860, 'testing-proposed-updates'), (850, 
'buildd-testing-proposed-updates'), (800, 'unstable'), (790, 
'buildd-unstable'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.0.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages python-moinmoin depends on:
ii  python                2.7.9-1
ii  python-parsedatetime  1.4-1
ii  python-passlib        1.6.1-1.3
ii  python-pygments       2.0.1+dfsg-1.1
ii  python-recaptcha      1.0.6-1
ii  python-werkzeug       0.9.6+dfsg-1

Versions of packages python-moinmoin recommends:
ii  exim4-daemon-light [mail-transport-agent]  4.85-3
pn  fckeditor                                  <none>
pn  libapache2-mod-wsgi | httpd-cgi            <none>
ii  python-xapian                              1.2.21-1
pn  python-xappy                               <none>

Versions of packages python-moinmoin suggests:
pn  antiword                    <none>
pn  catdoc                      <none>
pn  cifs-utils                  <none>
pn  docbook-dsssl               <none>
ii  poppler-utils [xpdf-utils]  0.26.5-2
pn  python-4suite-xml           <none>
ii  python-docutils             0.12+dfsg-1
pn  python-flup                 <none>
pn  python-gdchart              <none>
ii  python-ldap                 2.4.10-1
pn  python-mysqldb              <none>
pn  python-openid               <none>
pn  python-pyxmpp               <none>
ii  python-tz                   2012c+dfsg-0.1
pn  python-xml                  <none>
ii  wamerican [wordlist]        7.1-1
ii  wbritish [wordlist]         7.1-1
ii  wspanish [wordlist]         1.0.27

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to