Browse Source

remove support for --encryption=passphrase, clean up

Thomas Waldmann 9 years ago
parent
commit
815d2e23ce
2 changed files with 9 additions and 10 deletions
  1. 1 3
      borg/archiver.py
  2. 8 7
      borg/key.py

+ 1 - 3
borg/archiver.py

@@ -802,8 +802,6 @@ class Archiver:
         This command initializes an empty repository. A repository is a filesystem
         This command initializes an empty repository. A repository is a filesystem
         directory containing the deduplicated data from zero or more archives.
         directory containing the deduplicated data from zero or more archives.
         Encryption can be enabled at repository init time.
         Encryption can be enabled at repository init time.
-        Please note that the 'passphrase' encryption mode is DEPRECATED (instead of it,
-        consider using 'repokey').
         """)
         """)
         subparser = subparsers.add_parser('init', parents=[common_parser],
         subparser = subparsers.add_parser('init', parents=[common_parser],
                                           description=self.do_init.__doc__, epilog=init_epilog,
                                           description=self.do_init.__doc__, epilog=init_epilog,
@@ -813,7 +811,7 @@ class Archiver:
                                type=location_validator(archive=False),
                                type=location_validator(archive=False),
                                help='repository to create')
                                help='repository to create')
         subparser.add_argument('-e', '--encryption', dest='encryption',
         subparser.add_argument('-e', '--encryption', dest='encryption',
-                               choices=('none', 'keyfile', 'repokey', 'passphrase'), default='repokey',
+                               choices=('none', 'keyfile', 'repokey'), default='repokey',
                                help='select encryption key mode (default: "%(default)s")')
                                help='select encryption key mode (default: "%(default)s")')
 
 
         check_epilog = textwrap.dedent("""
         check_epilog = textwrap.dedent("""

+ 8 - 7
borg/key.py

@@ -35,8 +35,6 @@ def key_creator(repository, args):
         return KeyfileKey.create(repository, args)
         return KeyfileKey.create(repository, args)
     elif args.encryption == 'repokey':
     elif args.encryption == 'repokey':
         return RepoKey.create(repository, args)
         return RepoKey.create(repository, args)
-    elif args.encryption == 'passphrase':  # deprecated, kill in 1.x
-        return PassphraseKey.create(repository, args)
     else:
     else:
         return PlaintextKey.create(repository, args)
         return PlaintextKey.create(repository, args)
 
 
@@ -48,8 +46,8 @@ def key_factory(repository, manifest_data):
     elif key_type == RepoKey.TYPE:
     elif key_type == RepoKey.TYPE:
         return RepoKey.detect(repository, manifest_data)
         return RepoKey.detect(repository, manifest_data)
     elif key_type == PassphraseKey.TYPE:
     elif key_type == PassphraseKey.TYPE:
-        # this mode was killed in borg 1.0, see: https://github.com/borgbackup/borg/issues/97
         # we just dispatch to repokey mode and assume the passphrase was migrated to a repokey.
         # we just dispatch to repokey mode and assume the passphrase was migrated to a repokey.
+        # see also comment in PassphraseKey class.
         return RepoKey.detect(repository, manifest_data)
         return RepoKey.detect(repository, manifest_data)
     elif key_type == PlaintextKey.TYPE:
     elif key_type == PlaintextKey.TYPE:
         return PlaintextKey.detect(repository, manifest_data)
         return PlaintextKey.detect(repository, manifest_data)
@@ -207,18 +205,21 @@ class Passphrase(str):
 
 
 
 
 class PassphraseKey(AESKeyBase):
 class PassphraseKey(AESKeyBase):
-    # This mode is DEPRECATED and will be killed at 1.0 release.
-    # With this mode:
+    # This mode was killed in borg 1.0, see: https://github.com/borgbackup/borg/issues/97
+    # Reasons:
     # - you can never ever change your passphrase for existing repos.
     # - you can never ever change your passphrase for existing repos.
     # - you can never ever use a different iterations count for existing repos.
     # - you can never ever use a different iterations count for existing repos.
+    # "Killed" means:
+    # - there is no automatic dispatch to this class via type byte
+    # - --encryption=passphrase is an invalid argument now
+    # This class is kept for a while to support migration from passphrase to repokey mode.
     TYPE = 0x01
     TYPE = 0x01
     iterations = 100000  # must not be changed ever!
     iterations = 100000  # must not be changed ever!
 
 
     @classmethod
     @classmethod
     def create(cls, repository, args):
     def create(cls, repository, args):
         key = cls(repository)
         key = cls(repository)
-        logger.warning('WARNING: "passphrase" mode is deprecated and will be removed in 1.0.')
-        logger.warning('If you want something similar (but with less issues), use "repokey" mode.')
+        logger.warning('WARNING: "passphrase" mode is unsupported since borg 1.0.')
         passphrase = Passphrase.new(allow_empty=False)
         passphrase = Passphrase.new(allow_empty=False)
         key.init(repository, passphrase)
         key.init(repository, passphrase)
         return key
         return key