Commit graph

35 commits

Author SHA1 Message Date
Marian Beermann
2ff75d58f2 remove Chunk() 2017-04-04 00:16:15 +02:00
Marian Beermann
69fb9bd403 remove --compression-from 2017-04-04 00:16:15 +02:00
Marian Beermann
929f2760dd change global compression default to lz4 as well
To be consistent with --compression defaults.
2017-04-04 00:16:15 +02:00
Marian Beermann
0c7410104c Rename Chunk.meta[compress] => Chunk.meta[compressor] 2017-04-03 21:31:28 +02:00
Marian Beermann
5a20fc08de key: compress(chunk) return data 2017-04-03 21:31:28 +02:00
Marian Beermann
a27f585eaa refactor CompressionDecider2 into a meta Compressor 2017-04-03 21:31:28 +02:00
Thomas Waldmann
2414cd4df7 use immutable data structure for the compression spec, fixes #2331
the bug was compr_args.update(compr_spec), helpers.py:2168 - that mutated
the compression spec dict (and not just some local one, but the compr spec
dict parsed from the commandline args).

so a change that was intended just for 1 chunk changed the desired
compression level on the archive scope.

I refactored the stuff to use a namedtuple (which is immutable, so such
effects can not happen again).
2017-03-24 03:09:55 +01:00
enkore
fc41c98a86 Redo key_creator, key_factory, centralise key knowledge (#2272)
* key: put key metadata (name, storage) into key classses

* keymanager: use key-declared storage types
2017-03-08 17:08:54 +01:00
Marian Beermann
caeff71a6c init: mandatory --encryption arg 2017-02-16 19:03:23 +01:00
Marian Beermann
5bc03cc042 migrate-to-repokey: ask using canonical_path() as we do everywhere else 2017-02-04 15:16:18 +01:00
enkore
ded22d3650 Merge pull request #1927 from ThomasWaldmann/blake2b-mac-key-length
demonstrate mac key length issue
2017-01-12 01:21:13 +01:00
Marian Beermann
742bfa33c4 flake8 2016-12-21 00:36:31 +01:00
Marian Beermann
c7c8c0fb57 init: explain manifest auth compatibility
# Conflicts:
#	src/borg/archiver.py
2016-12-20 22:53:55 +01:00
Marian Beermann
5e1cb9d899 Add tertiary authentication for metadata (TAM) 2016-12-20 22:53:53 +01:00
Thomas Waldmann
58752c9de9 add assertion to demonstrate mac key length issue in test data 2016-12-04 17:56:23 +01:00
Marian Beermann
b7eaeee266 clean imports, remove unused code 2016-12-03 17:50:50 +01:00
TW
10d143925c Merge pull request #1904 from enkore/issue/1896
blake2b key modes: use B2B as MAC; longer keys.
2016-12-01 00:59:55 +01:00
Thomas Waldmann
a100fb67eb Merge branch '1.0-maint' into merge-1.0-maint
# Conflicts:
#	AUTHORS
#	src/borg/archive.py
#	src/borg/key.py
2016-11-30 05:38:04 +01:00
Marian Beermann
8949f2c758
blake2b key modes: use B2B as MAC; longer keys. 2016-11-30 00:24:05 +01:00
Thomas Waldmann
0a0b913739 implement BORG_NEW_PASSPHRASE, fixes #1768 2016-11-24 23:43:27 +01:00
Marian Beermann
00ac7b14be Add BLAKE2b key types 2016-11-11 03:07:05 +01:00
Thomas Waldmann
b0cc4fd74a Merge branch '1.0-maint' into merge-1.0-maint 2016-10-13 19:10:04 +02:00
enkore
27bc73c23e borg info <repo>: print general repo information (#1680) 2016-10-03 14:53:16 +02:00
Thomas Waldmann
2a864be84f Merge branch '1.0-maint' into merge-1.0-maint
# Conflicts:
#	setup.py
#	src/borg/archiver.py
#	src/borg/helpers.py
2016-09-27 21:31:41 +02:00
Martin Hostettler
620f505a14 Reserve nonce space for AES-CTR before using it.
Reusing the nonce totally breaks AES-CTR confidentiality.

This code uses a reservation of nonce space and stores the next nonce available for
a future reservation on the client and in the repository.

Local storage is needed to protect against evil repositories that try to gain access to
encrypted data by not saving nonce reservations and aborting the connection or otherwise
forcing a rollback.

Storage in the repository is needed to protect against another client writing to the
repository after a transaction was aborted and thus not seeing the last used nonce from
the manifest.

With a real counter mode cipher protection for the multiple client case with an actively
evil repository is not possible. But this still protects against cases where the attacker can
not arbitrarily change the repository but can read everything stored and abort connections
or crash the server.

Fixes #22
2016-08-27 15:31:50 +02:00
Marian Beermann
c2c90645ad Add Key.assert_id function 2016-08-14 17:41:33 +02:00
Marian Beermann
a80b371d09 Add decompress arg to Key.decrypt 2016-08-14 17:41:33 +02:00
Thomas Waldmann
c955d59273 Merge branch '1.0-maint' 2016-08-09 20:09:13 +02:00
Marian Beermann
2e3fc9ddfc SyncFile/SaveFile: default binary=False, just like open() 2016-07-26 22:49:25 +02:00
Marian Beermann
f4be2b3523 Use platform.SaveFile for repository, cache and key files
Fixes #1060
2016-07-09 21:10:46 +02:00
Thomas Waldmann
d2468d37df add Key/EncryptedKey PropDict 2016-06-12 04:28:40 +02:00
Thomas Waldmann
d3deec9fc9 cleanup / reorder imports
import stdlib
from stdlib import x

import 3rd party

import borg stuff
2016-05-31 01:18:03 +02:00
Thomas Waldmann
49484d6d67 split helpers import into multiple ones 2016-05-31 00:33:13 +02:00
Thomas Waldmann
3ce35f6843 Merge branch 'master' into move-to-src 2016-05-21 19:06:01 +02:00
Thomas Waldmann
d1ea925a5b move borg package to src/ 2016-05-05 20:19:50 +02:00
Renamed from borg/key.py (Browse further)