summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2009-12-12 05:25:50 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2009-12-12 05:25:50 +0000
commit7cb8892fdb2a5437240e0d66b4eb5d1857820c41 (patch)
tree0cd3fe57d73a9c05903d9ce36ddd8493f82ac86a /django
parentdd27fe74c7546e01e32438579a8db575e8f097ce (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.py5
-rw-r--r--django/utils/hashcompat.py4
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