-
Notifications
You must be signed in to change notification settings - Fork 349
Add support for MSC3823 - Account Suspension Part 2 #17255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
060ba63
245e28f
07bf069
fe4edc1
9b56bf8
7975a81
4b4180b
2fe7d28
f93d261
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -651,6 +651,17 @@ async def create_event( | |
""" | ||
await self.auth_blocking.check_auth_blocking(requester=requester) | ||
|
||
if event_dict["type"] == EventTypes.Message: | ||
requester_suspended = await self.store.get_user_suspended_status( | ||
requester.user.to_string() | ||
) | ||
if requester_suspended: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. would it make sense to only apply suspensions if the user isn't being puppeted? (I think there are things on Just thinking that server admins may still wish to e.g. change the displayname of a suspended user There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't know much about puppeted accounts - Can a user access an account that is being puppeted? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 'Puppeted' here only means that a server admin logged in to the user using the Admin API. https://element-hq.github.io/synapse/latest/admin_api/user_admin_api.html?highlight=login%20as%20user#login-as-a-user Whilst it's the puppeted user that is being made to send the events and stuff, it's a trusted admin who is actually pulling the strings. So it seems logical that there'd be no need to apply any suspensions there? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think Requester. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right I checked in with the team during our sync today and posed the question about puppeting - the consensus is we'd like to merge it as is, and possibly follow up with that change in the future depending on the feedback from the original work. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sure, that can probably wait until later, it shouldn't break anyone since you have to choose to use the experimental feature first. |
||
raise SynapseError( | ||
403, | ||
"Sending messages while account is suspended is not allowed.", | ||
Codes.USER_ACCOUNT_SUSPENDED, | ||
) | ||
|
||
if event_dict["type"] == EventTypes.Create and event_dict["state_key"] == "": | ||
room_version_id = event_dict["content"]["room_version"] | ||
maybe_room_version_obj = KNOWN_ROOM_VERSIONS.get(room_version_id) | ||
|
Uh oh!
There was an error while loading. Please reload this page.