Commit graph

8578 commits

Author SHA1 Message Date
Alexander Neumann
53e66a4935 Design.md: Minor fixes 2015-03-22 22:53:29 +01:00
Alexander Neumann
2dad4fba3a Clarify ciphertext mac 2015-03-22 21:29:19 +01:00
Alexander Neumann
02282a4fff Clarify use of poly1305 2015-03-22 21:26:14 +01:00
Alexander Neumann
53ad706c6d Remove unused 'ram' tool 2015-03-22 21:03:25 +01:00
Alexander Neumann
0ed2a066a0 Document crypto and master key JSON struct 2015-03-22 21:03:01 +01:00
Alexander Neumann
65a653693e Rename keys to MasterKeys 2015-03-22 19:19:33 +01:00
Alexander Neumann
664a12c950 Collect all master crypto keys in a single structure 2015-03-22 19:18:34 +01:00
Alexander Neumann
78727c17a3 Update documentation to reflect changed crypto 2015-03-22 19:18:09 +01:00
Alexander Neumann
47d71d23d2 Refactor JSON data structure for master keys 2015-03-22 19:09:30 +01:00
Alexander Neumann
3e246170de Remove cache entries for non-existing snapshots 2015-03-22 16:09:35 +01:00
Alexander Neumann
5257c54585 Correct string for catting data blobs 2015-03-22 15:42:46 +01:00
Alexander Neumann
1c0e76ccd6 Bugfix: Backup changed data in incremental mode 2015-03-22 15:09:54 +01:00
Alexander Neumann
cfa2229bc0 Refactor cache refresh for blobs, add progress 2015-03-22 15:09:50 +01:00
Alexander Neumann
702cf3c2ff Progress: Add function that is called on Start() 2015-03-22 14:19:16 +01:00
Alexander Neumann
f2df072f48 Progress: Don't panic for not running progress 2015-03-22 14:17:19 +01:00
Florian Daniel
2506fa9bef fixed variable handling, new go ldflags 2015-03-22 13:41:45 +01:00
Alexander Neumann
0d39d46ac6 Fix YAML config (again) 2015-03-22 13:26:41 +01:00
Alexander Neumann
c58fc8b6a2 Fix travis again 2015-03-22 13:22:32 +01:00
Alexander Neumann
e1acade174 Fix travis build 2015-03-22 13:09:14 +01:00
Alexander Neumann
30ce48dc32 Add '-s' ldflag and output size to travis tests 2015-03-22 12:58:32 +01:00
Alexander Neumann
aca0692ee6 Add more error reporting 2015-03-21 14:43:33 +01:00
Alexander Neumann
865d315ad6 Shorten status output if terminal is small
Closes #107
2015-03-16 20:48:29 +01:00
Alexander Neumann
489cc654e8 Fix ETA display
Closes #111
2015-03-16 20:20:53 +01:00
Florian Daniel
d9fbf9ad02 archlinux PKGBUILD added. Thanks to the contributors.
Closes #44
Closes #106
2015-03-15 16:32:43 +01:00
Alexander Neumann
5740f202e3 Add "Golang" keyword to README 2015-03-15 16:13:03 +01:00
Alexander Neumann
71a57537ef Report errors, ignore files and continue. Closes #108 2015-03-15 15:48:05 +01:00
Alexander Neumann
1bb82afcf6 Add tests for bug #101 2015-03-15 15:27:22 +01:00
Alexander Neumann
c9ee79fc54 DebugIf: only test function when tag is enabled 2015-03-15 14:19:37 +01:00
Alexander Neumann
6aed4035f5 Add BreakIf function 2015-03-15 14:00:28 +01:00
Alexander Neumann
3d768e39ea Add more error reporting 2015-03-15 12:20:30 +01:00
Alexander Neumann
56bca76b74 Fix benchmark for EncryptWriter 2015-03-14 22:42:30 +01:00
Alexander Neumann
12c8522b33 Fix file mode for data blobs 2015-03-14 20:19:52 +01:00
Alexander Neumann
e896a33c43 Remove a few Go versions 2015-03-14 20:02:17 +01:00
Alexander Neumann
662e07d17a Refactor crypto layer, switch HMAC for Poyl1305-AES
HMAC-SHA256 calls SHA256() twice which is very expensive. Therefore,
this commit uses Poly1305-AES instead of HMAC-SHA256.

