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

Commit a5889f9

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 2263b11 commit a5889f9

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
@@ -334,7 +334,7 @@ async def on_send_membership_event(
334334
event.internal_metadata.send_on_behalf_of = origin
335335

336336
context = await self._state_handler.compute_event_context(event)
337-
context = await self._check_event_auth(origin, event, context)
337+
await self._check_event_auth(origin, event, context)
338338
if context.rejected:
339339
raise SynapseError(
340340
403, f"{event.membership} event was rejected", Codes.FORBIDDEN
@@ -470,7 +470,7 @@ async def process_remote_join(
470470
partial_state=partial_state,
471471
)
472472

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

@@ -1095,11 +1095,7 @@ async def _process_received_pdu(
10951095
event,
10961096
state_ids_before_event=state_ids,
10971097
)
1098-
context = await self._check_event_auth(
1099-
origin,
1100-
event,
1101-
context,
1102-
)
1098+
await self._check_event_auth(origin, event, context)
11031099
except AuthError as e:
11041100
# FIXME richvdh 2021/10/07 I don't think this is reachable. Let's log it
11051101
# for now
@@ -1473,11 +1469,8 @@ def prep(event: EventBase) -> Optional[Tuple[EventBase, EventContext]]:
14731469
)
14741470

14751471
async def _check_event_auth(
1476-
self,
1477-
origin: str,
1478-
event: EventBase,
1479-
context: EventContext,
1480-
) -> EventContext:
1472+
self, origin: str, event: EventBase, context: EventContext
1473+
) -> None:
14811474
"""
14821475
Checks whether an event should be rejected (for failing auth checks).
14831476
@@ -1487,9 +1480,6 @@ async def _check_event_auth(
14871480
context:
14881481
The event context.
14891482
1490-
Returns:
1491-
The updated context object.
1492-
14931483
Raises:
14941484
AuthError if we were unable to find copies of the event's auth events.
14951485
(Most other failures just cause us to set `context.rejected`.)
@@ -1507,7 +1497,7 @@ async def _check_event_auth(
15071497
logger.warning("While validating received event %r: %s", event, e)
15081498
# TODO: use a different rejected reason here?
15091499
context.rejected = RejectedReason.AUTH_ERROR
1510-
return context
1500+
return
15111501

15121502
# next, check that we have all of the event's auth events.
15131503
#
@@ -1526,7 +1516,7 @@ async def _check_event_auth(
15261516
"While checking auth of %r against auth_events: %s", event, e
15271517
)
15281518
context.rejected = RejectedReason.AUTH_ERROR
1529-
return context
1519+
return
15301520

15311521
# now check auth against what we think the auth events *should* be.
15321522
event_types = event_auth.auth_types_for_event(event.room_version, event)
@@ -1542,7 +1532,7 @@ async def _check_event_auth(
15421532
if collections.Counter(event.auth_event_ids()) == collections.Counter(
15431533
calculated_auth_event_ids
15441534
):
1545-
return context
1535+
return
15461536

15471537
# otherwise, re-run the auth checks based on what we calculated.
15481538
calculated_auth_events = await self._store.get_events_as_list(
@@ -1582,8 +1572,6 @@ async def _check_event_auth(
15821572
)
15831573
context.rejected = RejectedReason.AUTH_ERROR
15841574

1585-
return context
1586-
15871575
async def _maybe_kick_guest_users(self, event: EventBase) -> None:
15881576
if event.type != EventTypes.GuestAccess:
15891577
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)