summary refs log tree commit diff
path: root/synapse/config/password.py
diff options
context:
space:
mode:
Diffstat (limited to 'synapse/config/password.py')
-rw-r--r--synapse/config/password.py17
1 files changed, 11 insertions, 6 deletions
diff --git a/synapse/config/password.py b/synapse/config/password.py

index 2c13810ab8..6b2dae78b0 100644 --- a/synapse/config/password.py +++ b/synapse/config/password.py
@@ -34,8 +34,8 @@ class PasswordConfig(Config): self.password_pepper = password_config.get("pepper", "") # Password policy - self.password_policy = password_config.get("policy", {}) - self.password_policy_enabled = self.password_policy.pop("enabled", False) + self.password_policy = password_config.get("policy") or {} + self.password_policy_enabled = self.password_policy.get("enabled", False) def generate_config_section(self, config_dir_path, server_name, **kwargs): return """\ @@ -55,33 +55,38 @@ class PasswordConfig(Config): # #pepper: "EVEN_MORE_SECRET" - # Define and enforce a password policy. Each parameter is optional, boolean - # parameters default to 'false' and integer parameters default to 0. - # This is an early implementation of MSC2000. + # Define and enforce a password policy. Each parameter is optional. + # This is an implementation of MSC2000. # - #policy: + policy: # Whether to enforce the password policy. + # Defaults to 'false'. # #enabled: true # Minimum accepted length for a password. + # Defaults to 0. # #minimum_length: 15 # Whether a password must contain at least one digit. + # Defaults to 'false'. # #require_digit: true # Whether a password must contain at least one symbol. # A symbol is any character that's not a number or a letter. + # Defaults to 'false'. # #require_symbol: true # Whether a password must contain at least one lowercase letter. + # Defaults to 'false'. # #require_lowercase: true # Whether a password must contain at least one lowercase letter. + # Defaults to 'false'. # #require_uppercase: true """