synapse-product/synapse/handlers
Brendan Abolivier 95b3f952fa
Add a config flag to inhibit M_USER_IN_USE during registration (#11743)
This is mostly motivated by the tchap use case, where usernames are automatically generated from the user's email address (in a way that allows figuring out the email address from the username). Therefore, it's an issue if we respond to requests on /register and /register/available with M_USER_IN_USE, because it can potentially leak email addresses (which include the user's real name and place of work).

This commit adds a flag to inhibit the M_USER_IN_USE errors that are raised both by /register/available, and when providing a username early into the registration process. This error will still be raised if the user completes the registration process but the username conflicts. This is particularly useful when using modules (https://github.com/matrix-org/synapse/pull/11790 adds a module callback to set the username of users at registration) or SSO, since they can ensure the username is unique.

More context is available in the PR that introduced this behaviour to synapse-dinsic: matrix-org/synapse-dinsic#48 - as well as the issue in the matrix-dinsic repo: matrix-org/matrix-dinsic#476
2022-01-26 13:02:54 +01:00
..
ui_auth Use direct references for configuration variables (part 7). (#10959) 2021-10-04 07:18:54 -04:00
__init__.py Remove redundant "coding: utf-8" lines (#9786) 2021-04-14 15:34:27 +01:00
account_data.py Fix docstring on add_account_data_for_user. (#11716) 2022-01-10 15:38:22 +00:00
account_validity.py Require direct references to configuration variables. (#10985) 2021-10-06 10:47:41 -04:00
admin.py Remove the 'password_hash' from the Users Admin API endpoint response dictionary (#11576) 2022-01-14 14:53:33 +00:00
appservice.py Convert all namedtuples to attrs. (#11665) 2021-12-30 18:47:12 +00:00
auth.py Correctly await on_logged_out callbacks (#11786) 2022-01-20 19:19:40 +01:00
cas.py Use direct references for some configuration variables (part 3) (#10885) 2021-09-23 07:13:34 -04:00
deactivate_account.py Remove account data (including client config, push rules and ignored users) upon user deactivation. (#11621) 2022-01-24 13:37:00 +00:00
device.py Cache empty responses from /user/devices (#11587) 2022-01-05 13:33:28 +00:00
devicemessage.py Clarifications and small fixes to to-device related code (#11247) 2021-11-09 14:31:15 +00:00
directory.py Convert all namedtuples to attrs. (#11665) 2021-12-30 18:47:12 +00:00
e2e_keys.py Use auto_attribs/native type hints for attrs classes. (#11692) 2022-01-13 13:49:28 +00:00
e2e_room_keys.py Add type hints to synapse/storage/databases/main/e2e_room_keys.py (#11549) 2021-12-14 17:46:47 +00:00
event_auth.py Check *all* auth events for room id and rejection (#11009) 2021-10-18 18:28:30 +01:00
events.py Remove log_function and its uses (#11761) 2022-01-18 13:06:04 +00:00
federation_event.py Remove log_function and its uses (#11761) 2022-01-18 13:06:04 +00:00
federation.py Remove log_function and its uses (#11761) 2022-01-18 13:06:04 +00:00
groups_local.py Require type hints in the handlers module. (#10831) 2021-09-20 08:56:23 -04:00
identity.py Remove legacy code related to deprecated trust_identity_server_for_password_resets config flag (#11333) 2021-11-18 10:56:32 -08:00
initial_sync.py Bundle aggregations outside of the serialization method. (#11612) 2022-01-07 09:10:46 -05:00
message.py Bundle aggregations outside of the serialization method. (#11612) 2022-01-07 09:10:46 -05:00
oidc.py Save the OIDC session ID (sid) with the device on login (#11482) 2021-12-06 12:43:06 -05:00
pagination.py Include whether the requesting user has participated in a thread. (#11577) 2022-01-18 11:38:57 -05:00
password_policy.py Use direct references for some configuration variables (part 3) (#10885) 2021-09-23 07:13:34 -04:00
presence.py Remove log_function and its uses (#11761) 2022-01-18 13:06:04 +00:00
profile.py Annotate log_function decorator (#10943) 2021-10-27 17:27:23 +01:00
read_marker.py Remove the deprecated BaseHandler. (#11005) 2021-10-08 07:44:43 -04:00
receipts.py Add a constant for receipt types (m.read). (#11531) 2021-12-08 12:26:29 -05:00
register.py Add a config flag to inhibit M_USER_IN_USE during registration (#11743) 2022-01-26 13:02:54 +01:00
room_batch.py Prevent historical state from being pushed to an application service via /transactions (MSC2716) (#11265) 2021-11-18 14:16:08 -06:00
room_list.py Convert all namedtuples to attrs. (#11665) 2021-12-30 18:47:12 +00:00
room_member_worker.py Implement knock feature (#6739) 2021-06-09 19:39:51 +01:00
room_member.py Add type hints to synapse/storage/databases/main/room.py (#11575) 2021-12-15 18:00:48 +00:00
room_summary.py Fix a bug that corrupted the cache of federated space hierarchies (#11775) 2022-01-20 11:03:42 +00:00
room.py Include whether the requesting user has participated in a thread. (#11577) 2022-01-18 11:38:57 -05:00
saml.py Remove the deprecated BaseHandler. (#11005) 2021-10-08 07:44:43 -04:00
search.py Bundle aggregations outside of the serialization method. (#11612) 2022-01-07 09:10:46 -05:00
send_email.py Pass str to twisted's IReactorTCP (#10895) 2021-09-30 12:51:47 +01:00
set_password.py Remove the deprecated BaseHandler. (#11005) 2021-10-08 07:44:43 -04:00
sso.py Use auto_attribs/native type hints for attrs classes. (#11692) 2022-01-13 13:49:28 +00:00
state_deltas.py Easy refactors of the user directory (#10789) 2021-09-10 10:54:38 +01:00
stats.py Fix AssertionErrors after purging events (#11642) 2022-01-04 16:36:33 +00:00
sync.py Make the get_global_account_data_by_type_for_user cache be a tree-cache whose key is prefixed with the user ID (#11788) 2022-01-21 08:38:36 +00:00
typing.py Convert all namedtuples to attrs. (#11665) 2021-12-30 18:47:12 +00:00
user_directory.py Fix AssertionErrors after purging events (#11642) 2022-01-04 16:36:33 +00:00