From 92183a423549cf1163caac24cc1380c656ba7827 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 16 Nov 2021 14:07:05 +0100 Subject: [PATCH] [logging] Enabled overriding logger config by user config --- flaschengeist/config.py | 24 +++++++++++++++------ flaschengeist/plugins/auth_ldap/__init__.py | 2 +- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/flaschengeist/config.py b/flaschengeist/config.py index e06fcae..47af03f 100644 --- a/flaschengeist/config.py +++ b/flaschengeist/config.py @@ -41,17 +41,21 @@ def read_configuration(test_config): update_dict(config, test_config) -def configure_app(app, test_config=None): +def configure_logger(): global config - read_configuration(test_config) - - # Always enable this builtin plugins! - update_dict(config, {"auth": {"enabled": True}, "roles": {"enabled": True}, "users": {"enabled": True}}) - + # Read default config logger_config = toml.load(_module_path / "logging.toml") + if "LOGGING" in config: + # Override with user config + update_dict(logger_config, config.get("LOGGING")) + # Check for shortcuts if "level" in config["LOGGING"]: logger_config["loggers"]["flaschengeist"] = {"level": config["LOGGING"]["level"]} + logger_config["handlers"]["console"]["level"] = config["LOGGING"]["level"] + logger_config["handlers"]["file"]["level"] = config["LOGGING"]["level"] + if not config["LOGGING"].get("console", True): + logger_config["handlers"]["console"]["level"] = "CRITICAL" if "file" in config["LOGGING"]: logger_config["root"]["handlers"].append("file") logger_config["handlers"]["file"]["filename"] = config["LOGGING"]["file"] @@ -59,6 +63,14 @@ def configure_app(app, test_config=None): path.parent.mkdir(parents=True, exist_ok=True) logging.config.dictConfig(logger_config) + +def configure_app(app, test_config=None): + global config + read_configuration(test_config) + + # Always enable this builtin plugins! + update_dict(config, {"auth": {"enabled": True}, "roles": {"enabled": True}, "users": {"enabled": True}}) + if "secret_key" not in config["FLASCHENGEIST"]: logger.warning("No secret key was configured, please configure one for production systems!") app.config["SECRET_KEY"] = "0a657b97ef546da90b2db91862ad4e29" diff --git a/flaschengeist/plugins/auth_ldap/__init__.py b/flaschengeist/plugins/auth_ldap/__init__.py index dffbc3c..3ceb6e0 100644 --- a/flaschengeist/plugins/auth_ldap/__init__.py +++ b/flaschengeist/plugins/auth_ldap/__init__.py @@ -240,7 +240,7 @@ class AuthLDAP(AuthPlugin): password_hash = base64.b64encode(pbkdf2_hmac("sha512", password.encode("utf-8"), salt, rounds)).decode() return f"{{PBKDF2-SHA512}}{rounds}${base64.b64encode(salt).decode()}${password_hash}" else: - return f"{{SSHA}}{base64.b64encode(sha1(password.encode() + salt).digest() + salt)}" + return f"{{SSHA}}{base64.b64encode(sha1(password.encode() + salt).digest() + salt).decode()}" def _get_groups(self, uid): groups = []