Fixed #18340 -- Fixed formtools form_hmac with Unicode input

Using cPickle, two apparently identical Unicode strings could
generate different pickled results depending on previous operations
on those strings.
This commit is contained in:
Claude Paroz 2012-05-19 12:10:22 +02:00
parent 2aebd79a9c
commit 1a66f53f94
2 changed files with 4 additions and 9 deletions

View File

@ -156,9 +156,6 @@ class PreviewTests(TestCase):
class FormHmacTests(unittest.TestCase):
"""
Same as SecurityHashTests, but with form_hmac
"""
def test_textfield_hash(self):
"""
@ -166,8 +163,8 @@ class FormHmacTests(unittest.TestCase):
leading/trailing whitespace so as to be friendly to broken browsers that
submit it (usually in textareas).
"""
f1 = HashTestForm({'name': 'joe', 'bio': 'Nothing notable.'})
f2 = HashTestForm({'name': ' joe', 'bio': 'Nothing notable. '})
f1 = HashTestForm({'name': u'joe', 'bio': u'Nothing notable.'})
f2 = HashTestForm({'name': u' joe', 'bio': u'Nothing notable. '})
hash1 = utils.form_hmac(f1)
hash2 = utils.form_hmac(f2)
self.assertEqual(hash1, hash2)

View File

@ -1,6 +1,4 @@
try:
import cPickle as pickle
except ImportError:
# Do not try cPickle here (see #18340)
import pickle
from django.utils.crypto import salted_hmac