diff --git a/lib/protocol.py b/lib/protocol.py index b7afe8d..15d54e3 100644 --- a/lib/protocol.py +++ b/lib/protocol.py @@ -66,7 +66,7 @@ async def go(self, handle, pkg): pkg = await handle(self, pkg) except Exception as e: reason = str(e) or f'unknown error: {type(e).__name__}' - logging.error(reason) + logging.exception(reason) data = {'reason': reason} pkg = Package.make(self.PROTO_RAPP_ERR, data=data, pid=pkg.pid) self.write(pkg) diff --git a/lib/state.py b/lib/state.py index 43eba77..2330b9a 100644 --- a/lib/state.py +++ b/lib/state.py @@ -324,6 +324,11 @@ def get(cls): if use and isinstance(use, str): item['use'] = use elif isinstance(config, dict): + # Make a deep copy + config = copy.deepcopy(config) + # Make sure to replace passwords and secrets + cls._replace_secrets(config) + item['config'] = config else: logging.error(f'invalid config for {name}') diff --git a/lib/version.py b/lib/version.py index 41311ee..018df2f 100644 --- a/lib/version.py +++ b/lib/version.py @@ -1 +1 @@ -__version__ = '0.1.0-alpha13' +__version__ = '0.1.0-alpha14'