diff options
author | Marcel Hellkamp <marc@gsites.de> | 2011-10-24 17:43:43 +0200 |
---|---|---|
committer | Marcel Hellkamp <marc@gsites.de> | 2011-10-24 17:43:43 +0200 |
commit | f1b5a3a6050ae07255b4294c6022ad06359179a8 (patch) | |
tree | 4a6fdd9817b384b737363ef4daa5c5f2fa4c0ba9 | |
parent | 779510caccaedfab14837693f8e0edf749b63ef9 (diff) | |
download | bottle-f1b5a3a6050ae07255b4294c6022ad06359179a8.tar.gz |
Fix python 3 unicode error in encode/decode_cookie. (fix #241)
Thanks to Jaimie Murdock for the bug report.
-rwxr-xr-x | bottle.py | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1848,7 +1848,7 @@ def _lscmp(a, b): def cookie_encode(data, key): ''' Encode and sign a pickle-able object. Return a (byte) string ''' msg = base64.b64encode(pickle.dumps(data, -1)) - sig = base64.b64encode(hmac.new(key, msg).digest()) + sig = base64.b64encode(hmac.new(tob(key), msg).digest()) return tob('!') + sig + tob('?') + msg @@ -1857,7 +1857,7 @@ def cookie_decode(data, key): data = tob(data) if cookie_is_encoded(data): sig, msg = data.split(tob('?'), 1) - if _lscmp(sig[1:], base64.b64encode(hmac.new(key, msg).digest())): + if _lscmp(sig[1:], base64.b64encode(hmac.new(tob(key), msg).digest())): return pickle.loads(base64.b64decode(msg)) return None |