mirror of
https://mau.dev/maunium/synapse.git
synced 2024-11-15 14:32:30 +01:00
Disable m.3pid_changes
capability when MSC3861 is enabled. (#16134)
This commit is contained in:
parent
69048f7b48
commit
0ba17777be
5 changed files with 23 additions and 2 deletions
|
@ -1 +1 @@
|
||||||
User consent features cannot be enabled when using experimental MSC3861.
|
User constent and 3-PID changes capability cannot be enabled when using experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) support.
|
||||||
|
|
1
changelog.d/16134.bugfix
Normal file
1
changelog.d/16134.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
User constent and 3-PID changes capability cannot be enabled when using experimental [MSC3861](https://github.com/matrix-org/matrix-spec-proposals/pull/3861) support.
|
|
@ -223,6 +223,12 @@ class MSC3861:
|
||||||
("session_lifetime",),
|
("session_lifetime",),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if root.registration.enable_3pid_changes:
|
||||||
|
raise ConfigError(
|
||||||
|
"enable_3pid_changes cannot be enabled when OAuth delegation is enabled",
|
||||||
|
("enable_3pid_changes",),
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@attr.s(auto_attribs=True, frozen=True, slots=True)
|
@attr.s(auto_attribs=True, frozen=True, slots=True)
|
||||||
class MSC3866Config:
|
class MSC3866Config:
|
||||||
|
|
|
@ -133,7 +133,16 @@ class RegistrationConfig(Config):
|
||||||
|
|
||||||
self.enable_set_displayname = config.get("enable_set_displayname", True)
|
self.enable_set_displayname = config.get("enable_set_displayname", True)
|
||||||
self.enable_set_avatar_url = config.get("enable_set_avatar_url", True)
|
self.enable_set_avatar_url = config.get("enable_set_avatar_url", True)
|
||||||
self.enable_3pid_changes = config.get("enable_3pid_changes", True)
|
|
||||||
|
# The default value of enable_3pid_changes is True, unless msc3861 is enabled.
|
||||||
|
msc3861_enabled = (
|
||||||
|
(config.get("experimental_features") or {})
|
||||||
|
.get("msc3861", {})
|
||||||
|
.get("enabled", False)
|
||||||
|
)
|
||||||
|
self.enable_3pid_changes = config.get(
|
||||||
|
"enable_3pid_changes", not msc3861_enabled
|
||||||
|
)
|
||||||
|
|
||||||
self.disable_msisdn_registration = config.get(
|
self.disable_msisdn_registration = config.get(
|
||||||
"disable_msisdn_registration", False
|
"disable_msisdn_registration", False
|
||||||
|
|
|
@ -271,3 +271,8 @@ class MSC3861OAuthDelegation(TestCase):
|
||||||
self.config_dict["session_lifetime"] = "24h"
|
self.config_dict["session_lifetime"] = "24h"
|
||||||
with self.assertRaises(ConfigError):
|
with self.assertRaises(ConfigError):
|
||||||
self.parse_config()
|
self.parse_config()
|
||||||
|
|
||||||
|
def test_enable_3pid_changes_cannot_be_enabled(self) -> None:
|
||||||
|
self.config_dict["enable_3pid_changes"] = True
|
||||||
|
with self.assertRaises(ConfigError):
|
||||||
|
self.parse_config()
|
||||||
|
|
Loading…
Reference in a new issue