@@ -1991,6 +1991,11 @@ async def on_send_membership_event(
1991
1991
event .internal_metadata .send_on_behalf_of = origin
1992
1992
1993
1993
context = await self .state_handler .compute_event_context (event )
1994
+ context = await self ._check_event_auth (origin , event , context )
1995
+ if context .rejected :
1996
+ raise SynapseError (
1997
+ 403 , f"{ event .membership } event was rejected" , Codes .FORBIDDEN
1998
+ )
1994
1999
1995
2000
# for joins, we need to check the restrictions of restricted rooms
1996
2001
if event .membership == Membership .JOIN :
@@ -2008,8 +2013,8 @@ async def on_send_membership_event(
2008
2013
403 , "This event is not allowed in this context" , Codes .FORBIDDEN
2009
2014
)
2010
2015
2011
- await self . _auth_and_persist_event ( origin , event , context )
2012
-
2016
+ # all looks good, we can persist the event.
2017
+ await self . _run_push_actions_and_persist_event ( event , context )
2013
2018
return context
2014
2019
2015
2020
async def _check_join_restrictions (
@@ -2504,9 +2509,9 @@ async def _check_event_auth(
2504
2509
origin : str ,
2505
2510
event : EventBase ,
2506
2511
context : EventContext ,
2507
- state : Optional [Iterable [EventBase ]],
2508
- auth_events : Optional [MutableStateMap [EventBase ]],
2509
- backfilled : bool ,
2512
+ state : Optional [Iterable [EventBase ]] = None ,
2513
+ auth_events : Optional [MutableStateMap [EventBase ]] = None ,
2514
+ backfilled : bool = False ,
2510
2515
) -> EventContext :
2511
2516
"""
2512
2517
Checks whether an event should be rejected (for failing auth checks).
0 commit comments