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
"""
|