Commit Graph

573 Commits

Author SHA1 Message Date
Antoine Beaupré b7c26735f7 fix formatting issues 2014-12-16 10:59:02 -05:00
Antoine Beaupré d58b6ddf28 fix reference errors and remove reference to source code 2014-12-16 10:55:03 -05:00
Antoine Beaupré 688ba109ef reorder to be more logical and more gentle 2014-12-16 10:35:53 -05:00
Antoine Beaupré ddca3b856b add a more gentle introduction 2014-12-16 10:30:57 -05:00
Antoine Beaupré 1fde2a9771 add more details on how encryption works 2014-12-16 10:20:52 -05:00
Antoine Beaupré fd56bf0887 document the repo config file and more storage properties
again taken from the mailing list, mostly
2014-12-16 10:20:23 -05:00
Antoine Beaupré 3f27c367fe document more internals, based on mailing list discussion
this should address #27, #28 and #29 at least at a basic level

it is mostly based on the mailing list discussion mentionned in #27,
with some reformatting and merging of different posts.
2014-12-16 10:04:37 -05:00
Antoine Beaupré 9f0ed2a8c0 clarify some bits I missed 2014-12-16 10:03:20 -05:00
Antoine Beaupré a8ab9c3445 document key files in a new Internals page
this is still incomplete as it only describes key files, but doesn't
clearly say how chunks are encrypted or decrypted.

this address parts of #29 but eventually that document should also
cover #27, #28 and maybe #45
2014-12-16 09:10:34 -05:00
Jonas Borgström e9c27e8e6d Added missing changelog entry 2014-12-14 14:30:41 +01:00
Jonas Borgström 18641ae687 xattr: Fix issue with empty (0 bytes) xattr values.
Closes #106
2014-12-14 14:28:33 +01:00
Jonas Borgström 53f6738090 Merge pull request #111 from c4rlo/patch-1
fix typo in comment
2014-12-08 21:48:36 +01:00
Jonas Borgström 5d96434abd Merge pull request #113 from c4rlo/noatime
open files with O_NOATIME if possible
2014-12-08 21:48:04 +01:00
Jonas Borgström 7e15abd29c hashindex: Fix issue with indicies larger than 2GB 2014-11-22 14:41:24 +01:00
Jonas Borgström 5c699b30a7 Merge pull request #129 from kannes/master
fixing two typos
2014-11-20 21:29:29 +01:00
kannes aee2983c6e fixing two typos 2014-11-19 13:09:53 +01:00
Jonas Borgström ca177aba60 Merge pull request #126 from dfries/master
limit create file permissions
2014-11-12 20:01:43 +01:00
David Fries f22b62c1a4 limit create file permissions
Be safe by default, create files so that other users can't read them,
at least until the original permissions are set.
2014-10-31 20:02:12 -05:00
Jonas Borgström 678fdd1d42 Fix "Number of files" output for attic info.
Closes #124
2014-10-27 22:00:56 +01:00
Jonas Borgström 547fa0a590 Speed up initial repository access
Use os.listdir() instead of os.walk() to avoid unnecessary
stat() calls.

