George Armhold
0dc31c03e1
remove check for context.Canceled
...
gh-1434
2017-12-06 05:38:29 -05:00
George Armhold
20d78ab0d9
add context to repo.Flush() call in test code
...
gh-1434
2017-12-03 07:32:50 -05:00
George Armhold
be24237063
make retry code context-aware.
...
detect cancellation in backend, so that retry code does not keep trying
once user has hit ^c
gh-1434
2017-12-03 07:22:14 -05:00
George Armhold
d886cb5c27
replace ad-hoc context.TODO() with gopts.ctx, so that cancellation
...
can properly trickle down from cmd_*.
gh-1434
2017-12-03 07:22:14 -05:00
Alexander Neumann
0b44c629f2
retry: Remove file after failed save
2017-11-30 22:05:14 +01:00
Alexander Neumann
410efe0694
Merge pull request #1454 from restic/fix-cache-dir
...
Fix cache dir detection
2017-11-29 18:43:07 +01:00
Alexander Neumann
eddb8549ef
backup: By default, do not save the access time
...
This can be re-enabled with `--with-atime`.
2017-11-28 21:31:35 +01:00
Alexander Neumann
dc38265b54
Merge pull request #1436 from restic/remove-old-cache
...
Remove old cache directories
2017-11-27 21:37:05 +01:00
Alexander Neumann
0f5e38609f
restore: Fix restore to relative path
2017-11-26 18:36:48 +01:00
Alexander Neumann
27d29b9853
restorer: Make sure node names are clean
2017-11-26 15:28:45 +01:00
Alexander Neumann
8a171731ba
restorer: Add tests for invalid node names
2017-11-26 15:28:37 +01:00
Alexander Neumann
134abbd82b
rest: Use client for creating the repository
...
Before, creating a new repo via REST would use the defaut HTTP client,
which is not a problem unless the server uses HTTPS and a TLS
certificate which isn't signed by a CA in the system's CA store. In this
case, all commands work except the 'init' command, which fails with a
message like "invalid certificate".
2017-11-25 20:56:40 +01:00
Alexander Neumann
1ebf0e8de8
Merge pull request #1437 from restic/fix-1292
...
s3: Document and remove default prefix
2017-11-25 11:34:26 +01:00
Alexander Neumann
47b326b7b5
Merge pull request #1423 from harshavardhana/creds
...
Fix chaining of credentials for minio-go
2017-11-24 21:57:52 +01:00
Alexander Neumann
f79698dcdd
Merge pull request #1410 from armhold/deadlock2
...
unify behavior for max http connections across backends
2017-11-24 21:32:56 +01:00
Alexander Neumann
f4bab789b8
cache: Simplify cache dir creation
2017-11-24 20:53:26 +01:00
Alexander Neumann
fa893ee477
cache: Add detection code for old cache dirs
2017-11-24 20:53:26 +01:00
Alexander Neumann
262b0cd9d4
s3: Remove default prefix "/restic"
2017-11-21 21:33:09 +01:00
Alexander Neumann
e83ec17e95
s3: Correct comment
2017-11-20 22:21:39 +01:00
Alexander Neumann
ea593fca1b
cache: Correctly return dir for Windows/darwin
2017-11-20 06:11:18 +01:00
Alexander Neumann
fe1f151ae1
cache: Return error during default dir detection
2017-11-20 06:10:42 +01:00
Harshavardhana
41c8c946ba
Fix chaining of credentials for minio-go
...
chaining failed because chaining provider
was only looking for subsequent credentials
provider after an error. Writer a new
chaining provider which proceeds to fetch
new credentials also under situations where
providers do not return but instead return
no keys at all.
Fixes https://github.com/restic/restic/issues/1422
2017-11-18 02:51:12 -08:00
George Armhold
0268d0e7d6
swift backend: limit http concurrency in Save(), Stat(), Test(), Remove(),
...
List().
move comment regarding problematic List() backend api (it's s3's ListObjects
that has a problem, NOT swift's ObjectsWalk).
As per discussion in PR #1399 .
2017-11-02 18:29:32 -04:00
George Armhold
8515d093e0
swift backend: fix premature release of semaphore in Load() & document
...
concurrency issue in List().
refactor wrapReader from b2 -> semaphore so it can be used elsewhere.
As per discussion in PR #1399 .
2017-11-02 12:38:17 -04:00
George Armhold
99ac0da4bc
s3 backend: limit http concurrency in Save(), Stat(), Test(), Remove()
...
NB: List() is NOT currently limited, as it would cause deadlock due to
be.client.ListObjects() implementation.
as per discussion in PR #1399
2017-11-01 09:40:54 -04:00
Alexander Neumann
6d46824fb0
Pass in a nil buffer to Open()
2017-11-01 10:30:40 +01:00
Alexander Neumann
bb435b39d9
crypto: Rework Seal/Open to use sliceForAppend
2017-11-01 10:30:40 +01:00
Alexander Neumann
2a67d7a6c2
crypto: Correct test function names
2017-11-01 10:30:40 +01:00
Alexander Neumann
ba43c8bab5
crypto: Fix nonce test, make it faster
2017-11-01 10:30:40 +01:00
Alexander Neumann
931e6ed2ac
Use Seal/Open everywhere
2017-11-01 10:30:40 +01:00
Alexander Neumann
a5f0e9ab65
Remove custom Encrypt/Decrypt methods
2017-11-01 10:30:40 +01:00
Alexander Neumann
6fc133ad6a
Run tests on Seal/Open
2017-11-01 10:30:40 +01:00
Alexander Neumann
e1b80859f2
Make crypto.Key implement cipher.AEAD
2017-11-01 10:30:39 +01:00
George Armhold
d069ee31b2
GS backend: limit http concurrency in Save(), Stat(), Test(), Remove(), List()
...
as per discussion in PR #1399
2017-10-31 08:01:43 -04:00
George Armhold
981752ade0
Azure backend: limit http concurrency in Stat(), Test(), Remove()
...
as per discussion in PR #1399
2017-10-31 07:32:30 -04:00
George Armhold
2f8147af59
log unexpected errs from b2 ListCurrentObject()
...
gh-1385
2017-10-29 08:53:39 -04:00
Alexander Neumann
f854a41ba9
Merge pull request #1399 from armhold/deadlock2
...
prevent deadlock in List() for B2 when b2.connections=1
2017-10-29 09:26:46 +01:00
George Armhold
3304b0fcf0
prevent deadlock in List() for B2 when b2.connections=1
...
This is a fix for the following situation (gh-1188):
List() grabs a semaphore token upon entry, starts a goroutine, and
does not release the token until the routine exits (via a defer).
The goroutine iterates over the results from ListCurrentObjects(),
sending them one at a time to a channel, where they are ultimately
processed by be.Load().
Since be.Load() also needs a token, this will result in deadlock if
b2.connections=1.
This fix changes List() so that the token is only held during the call
to ListCurrentObjects().
2017-10-28 18:46:47 -04:00
George Armhold
d8938e259a
sftp ReadDir: add path to return error messages (gh-1323)
...
fix missing "Close" string in debug log fmt
2017-10-28 14:16:27 -04:00
Alexander Neumann
e71db01230
Improve crypto test
2017-10-28 12:09:33 +02:00
Alexander Neumann
178e946fc7
Rename KDFParams -> Params
2017-10-28 10:28:29 +02:00
Alexander Neumann
7a99418dc5
Merge pull request #1393 from armhold/lint-errcheck
...
detect errors from fs.Walk() in local backend List()
2017-10-28 09:56:11 +02:00
Alexander Neumann
c71ba466ea
Merge pull request #1391 from armhold/b2-listmax
...
pass in defaultListMaxItems to b2Backend constructor
2017-10-28 09:54:57 +02:00
Alexander Neumann
8ce5d35543
Merge pull request #1390 from armhold/lint
...
small cleanup
2017-10-28 09:54:35 +02:00
George Armhold
8a37c07295
send errors from fs.Walk() to debug log
...
clarify non-err returns from Walk where err is already proved to be nil
2017-10-27 08:41:17 -04:00
George Armhold
bd0ada7842
go fmt
2017-10-26 16:37:11 -04:00
George Armhold
eea96f652d
go fmt
2017-10-26 16:22:10 -04:00
George Armhold
38c3061df7
pass in defaultListMaxItems to b2Backend constructor
...
gh-1385
2017-10-26 14:22:16 -04:00
George Armhold
f5fa602482
detect and return error from file Close() in Node.createFileAt()
...
gh-1385
2017-10-26 13:53:31 -04:00
Konrad Wojas
5b96885c6d
Control progress rate with RESTIC_PROGRESS_FPS env
...
Add a RESTIC_PROGRESS_FPS environment variable to limit the interval
at which the progress indicator updates (allowed values: 1-60).
The default rate of 60 FPS can cause high terminal CPU load on some
systems, like iTerm2 on macOS with font anti-aliasing enabled.
Usage:
RESTIC_PROGRESS_FPS=1 restic ...
RESTIC_PROGRESS_FPS=60 restic ...
2017-10-26 14:46:56 +08:00