diff options
author | Richard van der Hoff <richard@matrix.org> | 2018-11-14 10:21:07 +0000 |
---|---|---|
committer | Andrew Morgan <andrew@amorgan.xyz> | 2019-02-13 14:24:42 +0000 |
commit | 7cee15c47dcc50d6a87c2d14a6c264faa7f332ad (patch) | |
tree | 9c4c58875a828141181e65f4b00b3b4f05990f53 /synapse/rest | |
parent | pep8 (diff) | |
download | synapse-7cee15c47dcc50d6a87c2d14a6c264faa7f332ad.tar.xz |
Fix an internal server error when viewing the public privacy policy
Diffstat (limited to 'synapse/rest')
-rw-r--r-- | synapse/rest/consent/consent_resource.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/synapse/rest/consent/consent_resource.py b/synapse/rest/consent/consent_resource.py index 8009b7ff1c..53d5fab914 100644 --- a/synapse/rest/consent/consent_resource.py +++ b/synapse/rest/consent/consent_resource.py @@ -143,9 +143,9 @@ class ConsentResource(Resource): has_consented = False public_version = username == "" if not public_version or not self.hs.config.user_consent_at_registration: - userhmac = parse_string(request, "h", required=True, encoding=None) + userhmac_bytes = parse_string(request, "h", required=True, encoding=None) - self._check_hash(username, userhmac) + self._check_hash(username, userhmac_bytes) if username.startswith('@'): qualified_user_id = username @@ -155,15 +155,18 @@ class ConsentResource(Resource): u = yield self.store.get_user_by_id(qualified_user_id) if u is None: raise NotFoundError("Unknown user") + has_consented = u["consent_version"] == version + userhmac = userhmac_bytes.decode("ascii") try: self._render_template( request, "%s.html" % (version,), user=username, - userhmac=userhmac.decode('ascii'), + userhmac=userhmac, version=version, - has_consented=has_consented, public_version=public_version, + has_consented=has_consented, + public_version=public_version, ) except TemplateNotFound: raise NotFoundError("Unknown policy version") |