From 54f909cac2e68990ffedf269ebc713b78b0df516 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Fri, 19 May 2017 17:22:17 +0200 Subject: [PATCH] accept crypto format version in deltatar ctor --- deltatar/deltatar.py | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/deltatar/deltatar.py b/deltatar/deltatar.py index 8b8c19d..b2d9c31 100644 --- a/deltatar/deltatar.py +++ b/deltatar/deltatar.py @@ -98,6 +98,7 @@ class DeltaTar(object): # parameter version to use when encrypting; note that this has no effect # on decryption since the required settings are determined from the headers + crypto_version = DELTATAR_HEADER_VERSION crypto_paramversion = None # when encrypting or decrypting, these hold crypto handlers; created before @@ -154,6 +155,7 @@ class DeltaTar(object): def __init__(self, excluded_files=[], included_files=[], filter_func=None, mode="", password=None, crypto_key=None, nacl=None, + crypto_version=DELTATAR_HEADER_VERSION, crypto_paramversion=DELTATAR_PARAMETER_VERSION, logger=None, index_mode=None, index_name_func=None, volume_name_func=None): @@ -199,6 +201,9 @@ class DeltaTar(object): - password: used to encrypt and decrypt backups. Encryption will be enabled automatically if a password is supplied. + - crypto_version: version of the format, determining the kind of PDT + object header. + - crypto_paramversion: optionally request encryption conforming to a specific parameter version. Defaults to the standard PDT value which as of 2017 is the only one available. @@ -245,6 +250,9 @@ class DeltaTar(object): if password is not None: self.password = password + if crypto_version is not None: + self.crypto_version = crypto_version + if crypto_paramversion is not None: self.crypto_paramversion = crypto_paramversion @@ -545,7 +553,7 @@ class DeltaTar(object): return crypto.Encrypt (password=password, key=key, nacl=nacl, - version=DELTATAR_HEADER_VERSION, + version=self.crypto_version, paramversion=self.crypto_paramversion) if mode == CRYPTO_MODE_DECRYPT: return crypto.Decrypt (password=password, key=key) -- 1.7.1