summary refs log tree commit diff
diff options
context:
space:
mode:
authorIvan Vilata-i-Balaguer <ivan@selidor.net>2020-01-22 02:32:52 -0500
committerRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2020-01-22 07:32:52 +0000
commit837f62266b845cce9797fbe989a7816d4f1fadff (patch)
treec44a8633b89bdd10235877833b48a71b69606f1c
parentPort synapse_port_db to async/await (#6718) (diff)
downloadsynapse-837f62266b845cce9797fbe989a7816d4f1fadff.tar.xz
Avoid attribute error when `password_config` present but empty (#6753)
The old statement returned `None` for such a `password_config` (like the one
created on first run), thus retrieval of the `pepper` key failed with
`AttributeError`.

Fixes #5315

Signed-off-by: Ivan Vilata i Balaguer <ivan@selidor.net>
-rw-r--r--changelog.d/6753.bugfix1
-rwxr-xr-xscripts/hash_password2
2 files changed, 2 insertions, 1 deletions
diff --git a/changelog.d/6753.bugfix b/changelog.d/6753.bugfix
new file mode 100644
index 0000000000..5dfde793e1
--- /dev/null
+++ b/changelog.d/6753.bugfix
@@ -0,0 +1 @@
+Fix `AttributeError: 'NoneType' object has no attribute 'get'` in `hash_password` when configuration has an empty `password_config`. Contributed by @ivilata.
diff --git a/scripts/hash_password b/scripts/hash_password
index a1eb0769da..a30767f758 100755
--- a/scripts/hash_password
+++ b/scripts/hash_password
@@ -52,7 +52,7 @@ if __name__ == "__main__":
     if "config" in args and args.config:
         config = yaml.safe_load(args.config)
         bcrypt_rounds = config.get("bcrypt_rounds", bcrypt_rounds)
-        password_config = config.get("password_config", {})
+        password_config = config.get("password_config", None) or {}
         password_pepper = password_config.get("pepper", password_pepper)
     password = args.password