From 08fe8253e055d9adf476505e5725aa3dadb9ade0 Mon Sep 17 00:00:00 2001 From: jkerdreux-imt <jerome.kerdreux@imt-atlantique.fr> Date: Sat, 28 Dec 2024 02:29:59 +0100 Subject: [PATCH] Remote debug is now disabled by default --- libs/lib/xaal/lib/config.py | 47 +++++++++++++++++++++++-------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/libs/lib/xaal/lib/config.py b/libs/lib/xaal/lib/config.py index 4cf2af91..af881ed8 100644 --- a/libs/lib/xaal/lib/config.py +++ b/libs/lib/xaal/lib/config.py @@ -1,4 +1,3 @@ - # Default configuration import os @@ -7,20 +6,23 @@ import binascii from configobj import ConfigObj # Default settings -DEF_ADDR = '224.0.29.200' +DEF_ADDR = "224.0.29.200" DEF_PORT = 1236 DEF_HOPS = 10 DEF_ALIVE_TIMER = 100 DEF_CIPHER_WINDOW = 60 * 2 DEF_QUEUE_SIZE = 10 -DEF_LOG_LEVEL = 'DEBUG' -DEF_LOG_PATH = '/var/log/xaal' +DEF_LOG_LEVEL = "DEBUG" +DEF_LOG_PATH = "/var/log/xaal" +DEF_REMOTE_CONSOLE = False + STACK_VERSION = 7 + class Config: def __init__(self): - self.conf_dir = os.environ.get('XAAL_CONF_DIR', os.path.expanduser("~/.xaal")) + self.conf_dir = os.environ.get("XAAL_CONF_DIR", os.path.expanduser("~/.xaal")) self.address = DEF_ADDR self.port = DEF_PORT self.hops = DEF_HOPS @@ -29,26 +31,29 @@ class Config: self.queue_size = DEF_QUEUE_SIZE self.log_level = DEF_LOG_LEVEL self.log_path = DEF_LOG_PATH - self.key = b'' + self.remote_console = DEF_REMOTE_CONSOLE + self.key = b"" self.STACK_VERSION = STACK_VERSION - def load(self, name='xaal.ini'): + def load(self, name="xaal.ini"): filename = os.path.join(self.conf_dir, name) if not os.path.isfile(filename): raise FileNotFoundError(f"Unable to load xAAL config file [{filename}]") cfg = ConfigObj(filename) - self.address = self.safe_string(cfg.get('address'), DEF_ADDR) - self.port = self.safe_int(cfg.get('port'), DEF_PORT) - self.hops = self.safe_int(cfg.get('hops'), DEF_HOPS) - self.alive_timer = self.safe_int(cfg.get('alive_timer'), DEF_ALIVE_TIMER) - self.cipher_window = self.safe_int(cfg.get('cipher_window'), DEF_CIPHER_WINDOW) - self.queue_size = self.safe_int(cfg.get('queue_size'), DEF_QUEUE_SIZE) - self.log_level = self.safe_string(cfg.get('log_level'), DEF_LOG_LEVEL) - self.log_path = self.safe_string(cfg.get('log_path'), DEF_LOG_PATH) - key = cfg.get('key', None) + self.address = self.safe_string(cfg.get("address"), DEF_ADDR) + self.port = self.safe_int(cfg.get("port"), DEF_PORT) + self.hops = self.safe_int(cfg.get("hops"), DEF_HOPS) + self.alive_timer = self.safe_int(cfg.get("alive_timer"), DEF_ALIVE_TIMER) + self.cipher_window = self.safe_int(cfg.get("cipher_window"), DEF_CIPHER_WINDOW) + self.queue_size = self.safe_int(cfg.get("queue_size"), DEF_QUEUE_SIZE) + self.log_level = self.safe_string(cfg.get("log_level"), DEF_LOG_LEVEL) + self.log_path = self.safe_string(cfg.get("log_path"), DEF_LOG_PATH) + self.remote_console = self.safe_bool(cfg.get("remote_console"), DEF_REMOTE_CONSOLE) + + key = cfg.get("key", None) if key and type(key) is str: - self.key = binascii.unhexlify(key.encode('utf-8')) + self.key = binascii.unhexlify(key.encode("utf-8")) else: raise ValueError(f"Key not set in config file [{filename}]") @@ -73,6 +78,14 @@ class Config: except (ValueError, TypeError): return default + @staticmethod + def safe_bool(value, default): + if value is None: + return default + if value.lower() == "true": + return True + return False + config = Config() try: -- GitLab