mirror of
https://git.anonymousland.org/anonymousland/synapse-product.git
synced 2024-12-18 08:04:21 -05:00
Fix how we check for self redaction
This commit is contained in:
parent
8df88b5ff3
commit
c64c3bb4c5
@ -729,10 +729,24 @@ class EventCreationHandler(object):
|
|||||||
assert not self.config.worker_app
|
assert not self.config.worker_app
|
||||||
|
|
||||||
if ratelimit:
|
if ratelimit:
|
||||||
is_admin_redaction = (
|
# We check if this is a room admin redacting an event so that we
|
||||||
event.type == EventTypes.Redaction
|
# can apply different ratelimiting. We do this by simply checking
|
||||||
and event.sender != requester.user.to_string()
|
# its not a self-redaction (to avoid having to look up whether the
|
||||||
|
# user is actually admin or not).
|
||||||
|
is_admin_redaction = False
|
||||||
|
if event.type == EventTypes.Redaction:
|
||||||
|
original_event = yield self.store.get_event(
|
||||||
|
event.redacts,
|
||||||
|
check_redacted=False,
|
||||||
|
get_prev_content=False,
|
||||||
|
allow_rejected=False,
|
||||||
|
allow_none=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
is_admin_redaction = (
|
||||||
|
original_event and event.sender != original_event.sender
|
||||||
|
)
|
||||||
|
|
||||||
yield self.base_handler.ratelimit(
|
yield self.base_handler.ratelimit(
|
||||||
requester, is_admin_redaction=is_admin_redaction
|
requester, is_admin_redaction=is_admin_redaction
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user