#32191: Not RFC 6265 compliant cookies in contrib.messages.
----------------------------------+---------------------------------------
Reporter: Nico Giefing | Owner: Craig Smith
Type: Bug | Status: assigned
Component: contrib.messages | Version: 3.1
Severity: Normal | Resolution:
Keywords: Cookie malformed | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
----------------------------------+---------------------------------------
Comment (by Craig Smith):
Hi Florian, thanks for your feedback. I see what you mean about the Euro
symbol and unicode characters in general. To get around this I added a
`charset` parameter to the `compress/decompress` methods. So we can use
utf-8 by default, but latin-1 where required.
We need to use latin-1 in the `signing.dumps/loads` functions, since the
`signing.JSONSerializer` uses it. Swapping it out leads us into that
hornet's nest.
The two tests that require latin-1 are
`messages_tests.test_mixins.test_set_messages_success` and
`messages_tests.test_cookie.test_cookie_settings`. This happens because of
one or two calls to `storage.add` and `storage.update` . As an experiment
I replaced all occurrences of latin-1 and iso-8859-1 with utf-8 to see if
those tests would pass - they wouldn't. So it's from a dependency outside
of django, most likely to do with WSGI, which uses latin-1 somehow. The
bytes in particular are 0x91 and 0x92, which are left and right single
quote characters in latin-1. Maybe we should open another ticket about
removing the iso-8859-1 charset. Or at least pushing it back further
toward the dependency boundary.
I will get back onto this in a few days and come up with those extra
tests. And then probably need to add documentation about the new methods.
--
Ticket URL: <https://code.djangoproject.com/ticket/32191#comment:24>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/063.3325c424374b4e9d293b3cdf15120cb9%40djangoproject.com.