Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 11 additions & 2 deletions src/borg/crypto/key.py
Original file line number Diff line number Diff line change
Expand Up @@ -661,9 +661,18 @@ def get_existing_or_new_target(self, args):
return keyfile
return get_keys_dir()

def _keys_dir(self):
# v1 repos use the borg 1.x keys dir, which differs from the borg2 one on macOS
# (~/.config/borg/keys vs ~/Library/Application Support/borg/keys).
if self.repository.version == 1:
from ..legacy.fs import get_keys_dir as get_keys_dir_legacy

return get_keys_dir_legacy()
return get_keys_dir()

def _find_key_in_keys_dir(self):
id = self.repository.id
keys_path = Path(get_keys_dir())
keys_path = Path(self._keys_dir())
for entry in keys_path.iterdir():
filename = keys_path / entry.name
try:
Expand All @@ -674,7 +683,7 @@ def _find_key_in_keys_dir(self):
def _find_all_keys_in_keys_dir(self):
# return all keyfiles in the keys dir that belong to this repository (multiple passphrases).
id = self.repository.id
keys_path = Path(get_keys_dir())
keys_path = Path(self._keys_dir())
found = []
if not keys_path.exists():
return found
Expand Down
Loading