Skip to content
Snippets Groups Projects
Unverified Commit b298de78 authored by Richard van der Hoff's avatar Richard van der Hoff Committed by GitHub
Browse files

Stop using BaseHandler in `FederationEventHandler` (#10745)

It's now only used in a couple of places, so we can drop it altogether.
parent 40a1fddd
No related branches found
No related tags found
No related merge requests found
Move `kick_guest_users` into `RoomMemberHandler`. Clean up some of the federation event authentication code for clarity.
Clean up some of the federation event authentication code for clarity.
...@@ -54,7 +54,6 @@ from synapse.event_auth import auth_types_for_event ...@@ -54,7 +54,6 @@ from synapse.event_auth import auth_types_for_event
from synapse.events import EventBase from synapse.events import EventBase
from synapse.events.snapshot import EventContext from synapse.events.snapshot import EventContext
from synapse.federation.federation_client import InvalidResponseError from synapse.federation.federation_client import InvalidResponseError
from synapse.handlers._base import BaseHandler
from synapse.logging.context import ( from synapse.logging.context import (
make_deferred_yieldable, make_deferred_yieldable,
nested_logging_context, nested_logging_context,
...@@ -117,7 +116,7 @@ class _NewEventInfo: ...@@ -117,7 +116,7 @@ class _NewEventInfo:
claimed_auth_event_map: StateMap[EventBase] claimed_auth_event_map: StateMap[EventBase]
class FederationEventHandler(BaseHandler): class FederationEventHandler:
"""Handles events that originated from federation. """Handles events that originated from federation.
Responsible for handing incoming events and passing them on to the rest Responsible for handing incoming events and passing them on to the rest
...@@ -125,8 +124,6 @@ class FederationEventHandler(BaseHandler): ...@@ -125,8 +124,6 @@ class FederationEventHandler(BaseHandler):
""" """
def __init__(self, hs: "HomeServer"): def __init__(self, hs: "HomeServer"):
super().__init__(hs)
self.store = hs.get_datastore() self.store = hs.get_datastore()
self.storage = hs.get_storage() self.storage = hs.get_storage()
self.state_store = self.storage.state self.state_store = self.storage.state
...@@ -137,11 +134,15 @@ class FederationEventHandler(BaseHandler): ...@@ -137,11 +134,15 @@ class FederationEventHandler(BaseHandler):
self._message_handler = hs.get_message_handler() self._message_handler = hs.get_message_handler()
self.action_generator = hs.get_action_generator() self.action_generator = hs.get_action_generator()
self._state_resolution_handler = hs.get_state_resolution_handler() self._state_resolution_handler = hs.get_state_resolution_handler()
# avoid a circular dependency by deferring execution here
self._get_room_member_handler = hs.get_room_member_handler
self.federation_client = hs.get_federation_client() self.federation_client = hs.get_federation_client()
self.third_party_event_rules = hs.get_third_party_event_rules() self.third_party_event_rules = hs.get_third_party_event_rules()
self._notifier = hs.get_notifier()
self.is_mine_id = hs.is_mine_id self.is_mine_id = hs.is_mine_id
self._server_name = hs.hostname
self._instance_name = hs.get_instance_name() self._instance_name = hs.get_instance_name()
self.config = hs.config self.config = hs.config
...@@ -222,7 +223,7 @@ class FederationEventHandler(BaseHandler): ...@@ -222,7 +223,7 @@ class FederationEventHandler(BaseHandler):
# Note that if we were never in the room then we would have already # Note that if we were never in the room then we would have already
# dropped the event, since we wouldn't know the room version. # dropped the event, since we wouldn't know the room version.
is_in_room = await self._event_auth_handler.check_host_in_room( is_in_room = await self._event_auth_handler.check_host_in_room(
room_id, self.server_name room_id, self._server_name
) )
if not is_in_room: if not is_in_room:
logger.info( logger.info(
...@@ -435,7 +436,7 @@ class FederationEventHandler(BaseHandler): ...@@ -435,7 +436,7 @@ class FederationEventHandler(BaseHandler):
server from invalid events (there is probably no point in trying to server from invalid events (there is probably no point in trying to
re-fetch invalid events from every other HS in the room.) re-fetch invalid events from every other HS in the room.)
""" """
if dest == self.server_name: if dest == self._server_name:
raise SynapseError(400, "Can't backfill from self.") raise SynapseError(400, "Can't backfill from self.")
events = await self.federation_client.backfill( events = await self.federation_client.backfill(
...@@ -1030,7 +1031,7 @@ class FederationEventHandler(BaseHandler): ...@@ -1030,7 +1031,7 @@ class FederationEventHandler(BaseHandler):
room_creator = create_event.content.get(EventContentFields.ROOM_CREATOR) room_creator = create_event.content.get(EventContentFields.ROOM_CREATOR)
if ( if (
not room_version.msc2716_historical not room_version.msc2716_historical
or not self.hs.config.experimental.msc2716_enabled or not self.config.experimental.msc2716_enabled
or marker_event.sender != room_creator or marker_event.sender != room_creator
): ):
return return
...@@ -1349,7 +1350,7 @@ class FederationEventHandler(BaseHandler): ...@@ -1349,7 +1350,7 @@ class FederationEventHandler(BaseHandler):
current_state_map = await self.state_handler.get_current_state(event.room_id) current_state_map = await self.state_handler.get_current_state(event.room_id)
current_state = list(current_state_map.values()) current_state = list(current_state_map.values())
await self.hs.get_room_member_handler().kick_guest_users(current_state) await self._get_room_member_handler().kick_guest_users(current_state)
async def _check_for_soft_fail( async def _check_for_soft_fail(
self, self,
...@@ -1804,7 +1805,7 @@ class FederationEventHandler(BaseHandler): ...@@ -1804,7 +1805,7 @@ class FederationEventHandler(BaseHandler):
event_pos = PersistedEventPosition( event_pos = PersistedEventPosition(
self._instance_name, event.internal_metadata.stream_ordering self._instance_name, event.internal_metadata.stream_ordering
) )
self.notifier.on_new_room_event( self._notifier.on_new_room_event(
event, event_pos, max_stream_token, extra_users=extra_users event, event_pos, max_stream_token, extra_users=extra_users
) )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment