diff options
author | Marcel Hellkamp <marc@gsites.de> | 2019-12-01 16:32:18 +0100 |
---|---|---|
committer | Marcel Hellkamp <marc@gsites.de> | 2019-12-01 16:34:11 +0100 |
commit | 774e1c7bbb67b813a38a5fa215dd3949289176ef (patch) | |
tree | 6822421d3367662d3c8e7ec614c0ad3bb58cda93 | |
parent | ce00d547a663a5174501988ab6b09ca2fb08eee5 (diff) | |
download | bottle-774e1c7bbb67b813a38a5fa215dd3949289176ef.tar.gz |
fix #1181: digestmod parameter is now required since Python 3.8
Previous fix did not work
-rw-r--r-- | bottle.py | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -36,7 +36,7 @@ if __name__ == '__main__': import gevent.monkey; gevent.monkey.patch_all() import base64, cgi, email.utils, functools, hmac, itertools, mimetypes,\ - os, re, subprocess, sys, tempfile, threading, time, warnings + os, re, subprocess, sys, tempfile, threading, time, warnings, hashlib from datetime import date as datedate, datetime, timedelta from tempfile import TemporaryFile @@ -2603,7 +2603,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(tob(key), msg, digestmod="md5").digest()) + sig = base64.b64encode(hmac.new(tob(key), msg, digestmod=hashlib.md5).digest()) return tob('!') + sig + tob('?') + msg @@ -2612,7 +2612,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(tob(key), msg, digestmod="md5").digest())): + if _lscmp(sig[1:], base64.b64encode(hmac.new(tob(key), msg, digestmod=hashlib.md5).digest())): return pickle.loads(base64.b64decode(msg)) return None |