Merge pull request #1994 from enkore/issue/1981

Fix upgrade --tam, change-passphrase crashes if not encrypted
This commit is contained in:
enkore 2017-01-03 17:31:19 +01:00 committed by GitHub
commit 73795f5a82
2 changed files with 13 additions and 0 deletions

View file

@ -177,8 +177,14 @@ class Archiver:
@with_repository()
def do_change_passphrase(self, args, repository, manifest, key):
"""Change repository key file passphrase"""
if not hasattr(key, 'change_passphrase'):
print('This repository is not encrypted, cannot change the passphrase.')
return EXIT_ERROR
key.change_passphrase()
logger.info('Key updated')
if hasattr(key, 'find_key'):
# print key location to make backing it up easier
logger.info('Key location: %s', key.find_key())
return EXIT_SUCCESS
@with_repository(lock=False, exclusive=False, manifest=False, cache=False)
@ -730,6 +736,10 @@ class Archiver:
if args.tam:
manifest, key = Manifest.load(repository, force_tam_not_required=args.force)
if not hasattr(key, 'change_passphrase'):
print('This repository is not encrypted, cannot enable TAM.')
return EXIT_ERROR
if not manifest.tam_verified or not manifest.config.get(b'tam_required', False):
# The standard archive listing doesn't include the archive ID like in borg 1.1.x
print('Manifest contents:')

View file

@ -133,6 +133,9 @@ Bug fixes:
- Avoid triggering an ObjectiveFS bug in xattr retrieval, #1992
- When running out of buffer memory when reading xattrs, only skip the current file, #1993
- Fixed "borg upgrade --tam" crashing with unencrypted repositories. Since :ref:`the issue <tam_vuln>` is
not relevant for unencrypted repositories, it now does nothing and prints an error, #1981.
- Fixed change-passphrase crashing with unencrypted repositories, #1978
Version 1.0.9 (2016-12-20)
--------------------------