benchcmp:

     benchmark                         old ns/op      new ns/op      delta
     BenchmarkChunkEncrypt             261033772      195114818      -25.25%
     BenchmarkChunkEncryptParallel     260973195      195787368      -24.98%
     BenchmarkArchiveDirectory         1050500651     1002615884     -4.56%
     BenchmarkPreload                  23544286       24994508       +6.16%
     BenchmarkLoadTree                 350065         427665         +22.17%
     BenchmarkEncryptWriter            87789753       31069126       -64.61%
     BenchmarkEncrypt                  88283197       38259043       -56.66%
     BenchmarkDecryptReader            90478843       40714818       -55.00%
     BenchmarkEncryptDecryptReader     179917626      81231730       -54.85%
     BenchmarkDecrypt                  87871591       37784207       -57.00%
     BenchmarkSaveJSON                 52481          56861          +8.35%
     BenchmarkSaveFrom                 75404085       51108596       -32.22%
     BenchmarkLoadJSONID               90545437       82696805       -8.67%

     benchmark                         old MB/s     new MB/s     speedup
     BenchmarkChunkEncrypt             40.17        53.74        1.34x
     BenchmarkChunkEncryptParallel     40.18        53.56        1.33x
     BenchmarkEncryptWriter            95.55        270.00       2.83x
     BenchmarkEncrypt                  95.02        219.26       2.31x
     BenchmarkDecryptReader            92.71        206.03       2.22x
     BenchmarkEncryptDecryptReader     46.62        103.27       2.22x
     BenchmarkDecrypt                  95.46        222.01       2.33x
     BenchmarkSaveFrom                 55.62        82.07        1.48x

     benchmark                         old allocs     new allocs     delta
     BenchmarkChunkEncrypt             112            110            -1.79%
     BenchmarkChunkEncryptParallel     103            100            -2.91%
     BenchmarkArchiveDirectory         383704         392083         +2.18%
     BenchmarkPreload                  21765          21874          +0.50%
     BenchmarkLoadTree                 341            436            +27.86%
     BenchmarkEncryptWriter            20             17             -15.00%
     BenchmarkEncrypt                  14             13             -7.14%
     BenchmarkDecryptReader            18             15             -16.67%
     BenchmarkEncryptDecryptReader     46             39             -15.22%
     BenchmarkDecrypt                  16             12             -25.00%
     BenchmarkSaveJSON                 81             86             +6.17%
     BenchmarkSaveFrom                 117            121            +3.42%
     BenchmarkLoadJSONID               80525          80264          -0.32%

     benchmark                         old bytes     new bytes     delta
     BenchmarkChunkEncrypt             118956        64697         -45.61%
     BenchmarkChunkEncryptParallel     118972        64681         -45.63%
     BenchmarkArchiveDirectory         160236600     177498232     +10.77%
     BenchmarkPreload                  2772488       3302992       +19.13%
     BenchmarkLoadTree                 49102         46484         -5.33%
     BenchmarkEncryptWriter            28927         8388146       +28897.64%
     BenchmarkEncrypt                  2473          1950          -21.15%
     BenchmarkDecryptReader            527827        2774          -99.47%
     BenchmarkEncryptDecryptReader     4100875       1528036       -62.74%
     BenchmarkDecrypt                  2509          2154          -14.15%
     BenchmarkSaveJSON                 4971          5892          +18.53%
     BenchmarkSaveFrom                 40117         31742         -20.88%
     BenchmarkLoadJSONID               9444217       9442106       -0.02%

This closes #102.
2015-03-14 20:00:41 +01:00
Alexander Neumann
3c92c7e689 Recreate blob cache if missing (closes #104) 2015-03-14 18:15:47 +01:00
Alexander Neumann
05f3e98ed9 Try different spelling of 'go' 2015-03-14 15:38:59 +01:00
Alexander Neumann
3bbd66f43a Move section, remove 'tip' 2015-03-14 15:37:12 +01:00
Alexander Neumann
f6977f1a6a Add 'release' to the list of Go versions 2015-03-14 15:34:30 +01:00
Alexander Neumann
3f816f95c1 Include more Go versions 2015-03-14 15:07:29 +01:00
Alexander Neumann
23ac4f84dd Set file-mode in repository read-only (Closes #48) 2015-03-14 14:30:26 +01:00
Alexander Neumann
248878022c Add Travis IRC notifications 2015-03-14 13:24:45 +01:00
Alexander Neumann
1e4555aa5f Exchange build-status icon 2015-03-14 13:23:44 +01:00
Alexander Neumann
6618afe5c2 Change CI-Service: Use travis instead of wercker 2015-03-14 13:19:52 +01:00
Alexander Neumann
b17840c6ee Refactor cache and 'cache' command 2015-03-14 12:57:29 +01:00
Alexander Neumann
e1fc17aeb1 Implement per-repository cache 2015-03-14 12:16:28 +01:00
Alexander Neumann
f69a39cff5 Add ID to repository
This allows identifying a repository regardless if it's accessed over
SFTP or locally. Introduced for having a per-repository cache.
2015-03-14 12:06:27 +01:00
Alexander Neumann
8156d4481d Add hint to IRC channel 2015-03-13 21:46:52 +01:00
Alexander Neumann
91578fb2a3 Fix counting for tests for Preload 2015-03-10 15:58:23 +01:00
Alexander Neumann
6d5f1c0197 Add test for incremental backup 2015-03-10 14:17:54 +01:00
Alexander Neumann
7b54c21726 Store ID in Snapshot 2015-03-10 14:17:52 +01:00