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

Commit 58fb17d

Browse files
committed
Stop returning EventContext from _check_event_auth
We now always return the same object that was passed in, so this is redundant.
1 parent 77c6b2d commit 58fb17d

File tree

3 files changed

+12
-35
lines changed

3 files changed

+12
-35
lines changed

synapse/handlers/federation_event.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ async def on_send_membership_event(
335335
event.internal_metadata.send_on_behalf_of = origin
336336

337337
context = await self._state_handler.compute_event_context(event)
338-
context = await self._check_event_auth(origin, event, context)
338+
await self._check_event_auth(origin, event, context)
339339
if context.rejected:
340340
raise SynapseError(
341341
403, f"{event.membership} event was rejected", Codes.FORBIDDEN
@@ -471,7 +471,7 @@ async def process_remote_join(
471471
partial_state=partial_state,
472472
)
473473

474-
context = await self._check_event_auth(origin, event, context)
474+
await self._check_event_auth(origin, event, context)
475475
if context.rejected:
476476
raise SynapseError(400, "Join event was rejected")
477477

@@ -1098,11 +1098,7 @@ async def _process_received_pdu(
10981098
event,
10991099
state_ids_before_event=state_ids,
11001100
)
1101-
context = await self._check_event_auth(
1102-
origin,
1103-
event,
1104-
context,
1105-
)
1101+
await self._check_event_auth(origin, event, context)
11061102
except AuthError as e:
11071103
# FIXME richvdh 2021/10/07 I don't think this is reachable. Let's log it
11081104
# for now
@@ -1478,11 +1474,8 @@ async def prep(event: EventBase) -> None:
14781474
)
14791475

14801476
async def _check_event_auth(
1481-
self,
1482-
origin: str,
1483-
event: EventBase,
1484-
context: EventContext,
1485-
) -> EventContext:
1477+
self, origin: str, event: EventBase, context: EventContext
1478+
) -> None:
14861479
"""
14871480
Checks whether an event should be rejected (for failing auth checks).
14881481
@@ -1492,9 +1485,6 @@ async def _check_event_auth(
14921485
context:
14931486
The event context.
14941487
1495-
Returns:
1496-
The updated context object.
1497-
14981488
Raises:
14991489
AuthError if we were unable to find copies of the event's auth events.
15001490
(Most other failures just cause us to set `context.rejected`.)
@@ -1509,7 +1499,7 @@ async def _check_event_auth(
15091499
logger.warning("While validating received event %r: %s", event, e)
15101500
# TODO: use a different rejected reason here?
15111501
context.rejected = RejectedReason.AUTH_ERROR
1512-
return context
1502+
return
15131503

15141504
# next, check that we have all of the event's auth events.
15151505
#
@@ -1532,7 +1522,7 @@ async def _check_event_auth(
15321522
"While checking auth of %r against auth_events: %s", event, e
15331523
)
15341524
context.rejected = RejectedReason.AUTH_ERROR
1535-
return context
1525+
return
15361526

15371527
# now check the auth rules pass against the room state before the event
15381528
# https://spec.matrix.org/v1.3/server-server-api/#checks-performed-on-receipt-of-a-pdu:
@@ -1551,7 +1541,7 @@ async def _check_event_auth(
15511541
if collections.Counter(event.auth_event_ids()) == collections.Counter(
15521542
calculated_auth_event_ids
15531543
):
1554-
return context
1544+
return
15551545

15561546
# otherwise, re-run the auth checks based on what we calculated.
15571547
calculated_auth_events = await self._store.get_events_as_list(
@@ -1591,8 +1581,6 @@ async def _check_event_auth(
15911581
)
15921582
context.rejected = RejectedReason.AUTH_ERROR
15931583

1594-
return context
1595-
15961584
async def _maybe_kick_guest_users(self, event: EventBase) -> None:
15971585
if event.type != EventTypes.GuestAccess:
15981586
return

tests/rest/client/test_third_party_rules.py

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
from synapse.api.errors import SynapseError
2222
from synapse.api.room_versions import RoomVersion
2323
from synapse.events import EventBase
24-
from synapse.events.snapshot import EventContext
2524
from synapse.events.third_party_rules import load_legacy_third_party_event_rules
2625
from synapse.rest import admin
2726
from synapse.rest.client import account, login, profile, room
@@ -113,14 +112,8 @@ async def approve_all_signature_checking(
113112

114113
# Have this homeserver skip event auth checks. This is necessary due to
115114
# event auth checks ensuring that events were signed by the sender's homeserver.
116-
async def _check_event_auth(
117-
origin: str,
118-
event: EventBase,
119-
context: EventContext,
120-
*args: Any,
121-
**kwargs: Any,
122-
) -> EventContext:
123-
return context
115+
async def _check_event_auth(origin: Any, event: Any, context: Any) -> None:
116+
pass
124117

125118
hs.get_federation_event_handler()._check_event_auth = _check_event_auth # type: ignore[assignment]
126119

tests/test_federation.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,12 +81,8 @@ def setUp(self):
8181
self.handler = self.homeserver.get_federation_handler()
8282
federation_event_handler = self.homeserver.get_federation_event_handler()
8383

84-
async def _check_event_auth(
85-
origin,
86-
event,
87-
context,
88-
):
89-
return context
84+
async def _check_event_auth(origin, event, context):
85+
pass
9086

9187
federation_event_handler._check_event_auth = _check_event_auth
9288
self.client = self.homeserver.get_federation_client()

0 commit comments

Comments
 (0)