Allow message-ids with a slash in them
authorMagnus Hagander <magnus@hagander.net>
Wed, 21 Sep 2016 11:45:01 +0000 (13:45 +0200)
committerMagnus Hagander <magnus@hagander.net>
Wed, 21 Sep 2016 11:45:01 +0000 (13:45 +0200)
This is specifically allowed in the standard for message-ids, and broke
rendinering of about 300 messages in total.

This requires reordering the regexps for the message-id links to check
for /flat/ and /raw/ first, sinc ethey would otherwise be considered a
part of the messageid.

django/archives/urls.py

index 43b2530a96ccc5583aa74756fa64b15267b92f73..18d3d20d008893ab5a37e711d2c8130a73bddf96 100644 (file)
@@ -24,9 +24,9 @@ urlpatterns = patterns('',
     (r'^(?P<prefix>message-id/(|flat/|raw/))<(?P<msgid>.*)>$', 'archives.mailarchives.views.re_redirect'),
 
     # Match regular messages
-    (r'^message-id/([^/]+)$', 'archives.mailarchives.views.message'),
-    (r'^message-id/flat/([^/]+)$', 'archives.mailarchives.views.message_flat'),
-    (r'^message-id/raw/([^/]+)$', 'archives.mailarchives.views.message_raw'),
+    (r'^message-id/flat/(.+)$', 'archives.mailarchives.views.message_flat'),
+    (r'^message-id/raw/(.+)$', 'archives.mailarchives.views.message_raw'),
+    (r'^message-id/(.+)$', 'archives.mailarchives.views.message'),
 
     # Search
     (r'^archives-search/', 'archives.mailarchives.views.search'),