From 315ff49410e3eeb178acbef8f494565534cb45b6 Mon Sep 17 00:00:00 2001 From: unl0ck Date: Mon, 15 Jul 2024 09:42:09 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20FIX:=20fixed=20logger=20to=20eva?= =?UTF-8?q?luate=20msg=20string?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .bumpversion-edge.toml | 2 +- .../GridboxConnector/__main__.py | 18 +++++++++++-- .../GridboxConnector/utils.py | 26 ++++++++++--------- GridboxConnectorAddon-edge/cloudSettings.json | 2 +- GridboxConnectorAddon-edge/config.yaml | 2 +- .../rootfs/share/cloudSettings.json | 2 +- 6 files changed, 34 insertions(+), 18 deletions(-) diff --git a/.bumpversion-edge.toml b/.bumpversion-edge.toml index f5a6301..7fca628 100644 --- a/.bumpversion-edge.toml +++ b/.bumpversion-edge.toml @@ -1,5 +1,5 @@ [tool.bumpversion] -current_version = "2.8.2" +current_version = "2.8.3" parse = "(?P\\d+)\\.(?P\\d+)\\.(?P\\d+)" serialize = ["{major}.{minor}.{patch}"] search = "{current_version}" diff --git a/GridboxConnectorAddon-edge/GridboxConnector/__main__.py b/GridboxConnectorAddon-edge/GridboxConnector/__main__.py index 942e196..cd65e31 100644 --- a/GridboxConnectorAddon-edge/GridboxConnector/__main__.py +++ b/GridboxConnectorAddon-edge/GridboxConnector/__main__.py @@ -24,8 +24,7 @@ def load_gridbox_config(): data = json.load(json_file) return data - -if __name__ == '__main__': +def run_addon(): gridbox_config = load_gridbox_config() options_file = '' WAIT = int(os.getenv('WAITTIME', "60")) @@ -67,3 +66,18 @@ def load_gridbox_config(): logger.warning("No data received") gridboxConnector.init_auth() time.sleep(WAIT) + +def run_test_log(): + + logging_test = "{'grant_type': 'http://auth0.com/oauth/grant-type/password-realm', 'username': 'sa_helming@icloud.com', 'password': 'Simon1991!', 'audience': 'my.gridx', 'client_id': 'oZpr934Ikn8OZOHTJEcrgXkjio0I0Q7b', 'scope': 'email openid', 'realm': 'viessmann-authentication-db'}" + try: + json_msg = json.loads(logging_test) + except json.JSONDecodeError: + # Wenn die Nachricht kein JSON ist, nichts tun + logging.error('Could not parse message as JSON') + logger.info(logging_test) + + +if __name__ == '__main__': + #run_addon() + run_test_log() \ No newline at end of file diff --git a/GridboxConnectorAddon-edge/GridboxConnector/utils.py b/GridboxConnectorAddon-edge/GridboxConnector/utils.py index 3a6f0fd..b42b25b 100644 --- a/GridboxConnectorAddon-edge/GridboxConnector/utils.py +++ b/GridboxConnectorAddon-edge/GridboxConnector/utils.py @@ -1,24 +1,26 @@ import json import logging - +import ast class SensitiveDataFilter(logging.Filter): def filter(self, record): message = record.getMessage() try: - # Versuchen, die Nachricht als JSON zu parsen - data = json.loads(message) + literal_msg = ast.literal_eval(message) # Sensible Daten filtern, falls vorhanden - if 'username' in data: - data['username'] = '***' - if 'password' in data: - data['password'] = '***' - if 'id_token' in data: - data['id_token'] = '***' - if 'access_token' in data: - data['access_token'] = '***' + if 'username' in literal_msg: + literal_msg['username'] = '***' + if 'password' in literal_msg: + literal_msg['password'] = '***' + if 'id_token' in literal_msg: + literal_msg['id_token'] = '***' + if 'access_token' in literal_msg: + literal_msg['access_token'] = '***' + if 'client_id' in literal_msg: + literal_msg['client_id'] = '***' # Das modifizierte Dictionary zurück in einen String konvertieren - record.msg = json.dumps(data) + record.msg = json.dumps(literal_msg) except json.JSONDecodeError: # Wenn die Nachricht kein JSON ist, nichts tun + logging.error('Could not parse message as JSON') pass return True \ No newline at end of file diff --git a/GridboxConnectorAddon-edge/cloudSettings.json b/GridboxConnectorAddon-edge/cloudSettings.json index c671c71..bb33978 100644 --- a/GridboxConnectorAddon-edge/cloudSettings.json +++ b/GridboxConnectorAddon-edge/cloudSettings.json @@ -1,5 +1,5 @@ { - "version": "2.8.2", + "version": "2.8.3", "urls": { "login": "https://gridx.eu.auth0.com/oauth/token", "gateways": "https://api.gridx.de/gateways", diff --git a/GridboxConnectorAddon-edge/config.yaml b/GridboxConnectorAddon-edge/config.yaml index 14721e5..1b3767a 100644 --- a/GridboxConnectorAddon-edge/config.yaml +++ b/GridboxConnectorAddon-edge/config.yaml @@ -1,7 +1,7 @@ # https://developers.home-assistant.io/docs/add-ons/configuration#add-on-config --- name: Viessmann Gridbox Connector (edge) -version: "2.8.2" +version: "2.8.3" slug: "gridbox_connector_edge" description: "Viessmann Gridbox Connector (edge)" url: "https://github.com/unl0ck/homeassistant-addon-viessmann-gridbox/tree/main/GridboxConnectorAddon-edge" diff --git a/GridboxConnectorAddon-edge/rootfs/share/cloudSettings.json b/GridboxConnectorAddon-edge/rootfs/share/cloudSettings.json index c671c71..bb33978 100644 --- a/GridboxConnectorAddon-edge/rootfs/share/cloudSettings.json +++ b/GridboxConnectorAddon-edge/rootfs/share/cloudSettings.json @@ -1,5 +1,5 @@ { - "version": "2.8.2", + "version": "2.8.3", "urls": { "login": "https://gridx.eu.auth0.com/oauth/token", "gateways": "https://api.gridx.de/gateways",