diff options
author | Dirk Klimpel <5740567+dklimpel@users.noreply.github.com> | 2021-03-18 17:54:08 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-18 12:54:08 -0400 |
commit | 8dd2ea65a9566fd0850df0d989f700f61b490ed9 (patch) | |
tree | 558a61437c465c955160d45e8b8356d7ee9a5a68 /synapse | |
parent | Make federation catchup send last event from any server. (#9640) (diff) | |
download | synapse-8dd2ea65a9566fd0850df0d989f700f61b490ed9.tar.xz |
Consistently check whether a password may be set for a user. (#9636)
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/set_password.py | 2 | ||||
-rw-r--r-- | synapse/rest/admin/users.py | 2 | ||||
-rw-r--r-- | synapse/storage/databases/main/registration.py | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/synapse/handlers/set_password.py b/synapse/handlers/set_password.py index 84af2dde7e..04e7c64c94 100644 --- a/synapse/handlers/set_password.py +++ b/synapse/handlers/set_password.py @@ -41,7 +41,7 @@ class SetPasswordHandler(BaseHandler): logout_devices: bool, requester: Optional[Requester] = None, ) -> None: - if not self.hs.config.password_localdb_enabled: + if not self._auth_handler.can_change_password(): raise SynapseError(403, "Password change disabled", errcode=Codes.FORBIDDEN) try: diff --git a/synapse/rest/admin/users.py b/synapse/rest/admin/users.py index 2c89b62e25..aaa56a7024 100644 --- a/synapse/rest/admin/users.py +++ b/synapse/rest/admin/users.py @@ -271,7 +271,7 @@ class UserRestServletV2(RestServlet): elif not deactivate and user["deactivated"]: if ( "password" not in body - and self.hs.config.password_localdb_enabled + and self.auth_handler.can_change_password() ): raise SynapseError( 400, "Must provide a password to re-activate an account." diff --git a/synapse/storage/databases/main/registration.py b/synapse/storage/databases/main/registration.py index eba66ff352..90a8f664ef 100644 --- a/synapse/storage/databases/main/registration.py +++ b/synapse/storage/databases/main/registration.py @@ -1210,6 +1210,7 @@ class RegistrationBackgroundUpdateStore(RegistrationWorkerStore): self._invalidate_cache_and_stream( txn, self.get_user_deactivated_status, (user_id,) ) + self._invalidate_cache_and_stream(txn, self.get_user_by_id, (user_id,)) txn.call_after(self.is_guest.invalidate, (user_id,)) @cached() |