diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2009-12-12 05:25:50 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2009-12-12 05:25:50 +0000 |
| commit | 7cb8892fdb2a5437240e0d66b4eb5d1857820c41 (patch) | |
| tree | 0cd3fe57d73a9c05903d9ce36ddd8493f82ac86a /django | |
| parent | dd27fe74c7546e01e32438579a8db575e8f097ce (diff) | |
Fixed #12362 -- Corrected Python 2.4 incompatibility with hmac constructor in contrib.messages. Thanks to Jeremy Dunck for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@11814 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/messages/storage/cookie.py | 5 | ||||
| -rw-r--r-- | django/utils/hashcompat.py | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/django/contrib/messages/storage/cookie.py b/django/contrib/messages/storage/cookie.py index 248791d3e7..1ac1afe550 100644 --- a/django/contrib/messages/storage/cookie.py +++ b/django/contrib/messages/storage/cookie.py @@ -1,7 +1,7 @@ import hmac from django.conf import settings -from django.utils.hashcompat import sha_constructor +from django.utils.hashcompat import sha_hmac from django.contrib.messages import constants from django.contrib.messages.storage.base import BaseStorage, Message from django.utils import simplejson as json @@ -41,7 +41,6 @@ class MessageDecoder(json.JSONDecoder): decoded = super(MessageDecoder, self).decode(s, **kwargs) return self.process_messages(decoded) - class CookieStorage(BaseStorage): """ Stores messages in a cookie. @@ -103,7 +102,7 @@ class CookieStorage(BaseStorage): SECRET_KEY, modified to make it unique for the present purpose. """ key = 'django.contrib.messages' + settings.SECRET_KEY - return hmac.new(key, value, sha_constructor).hexdigest() + return hmac.new(key, value, sha_hmac).hexdigest() def _encode(self, messages, encode_empty=False): """ diff --git a/django/utils/hashcompat.py b/django/utils/hashcompat.py index 8880d92646..b1e6021890 100644 --- a/django/utils/hashcompat.py +++ b/django/utils/hashcompat.py @@ -8,9 +8,13 @@ available. try: import hashlib md5_constructor = hashlib.md5 + md5_hmac = md5_constructor sha_constructor = hashlib.sha1 + sha_hmac = sha_constructor except ImportError: import md5 md5_constructor = md5.new + md5_hmac = md5 import sha sha_constructor = sha.new + sha_hmac = sha |
