librelist archives

« back to archive

Development updates

Development updates

Thomas Waldmann
2015-03-18 @ 23:35
There is a new, unofficial repo called "merge" at .

In there, there are 3 branches:

"master" = same as jborg/attic master
"merge" = merging all fixes and pull requests that seem uncritical
"merge-all" = "merge" branch stuff + more critical/bigger changes

Testing of the merge / merge-all branch is welcome, but always be careful.
Do not file bugs for these repos at jborg/attic, except if you can
reproduce them also on official code.

Stuff in "merge" that is not in "master" minus minor changes:

dummy acl and xattr implementation for unsupported platforms
give specific path to xattr.is_enabled(), disable symlink setattr call that
always fails
less memory usage: do not create items_buffer and chunker unless we are
creating new archive
fix misleading hint the fuse ImportError handler gave, fixes #237
source: misc. cleanups, pep8, style
serve: use os.write(stdout_fd, ...), fixes #233
implement attic check --last N
check: sort archives in reverse time order
avoid defect python-msgpack releases, fixes #171, fixes #185
check unpacked data from RPC for tuple type and correct length, fixes #127
Cache: do not try to release the lock twice
less memory usage: add global option --no-cache-files
fix traceback when trying to do unsupported passphrase change, fixes #189
datetime does not like the year 10.000, fixes issue #139
docs improvements, fixes, updates
cleanup crypto.pyx, make it easier to adapt to other modes
attic extract: if --stdout is given, write all extracted binary data to
attic create: if "-" is given as path, read binary from stdin
do os.fsync like recommended in the python docs
Extra debug information for 'fread failed'
FUSE: reflect deduplication in allocated blocks
Only allow whitelisted RPC calls in server mode
Normalize source/exclude paths before matching

Stuff in merge-all that is not in merge minus minor changes:

added tuning docs

attic init --compression NN --cipher NN --mac NN ...
(see attic init --help)

new hashes:      sha512_256
                 ghash (default)
new MACs:        hmac-sha512-256
                 gmac (default)
new ciphers:     aes256-ctr + hmac-sha512-256
                 aes256-gcm (default)
new compression: no compression (default)
                 zlib level 1..9 (previously, level 6 was hardcoded)
                 lzma preset 0..9

source: more flexible type 0x03 header format, allowing to give hash algo,
compression algo and level, encryption algo, key type.

source: less hardcoding, numeric offsets / lengths
source: flexible hashing, compression, encryption, key dispatching

Have fun! :)