pass encryption context to tarfile
authorPhilipp Gesang <philipp.gesang@intra2net.com>
Fri, 31 Mar 2017 13:01:20 +0000 (15:01 +0200)
committerPhilipp Gesang <philipp.gesang@intra2net.com>
Tue, 25 Apr 2017 13:30:09 +0000 (15:30 +0200)
This supersedes the individual parameters.

deltatar/deltatar.py

index 9455643..cfd584c 100644 (file)
@@ -797,8 +797,7 @@ class DeltaTar(object):
                               mode='w' + self.mode,
                               format=tarfile.GNU_FORMAT,
                               concat_compression='#gz' in self.mode,
-                              password=self.password,
-                              nacl=self.nacl,
+                              encryption=self.crypto_ctx,
                               max_volume_size=max_volume_size,
                               new_volume_handler=new_volume_handler,
                               save_to_members=False,
@@ -1010,8 +1009,7 @@ class DeltaTar(object):
                         mode='r' + self.delta_tar.mode,
                         format=tarfile.GNU_FORMAT,
                         concat_compression='#gz' in self.delta_tar.mode,
-                        password=self.delta_tar.password,
-                        nacl=self.delta_tar.nacl,
+                        encryption=self.delta_tar.crypto_ctx,
                         new_volume_handler=self.new_volume_handler,
                         save_to_members=False,
                         dereference=True)
@@ -1182,12 +1180,15 @@ class DeltaTar(object):
         if not os.path.isabs(backup_path):
             backup_path = os.path.join(cwd, backup_path)
         new_volume_handler = partial(new_volume_handler, self, cwd, backup_path)
+
+        if self.password is not None:
+            self.crypto_ctx = crypto.Decrypt (self.password)
+
         tarobj = tarfile.TarFile.open(backup_tar_path,
                             mode='r' + self.mode,
                             format=tarfile.GNU_FORMAT,
                             concat_compression='#gz' in self.mode,
-                            password=self.password,
-                            nacl=self.nacl,
+                            encryption=self.crypto_ctx,
                             new_volume_handler=new_volume_handler,
                             save_to_members=False,
                             dereference=True)
@@ -1688,8 +1689,7 @@ class RestoreHelper(object):
                     fileobj=index_data['vol_fd'],
                     format=tarfile.GNU_FORMAT,
                     concat_compression='#gz' in self._deltatar.mode,
-                    password=self._deltatar.password,
-                    nacl=self._deltatar.nacl,
+                    encryption=self._deltatar.crypto_ctx,
                     new_volume_handler=index_data['new_volume_handler'],
                     save_to_members=False)