mirror of
https://github.com/element-hq/synapse.git
synced 2024-11-22 17:46:08 +03:00
Host cache_joined_hosts_for_event
to caller (#10986)
`_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.
This commit is contained in:
parent
d099535deb
commit
787af4a106
2 changed files with 9 additions and 10 deletions
1
changelog.d/10986.misc
Normal file
1
changelog.d/10986.misc
Normal file
|
@ -0,0 +1 @@
|
|||
Clean up some of the federation event authentication code for clarity.
|
|
@ -356,6 +356,11 @@ class FederationEventHandler:
|
|||
)
|
||||
|
||||
# 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
|
||||
|
||||
|
@ -1299,17 +1304,10 @@ class FederationEventHandler:
|
|||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue