From 98230f721aa675edd977d56b20a96f353d8b758b Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Sun, 12 Sep 2021 15:30:22 +0200 Subject: [PATCH] fix: do not require BORG_CONFIG_DIR if BORG_{SECURITY,KEYS}_DIR are set, fixes #5979 but please note that this does not mean that "keys" and "security" are or will ever be the only subdirs below the borg config dir. --- src/borg/helpers/fs.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/borg/helpers/fs.py b/src/borg/helpers/fs.py index 25c2e5755..2ec90a0b7 100644 --- a/src/borg/helpers/fs.py +++ b/src/borg/helpers/fs.py @@ -61,15 +61,20 @@ def get_base_dir(): def get_keys_dir(): """Determine where to repository keys and cache""" - - keys_dir = os.environ.get('BORG_KEYS_DIR', os.path.join(get_config_dir(), 'keys')) + keys_dir = os.environ.get('BORG_KEYS_DIR') + if keys_dir is None: + # note: do not just give this as default to the environment.get(), see issue #5979. + keys_dir = os.path.join(get_config_dir(), 'keys') ensure_dir(keys_dir) return keys_dir def get_security_dir(repository_id=None): """Determine where to store local security information.""" - security_dir = os.environ.get('BORG_SECURITY_DIR', os.path.join(get_config_dir(), 'security')) + security_dir = os.environ.get('BORG_SECURITY_DIR') + if security_dir is None: + # note: do not just give this as default to the environment.get(), see issue #5979. + security_dir = os.path.join(get_config_dir(), 'security') if repository_id: security_dir = os.path.join(security_dir, repository_id) ensure_dir(security_dir)