Closes #119
2014-10-10 21:01:55 +02:00
Jonas Borgström 7b9d129bcd Remove dead code 2014-10-09 20:43:58 +02:00
Jonas Borgström 5a69f58823 Introduce a separate exception for missing repository objects 2014-10-09 20:41:47 +02:00
Carlo Teubner f4804c07ca open files with O_NOATIME if possible 2014-09-12 22:22:08 +01:00
c4rlo ec73e45ae2 fix typo in comment 2014-09-07 13:54:18 +01:00
Jonas Borgström 21e03af56b Fix minor location parser bug.
Make sure the entire input is parsed.
2014-08-08 23:34:27 +02:00
Jonas Borgström 9f64e39d9f Reuse chunker buffer between files. 2014-08-03 15:04:41 +02:00
Jonas Borgström 193fb1fcd5 Added support for stripping leading path segments
closes #95
2014-08-02 22:15:21 +02:00
Jonas Borgström 8f4e0f7506 acl: Added workaround for old Linux systems
Really old Linux systems do not have extended_file_no_follow()
2014-08-01 15:50:18 +02:00
Jonas Borgström 0741aef880 Add MacPorts' path to the default openssl search path
Closes #101
2014-08-01 14:48:49 +02:00
Jonas Borgström 1b0e21b95a Fixed typo 2014-07-10 15:44:29 +02:00
Jonas Borgström 2f72b9f960 HashIndex: Switch to a non-mmap based implementation
This eliminates unnecessary IO on low memory systems
2014-07-10 15:32:29 +02:00
Jonas Borgström 4b2dae29d4 Fix incorrect detect of follow_symlinks support
This only affects system with Python 3.3+ and a really old libc
2014-07-01 21:28:07 +02:00
Jonas Borgström 7a950be929 Preparing release 2014-06-29 14:28:02 +02:00
Jonas Borgström 7ce3290fb2 docs: Added link to prebuilt Linux binaries. 2014-06-29 14:24:45 +02:00
Jonas Borgström 15065dbaa4 Fix sporadic "Resource temporarily unavailable" error
Issue reported on the mailing list while backing up to a remote
repository on OS X over a slow uplink.
2014-06-13 20:07:01 +02:00
Jonas Borgström 95162ce1f8 buzhash: One more test case
Test with more than 31 bytes to make sure our BARREL_SHIFT macro
works correctly.
2014-06-05 15:11:46 +02:00
Jonas Borgström df85e72d3c Fix file cache save bug 2014-06-03 23:10:52 +02:00
Jonas Borgström 243481f6da Fix test suite breakage 2014-06-03 22:00:34 +02:00
Jonas Borgström 80a2a4113f Revert "Reduce memory usage when backing up many small files"
The memory usage should be reduced a fair bit by #90 so this
might not be needed anymore. Or at least not enabled by default
2014-06-03 21:39:26 +02:00
Jonas Borgström 7f9fe03917 cache: Reduce file cache memory usage (#90)
The memory usage is reduced at the expence of extra msgpack
packing/unpacking. Hopefully this is a good tradeoff.

Ideally the entire cache should be replaced with a radix tree
but that will have to wait a bit.
2014-06-03 21:19:02 +02:00
Jonas Borgström 64cd6632a1 Avoid deadlock problems
Explicitly use write locks, instead of read locks (that are later
upgraded) unless we know we will never modify the repository
2014-05-31 15:39:51 +02:00
Jonas Borgström af3e78e6b2 Really fix EDEADLK bug 2014-05-31 15:17:06 +02:00
Jonas Borgström 9178d76ce7 Fix py3.2 specific EDEADLK related bug. 2014-05-31 15:15:56 +02:00
Jonas Borgström 3ab53b776d Fix crash on extreme mtime timestamps (year 2400+)
Closes #81
2014-05-18 18:28:26 +02:00
Jonas Borgström 11687fbec1 crypto: store EVP_CIPHER_CTX on the stack 2014-05-13 23:18:32 +02:00
Cyril Roussillon 0b4e324af2 chunker: optimized the barrel shift
move the modulo out of the barrel shift and use 32bits variables so
that the compiler recognizes it and uses the "rol*" asm instructions.

Before: 245 MiB/s
After: 338 MiB/s

CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz

Modification by Jonas: commit message formatting and added
Cyril Roussillon to AUTHORS
2014-05-13 23:05:13 +02:00
Jonas Borgström 7e258c8401 crypto: Improved AES performance
attic.crypto now uses the OpenSSL EVP API for AES encryption.
This API uses AES-NI instructions when available resulting in
a significant AES encryption performance improvement:

Before: 80MiB/s
After: 1931MiB/s

Message size: 64kiB
CPU: Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz
2014-05-13 22:33:58 +02:00
Jonas Borgström 8cc9c02baa Update faq regarding acl support
Closes #66
2014-05-03 23:27:01 +02:00
Jonas Borgström dd5c0aa0e3 acl: make darwin acl code numeric_owner aware 2014-05-03 23:22:55 +02:00
Jonas Borgström 47c6141aab Experimental OS X ACL support (#66) 2014-05-03 15:10:11 +02:00