summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt6
-rw-r--r--pyramid/session.py18
2 files changed, 19 insertions, 5 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 550dd0a39..feea11def 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -15,6 +15,12 @@ Bug Fixes
allowing traversal to continue.
See https://github.com/Pylons/pyramid/issues/1104
+Deprecations
+------------
+
+- The ``UnencryptedCookieSessionFactoryConfig`` has been deprecated and will
+ be replaced by the ``SignedCookieSessionFactory``.
+
1.5a2 (2013-09-22)
==================
diff --git a/pyramid/session.py b/pyramid/session.py
index 800400223..803d56066 100644
--- a/pyramid/session.py
+++ b/pyramid/session.py
@@ -1,10 +1,10 @@
-import hashlib
-from hashlib import sha1
import base64
import binascii
+import hashlib
import hmac
-import time
import os
+import time
+import warnings
from zope.interface import implementer
@@ -55,7 +55,7 @@ def signed_serialize(data, secret):
response.set_cookie('signed_cookie', cookieval)
"""
pickled = pickle.dumps(data, pickle.HIGHEST_PROTOCOL)
- sig = hmac.new(bytes_(secret), pickled, sha1).hexdigest()
+ sig = hmac.new(bytes_(secret), pickled, hashlib.sha1).hexdigest()
return sig + native_(base64.b64encode(pickled))
def signed_deserialize(serialized, secret, hmac=hmac):
@@ -79,7 +79,7 @@ def signed_deserialize(serialized, secret, hmac=hmac):
# Badly formed data can make base64 die
raise ValueError('Badly formed base64 data: %s' % e)
- sig = bytes_(hmac.new(bytes_(secret), pickled, sha1).hexdigest())
+ sig = bytes_(hmac.new(bytes_(secret), pickled, hashlib.sha1).hexdigest())
# Avoid timing attacks (see
# http://seb.dbzteam.org/crypto/python-oauth-timing-hmac.pdf)
@@ -424,6 +424,14 @@ def UnencryptedCookieSessionFactoryConfig(
is valid. Default: ``signed_deserialize`` (using pickle).
"""
+ warnings.warn(
+ ('The UnencryptedCookieSessionFactoryConfig is deprecated as of '
+ 'Pyramid 1.5, and will be replaced by the '
+ 'SignedCookieSessionFactory in future versions.'),
+ DeprecationWarning,
+ stacklevel=2
+ )
+
return BaseCookieSessionFactory(
lambda v: signed_serialize(v, secret),
lambda v: signed_deserialize(v, secret),