summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-11-14 11:32:43 +0000
committerGitHub <noreply@github.com>2018-11-14 11:32:43 +0000
commit4b60c969d82c22f78e04bafe75e25c480daeba5c (patch)
tree54f8f3a19adce91f75e3851b8d3192c1674e7971 /synapse
parentMerge pull request #4113 from matrix-org/dbkr/e2e_backup_versions_are_numbers (diff)
parentchangelog (diff)
downloadsynapse-4b60c969d82c22f78e04bafe75e25c480daeba5c.tar.xz
Merge pull request #4184 from matrix-org/rav/fix_public_consent
Fix an internal server error when viewing the public privacy policy
Diffstat (limited to 'synapse')
-rw-r--r--synapse/rest/consent/consent_resource.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/synapse/rest/consent/consent_resource.py b/synapse/rest/consent/consent_resource.py
index 8009b7ff1c..ad525b22e1 100644
--- a/synapse/rest/consent/consent_resource.py
+++ b/synapse/rest/consent/consent_resource.py
@@ -142,10 +142,10 @@ class ConsentResource(Resource):
         userhmac = None
         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)
+        if not public_version:
+            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")