Package: python-werkzeug
Version: 0.9.6+dfsg-1
Severity: important
Justification: the issue breaks German instance of MoinMoin wiki

Hi,

I have just upgraded my python-moinmoin instance from Debian wheezy to Debian jessie and stumbled into a very similar error as reported as #739077 [1].

The MoinMoin instance reports this message when clicking on "AktuelleƄnderungen" (i.e., RecentChange) on all wiki pages:

```
[Fri Mar 04 12:58:20.079030 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: Traceback (most recent call last):, referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079114 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 558, in run, referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079504 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: protocolStatus, appStatus = self.server.handler(self), referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079552 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: File "/usr/lib/python2.7/dist-packages/flup/server/fcgi_base.py", line 1118, in handler, referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079602 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: result = self.application(environ, start_response), referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079646 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: File "/usr/lib/python2.7/dist-packages/werkzeug/wsgi.py", line 567, in __call__, referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079872 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: cleaned_path = cleaned_path.encode(sys.getfilesystemencoding()), referer: https://<moinmoin-server>/StartSeite [Fri Mar 04 12:58:20.079935 2016] [cgi:error] [pid 350] [client <some-ip>:<some-port>] AH01215: UnicodeEncodeError: 'ascii' codec can't encode character u'\\xc4' in position 9: ordinal not in range(128), referer: https://<moinmoin-server>/StartSeite
```

For now, I have fixed my system by applying this patch to werkzeug's wsgi.py, but I am sure that is only a work-around:

```
--- /usr/lib/python2.7/dist-packages/werkzeug/wsgi.py.orig 2016-03-04 13:20:59.000000000 +0100 +++ /usr/lib/python2.7/dist-packages/werkzeug/wsgi.py 2016-03-04 13:20:22.000000000 +0100
@@ -564,7 +564,10 @@
     def __call__(self, environ, start_response):
         cleaned_path = get_path_info(environ)
         if PY2:
-            cleaned_path = cleaned_path.encode(sys.getfilesystemencoding())
+            try:
+ cleaned_path = cleaned_path.encode(sys.getfilesystemencoding())
+            except (UnicodeEncodeError):
+                pass
         # sanitize the path for non unix systems
         cleaned_path = cleaned_path.strip('/')
         for sep in os.sep, os.altsep:
```

light+love,
Mike


[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=739077
--

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: mike.gabr...@das-netzwerkteam.de, http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/mailxchange/kronolith/fb.php?u=m.gabriel%40das-netzwerkteam.de

Attachment: pgp7xr2WTXXZe.pgp
Description: Digitale PGP-Signatur

_______________________________________________
Python-modules-team mailing list
Python-modules-team@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/python-modules-team

Reply via email to