Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Commit

Permalink
Host cache_joined_hosts_for_event to caller (#10986)
Browse files Browse the repository at this point in the history
`_check_event_auth` is only called in two places, and only one of those sets
`send_on_behalf_of`. Warming the cache isn't really part of auth anyway, so
moving it out makes a lot more sense.
  • Loading branch information
richvdh authored Oct 5, 2021
1 parent d099535 commit 787af4a
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
1 change: 1 addition & 0 deletions changelog.d/10986.misc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Clean up some of the federation event authentication code for clarity.
18 changes: 8 additions & 10 deletions synapse/handlers/federation_event.py
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,11 @@ async def on_send_membership_event(
)

# all looks good, we can persist the event.

# First, precalculate the joined hosts so that the federation sender doesn't
# need to.
await self._event_creation_handler.cache_joined_hosts_for_event(event, context)

await self._run_push_actions_and_persist_event(event, context)
return event, context

Expand Down Expand Up @@ -1299,17 +1304,10 @@ async def _check_event_auth(
except AuthError as e:
logger.warning("Failed auth resolution for %r because %s", event, e)
context.rejected = RejectedReason.AUTH_ERROR
return context

if not context.rejected:
await self._check_for_soft_fail(event, state, backfilled, origin=origin)
await self._maybe_kick_guest_users(event)

# If we are going to send this event over federation we precaclculate
# the joined hosts.
if event.internal_metadata.get_send_on_behalf_of():
await self._event_creation_handler.cache_joined_hosts_for_event(
event, context
)
await self._check_for_soft_fail(event, state, backfilled, origin=origin)
await self._maybe_kick_guest_users(event)

return context

Expand Down

0 comments on commit 787af4a

Please sign in to comment.