summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Cloke <clokep@users.noreply.github.com>2020-10-05 10:24:17 -0400
committerGitHub <noreply@github.com>2020-10-05 10:24:17 -0400
commitda11cc22be37e8858c19774779ad7d02d64a458c (patch)
tree9fde7b9187b6ae784aa8f762309bd7a4d7636537
parentAllow ThirdPartyEventRules modules to manipulate public room state (#8292) (diff)
downloadsynapse-da11cc22be37e8858c19774779ad7d02d64a458c.tar.xz
Ensure that event.redacts is the proper type before handling it (#8457)
This fixes a bug when backfilling invalid events.
-rw-r--r--changelog.d/8457.bugfix1
-rw-r--r--synapse/event_auth.py2
2 files changed, 3 insertions, 0 deletions
diff --git a/changelog.d/8457.bugfix b/changelog.d/8457.bugfix
new file mode 100644

index 0000000000..545b06d180 --- /dev/null +++ b/changelog.d/8457.bugfix
@@ -0,0 +1 @@ +Fix a bug where backfilling a room with an event that was missing the `redacts` field would break. diff --git a/synapse/event_auth.py b/synapse/event_auth.py
index 8c907ad596..56f8dc9caf 100644 --- a/synapse/event_auth.py +++ b/synapse/event_auth.py
@@ -446,6 +446,8 @@ def check_redaction( if room_version_obj.event_format == EventFormatVersions.V1: redacter_domain = get_domain_from_id(event.event_id) + if not isinstance(event.redacts, str): + return False redactee_domain = get_domain_from_id(event.redacts) if redacter_domain == redactee_domain: return True