From b7f0398c15cd2a060b84d178d7fba60add7a96e7 Mon Sep 17 00:00:00 2001 From: Magnus Hagander Date: Sat, 19 Jan 2019 20:12:52 +0100 Subject: [PATCH] Fix unicode for hashlib operations --- pgweb/misc/views.py | 2 +- pgweb/util/middleware.py | 2 +- tools/purgehook/purgehook.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pgweb/misc/views.py b/pgweb/misc/views.py index a70b7633..c8d7e2db 100644 --- a/pgweb/misc/views.py +++ b/pgweb/misc/views.py @@ -21,7 +21,7 @@ from .forms import SubmitBugForm def _make_bugs_messageid(bugid): return "<{0}-{1}@postgresql.org>".format( bugid, - hashlib.md5("{0}-{1}".format(os.getpid(), time.time())).hexdigest()[:16], + hashlib.md5("{0}-{1}".format(os.getpid(), time.time()).encode('ascii')).hexdigest()[:16], ) diff --git a/pgweb/util/middleware.py b/pgweb/util/middleware.py index 941de86e..fa7803f7 100644 --- a/pgweb/util/middleware.py +++ b/pgweb/util/middleware.py @@ -38,7 +38,7 @@ class PgMiddleware(object): response['x-do-esi'] = "1" tlist.remove('base/esi.html') if tlist: - response['xkey'] = ' '.join(["pgwt_{0}".format(hashlib.md5(t).hexdigest()) for t in tlist]) + response['xkey'] = ' '.join(["pgwt_{0}".format(hashlib.md5(t.encode('ascii')).hexdigest()) for t in tlist]) # Set security headers sources = OrderedDict([ diff --git a/tools/purgehook/purgehook.py b/tools/purgehook/purgehook.py index 291fdac0..a4a6131a 100755 --- a/tools/purgehook/purgehook.py +++ b/tools/purgehook/purgehook.py @@ -28,7 +28,7 @@ if __name__ == "__main__": tmpl = l[len('templates/'):].strip() if tmpl not in BANNED_TEMPLATES: curs.execute("SELECT varnish_purge_xkey(%(key)s)", { - 'key': 'pgwt_{0}'.format(hashlib.md5(tmpl).hexdigest()), + 'key': 'pgwt_{0}'.format(hashlib.md5(tmpl.encode('ascii')).hexdigest()), }) elif l.startswith('media/'): # For media we can't xkey, but the URL is exact so we can