Michael Eischer
3e4c1ea196
fs: fix race condition in get/set security descriptor
...
Calling `Load()` twice for an atomic variable can return different
values each time. This resulted in trying to read the security
descriptor with high privileges, but then not entering the code path to
switch to low privileges when another thread has already done so
concurrently.
2024-08-30 12:46:07 +02:00
Michael Eischer
8828c76f92
rest: improve handling of HTTP2 goaway
...
The HTTP client can only retry HTTP2 requests after receiving a GOAWAY
response if it can rewind the body. As we use a custom data type,
explicitly provide an implementation of `GetBody`.
2024-08-30 12:46:07 +02:00
Michael Eischer
55ff4e046e
doc: full tree blob data structure is in the code
2024-08-30 12:46:07 +02:00
Michael Eischer
7ea558db99
doc: JSON encoder must be deterministic
2024-08-30 12:46:07 +02:00
Michael Eischer
71e8068d86
doc: mark S3 layout as deprecated
2024-08-30 12:46:07 +02:00
Michael Eischer
a45d21e2b9
doc: describe how to handle rewrite encoding error
2024-08-30 12:46:07 +02:00
Michael Eischer
97eb81564a
doc: fix typos
2024-08-30 12:45:20 +02:00
Michael Eischer
262e85c37f
doc: shrink wasabi / alibaba cloud example
...
Remove descriptions for both providers and shorten the example to the
minimum.
2024-08-30 12:45:20 +02:00
Michael Eischer
f451001f75
doc: use regional urls for Amazon S3 and add generic s3 provider section
...
Split description for non-Amazon S3 providers into separate section. The
section now also includes the `s3.bucket-lookup` extended option. Switch
to using regional URLs for Amazon S3 to replace the need for setting the
region.
2024-08-30 12:45:20 +02:00
Michael Eischer
5980daea64
doc/backup: move exit status codes section up
2024-08-30 12:45:20 +02:00
Michael Eischer
6b4f16f77b
doc/backup: link to exit code for scripting section
2024-08-30 12:45:20 +02:00
Michael Eischer
64d628bd75
make timeout for slow requests configurable
2024-08-30 12:45:20 +02:00
Michael Eischer
6eece31dc3
lock: introduce short delay between failed locking retries
...
Failed locking attempts were immediately retried up to three times
without any delay between the retries. If a lock file is not found while
checking for other locks, with the reworked backend retries there is no
delay between those retries. This is a problem if a backend requires a
few seconds to reflect file deletions in the file listings. To work
around this problem, introduce a short exponentially increasing delay
between the retries. The number of retries is now increased to 4. This
results in delays of 5, 10 and 20 seconds between the retries.
2024-08-30 12:45:20 +02:00
Michael Eischer
8206cd19c8
backend/retry: don't trip circuit breaker if context is canceled
...
When the context used for a load operation is canceled, then the result
is always an error independent of whether the file could be retrieved
from the backend. Do not false positively trip the circuit breaker in
this case.
The old behavior was problematic when trying to lock a repository. When
`Lock.checkForOtherLocks` listed multiple lock files in parallel and one
of them fails to load, then all other loads were canceled. This
cancelation was remembered by the circuit breaker, such that locking
retries would fail.
2024-08-30 12:45:20 +02:00
Michael Eischer
a99b824508
update docs
2024-08-30 12:45:20 +02:00
Michael Eischer
424740f62c
Add missing DisableAutoGenTag flag for commands
2024-08-30 12:45:20 +02:00
Michael Eischer
e5a08e6808
group commands and make features/options visible
2024-08-30 12:45:20 +02:00
Michael Eischer
cb16add8c8
restic: cleanup redundant code in test case
2024-08-30 12:45:20 +02:00
Michael Eischer
bc1aecfb15
restore: test timestamps for macOS resource forks are restored correctly
2024-08-30 12:45:20 +02:00
Michael Eischer
61aaddac28
restic: restore timestamps after extended attributes
...
restoring the xattr containing resource forks on macOS apparently
modifies the file modification timestamps. Thus, restore the timestamp
after xattrs.
2024-08-30 12:45:20 +02:00
Michael Eischer
a5f2d0cf56
Improve description for no password on secondary repo
2024-08-30 12:45:20 +02:00
Michael Eischer
00f63d72fa
Mention RESTIC_HOST environment variable in docs
2024-08-30 12:45:20 +02:00
Andreas Deininger
12089054d8
GitHub test actions: fix warnings 'Restore cache failed'
2024-08-30 12:45:20 +02:00
Srigovind Nayak
f6e8d92590
changelog: update changelog
2024-08-30 12:44:54 +02:00
Srigovind Nayak
a8032c932c
cache: remove redundant index file cleanup
...
addressing code review comments
2024-08-30 12:43:13 +02:00
Srigovind Nayak
8a7ae17d4d
Revert "repository: removed redundant prepareCache method from Repository"
...
This reverts commit 720609f8ba
.
2024-08-30 12:43:13 +02:00
Srigovind Nayak
0ca9355bc0
cache: add test for the automated cache clear to cache backend
2024-08-30 12:43:13 +02:00
Srigovind Nayak
b10d7ccdda
changelog: add unrelease changelog
2024-08-30 12:43:13 +02:00
Srigovind Nayak
1e68fbca90
repository: removed redundant prepareCache method from Repository
...
* remove the prepareCache method from the Repository
* changed the signature of the SetIndex function to no longer return an error
2024-08-30 12:43:13 +02:00
Srigovind Nayak
0cf1737289
cache: check for context cancellation before clearing cache
2024-08-30 12:43:13 +02:00
Srigovind Nayak
fac1d9fea1
cache: backend add List method and a cache clear functionality
...
* removes files which are no longer in the repository, including index files, snapshot files and pack files from the cache.
cache: fix ids set initialisation with NewIDSet()
2024-08-30 12:43:13 +02:00
Michael Terry
48e3832322
main: return an exit code (12) for "bad password" errors
2024-08-30 12:39:22 +02:00
Michael Eischer
61e1f4a916
backend: return correct error on upload/request timeout
2024-08-30 12:37:10 +02:00
aneesh-n
7642e05eed
Add test cases and handle volume GUID paths
...
Gracefully handle errors while checking for EA and add debug logs.
2024-08-30 12:37:10 +02:00
aneesh-n
51fad2eecb
Gracefully handle invalid prepared volume names
2024-08-30 12:37:10 +02:00
aneesh-n
111490b8be
Add changelog
2024-08-30 12:37:10 +02:00
aneesh-n
8861421cd6
Fix extended attributes handling for VSS snapshots
2024-08-30 12:37:10 +02:00
Andreas Deininger
c83b529c47
Fix typos
2024-08-30 12:37:10 +02:00
Shivashis Padhi
d15e693045
restore: Add progress bar to 'restore --verify'
2024-08-30 12:37:10 +02:00
Michael Eischer
283225f15f
Merge pull request #4994 from MichaelEischer/less-flaky-watchdog-test
...
backend: tweak timeouts to make watchdog timeout test less flaky
2024-08-10 19:35:38 +02:00
Michael Eischer
86390b453d
Merge pull request #4980 from zmanda/unsupported-ea-handling
...
Skip ExtendedAttribute processing in Windows for volumes that do not support EA
2024-08-10 17:11:12 +00:00
Michael Eischer
fa35e72214
backend: tweak timeouts to make watchdog timeout test less flaky
2024-08-10 19:08:03 +02:00
Michael Eischer
05571286b2
Merge pull request #4946 from mikix/json-errors
...
Improve error handling in --json mode
2024-08-10 17:04:56 +00:00
Michael Eischer
4ee3c9c8b9
Merge pull request #4951 from MichaelEischer/better-completions-poc
...
Improve CLI completions POC
2024-08-10 18:40:57 +02:00
aneesh-n
18e9d71d7a
Fix review comments
2024-08-10 10:38:04 -06:00
Michael Eischer
a164789321
Merge pull request #4977 from MichaelEischer/warn-on-incomplete-metadata
...
backup: warn but store store item if extended metadata is incomplete
2024-08-10 17:59:25 +02:00
Michael Eischer
09fd599057
Merge pull request #4973 from MichaelEischer/err-on-unknown-migration
...
migrate: show warning if migration is unknown
2024-08-10 15:43:58 +02:00
Michael Eischer
fb815abca5
Merge pull request #4979 from MichaelEischer/debug-log-flaky-mount-test
...
mount: enable debug log for TestMountSameTimestamps
2024-08-10 15:43:31 +02:00
aneesh-n
71632a8197
Handle extended length paths
2024-08-05 16:03:43 -06:00
aneesh-n
85639f5159
Add handling for relative paths, vss paths, UNC paths
2024-08-04 13:19:13 -06:00