1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-25 17:27:31 +00:00
Commit graph

7141 commits

Author SHA1 Message Date
Thomas Waldmann
4d570497be ctrl-c must not kill other subprocesses, fixes #6912
There are some other places with subprocesses:

- borg create --content-from-command
- borg create --paths-from-command
- (de)compression filter process of import-tar / export-tar
2022-08-06 23:37:38 +02:00
Thomas Waldmann
0ab82d57e4 ctrl-c must not kill the ssh subprocess, fixes #6912 2022-08-06 23:27:00 +02:00
TW
76ef20105f
Merge pull request #6941 from ThomasWaldmann/archive-items-indirect
massively increase archive metadata stream size limit, fixes #1473
2022-08-06 22:46:23 +02:00
Thomas Waldmann
fb74fdb710 massively increase per archive metadata stream size limit, fixes #1473
implemented by introducing one level of indirection, the limit is now
very high, so it is not practically relevant any more.

we always use the indirection (storing the metadata stream chunk ids list not
directly into the archive item, but into some repo objects referenced by the new
ArchiveItem.item_ptrs list).

thus, the code behaves the same for all archive sizes.
2022-08-06 19:01:41 +02:00
TW
02580c09ea
Merge pull request #6935 from ThomasWaldmann/mkstemp_mode-master
use a custom mkstemp with mode support, fixes #6933, fixes #6400
2022-08-05 13:04:37 +02:00
TW
fecabc8215
Merge pull request #6938 from ThomasWaldmann/fix-warnings2-master
make setuptools happy, fixes #6874 (try 2, same as in 1.2-maint)
2022-08-04 18:23:46 +02:00
Thomas Waldmann
449b02742f make setuptools happy, fixes #6874 (try 2, same as in 1.2-maint)
work around setuptools puking about:

          ############################
          # Package would be ignored #
          ############################
          Python recognizes 'borg.cache_sync' as an importable package,
          but it is not listed in the `packages` configuration of setuptools.

          'borg.cache_sync' has been automatically added to the distribution only
          because it may contain data files, but this behavior is likely to change
          in future versions of setuptools (and therefore is considered deprecated).

          Please make sure that 'borg.cache_sync' is included as a package by using
          the `packages` configuration field or the proper discovery methods
          (for example by using `find_namespace_packages(...)`/`find_namespace:`
          instead of `find_packages(...)`/`find:`).

          You can read more about "package discovery" and "data files" on setuptools
          documentation page.
2022-08-04 17:18:23 +02:00
Thomas Waldmann
52c47bd546 use a custom mkstemp with mode support, fixes #6933, fixes #6400
hopefully this is the final fix.

after first fixing of #6400 (by using os.umask after mkstemp), there
was a new problem that chmod was not supported on some fs.

even after fixing that, there were other issues, see the ACLs issue
documented in #6933.

the root cause of all this is tempfile.mkstemp internally using a
very secure, but hardcoded and for our use case problematic mode
of 0o600.

mkstemp_mode (mosty copy&paste from python stdlib tempfile module +
"black" formatting applied) supports giving the mode via the api,
that is the only change needed.

slightly dirty due to the _xxx imports from tempfile, but hopefully
this will be supported in some future python version.
2022-08-04 14:41:00 +02:00
TW
99c72c5f75
Merge pull request #6934 from ThomasWaldmann/fix-warnings-master
Fix warnings (master)
2022-08-04 14:08:30 +02:00
TW
23eb28d3b8
Merge pull request #6931 from ThomasWaldmann/copy-crypt-key
rename --copy-ae-key into --copy-crypt-key
2022-08-04 11:56:17 +02:00
Thomas Waldmann
0e0b33b5ff cache_sync directory: add a dummy __init__.py to get rid of setuptools warning 2022-08-04 11:55:03 +02:00
Thomas Waldmann
a7d4dd2ba6 unpack.h: fix compiler warnings, improve error handling 2022-08-04 11:20:23 +02:00
Thomas Waldmann
d003046078 hashindex.pyx: fix signedness warning 2022-08-04 10:50:38 +02:00
Thomas Waldmann
cc7984f423 _chunker.c: fix warnings on macOS
macOS does not have POSIX_FADV_DONTNEED, thus some variables are not
needed.
2022-08-04 10:46:36 +02:00
Thomas Waldmann
4ec17d969c rename --copy-ae-key into --copy-crypt-key 2022-08-04 10:32:24 +02:00
TW
afa282c977
Merge pull request #6930 from ThomasWaldmann/more-docs-updates
more docs updates
2022-08-04 10:12:02 +02:00
Thomas Waldmann
f621b21ec1 docs: update security.rst 2022-08-03 22:19:28 +02:00
Thomas Waldmann
c7c7690b26 build_man build_usage 2022-08-03 22:19:12 +02:00
Thomas Waldmann
c3345fe423 remove remainders of borg key migrate-to-repokey 2022-08-03 21:48:55 +02:00
Thomas Waldmann
78230dd299 docs: key: fix keyfile mode in example 2022-08-03 18:46:50 +02:00
Thomas Waldmann
17e75f3eea docs: transfer: talk of "related repo" 2022-08-03 18:33:02 +02:00
Thomas Waldmann
bcd7ab3dec docs: rcreate: explain "related repo" 2022-08-03 18:20:10 +02:00
TW
630097a99f
Merge pull request #6922 from ThomasWaldmann/one-crypt-key
Key: crypt_key instead of enc_key + enc_hmac_key, fixes #6611
2022-08-03 14:58:16 +02:00
Thomas Waldmann
d5df53732d increase Key.version to 2
Old borg (< 2.0) can not read/process the new keys that have crypt_key instead of enc_key and enc_hmac_key.
2022-08-03 12:25:58 +02:00
Thomas Waldmann
3ee69bc7ba Key: crypt_key instead of enc_key + enc_hmac_key, fixes #6611 2022-08-03 12:04:23 +02:00
TW
3794a3a9dc
Merge pull request #6923 from ThomasWaldmann/update-docs-master
update docs
2022-08-03 11:54:43 +02:00
Thomas Waldmann
89e4a52c56 docs: misc. updates
- remove outdated stuff
- fix infos for borg 2.0
2022-08-03 11:35:25 +02:00
TW
b0480a06d6
Merge pull request #6915 from horazont/docs/internal-details-master
docs(master): provide more details on object layout
2022-08-01 22:53:39 +02:00
TW
7fde480719
Merge pull request #6921 from ThomasWaldmann/new-ae-key
rcreate --copy-ae-key: copy AE key from key of other repo, fixes #6710
2022-08-01 15:30:58 +02:00
TW
1744c92967
Merge pull request #6919 from ThomasWaldmann/fix-delete-master
delete: remove unused option --keep-security-info
2022-08-01 15:12:06 +02:00
Thomas Waldmann
9878956140 rcreate --copy-ae-key: copy AE key from key of other repo, fixes #6710
default: create new, random authenticated encryption key.
2022-08-01 14:57:30 +02:00
TW
7222574214
Merge pull request #6920 from ThomasWaldmann/transfer-check-related
transfer: check whether ID hash method and chunker secret are same
2022-08-01 13:56:08 +02:00
Thomas Waldmann
a8dda5cb0c transfer: check whether ID hash method and chunker secret are same, fixes #6893
also: add PlaintextKey and AuthenticatedKey support to uses_same_id_hash function.
2022-08-01 13:27:47 +02:00
Thomas Waldmann
2c2afe4123 delete: remove unused option --keep-security-info
this option is only useful for deleting repos.
2022-08-01 11:41:39 +02:00
Jonas Schäfer
33b846e292 docs: update encryption drawing for new compression bytes
Since compression type identification has been split into type and
level, the graphic needed a slight update.

Unfortunately, I don't have access to Visio, so I converted this to odg.
2022-07-30 19:24:26 +02:00
Jonas Schäfer
c8ab490017 docs: provide more details on object layout
While writing my own out-of-band decoder, I had a hard time figuring out
how to unpack the manifest. From the description, I was only able to
read that the manifest is msgpack'd, but I had not been able to figure
out that it's also going through the same encryption+compression logic
as all other things do.

This should make it a little clearer and provide the necessary
information to understand how the compression works.
2022-07-30 19:24:26 +02:00
TW
c5a594688a
Merge pull request #6913 from ThomasWaldmann/prune-checkpointing-master
prune/delete --checkpoint-interval=1800 and ctrl-c/SIGINT support
2022-07-30 17:51:22 +02:00
Thomas Waldmann
0deb4352c1 prune/delete --checkpoint-interval=1800 and ctrl-c/SIGINT support, fixes #6284
manifest, repo and cache are committed every checkpoint interval.

also, when ctrl-c is pressed, finish deleting the current archive, commit and then terminate.
2022-07-30 17:24:40 +02:00
TW
762581a667
Merge pull request #6907 from ThomasWaldmann/fix-flags-formatting-master
list: fix {flags:<WIDTH>} formatting, fixes #6081
2022-07-30 15:32:34 +02:00
TW
2a4cf7c068
Merge pull request #6903 from ThomasWaldmann/fix-5719-master
check: try harder to create the key, fixes #5719
2022-07-30 15:29:47 +02:00
Thomas Waldmann
15cb54f623 list: fix {flags:<WIDTH>} formatting, fixes #6081
item.bsdflags is either not present or an int, thus we default to 0 (== no flags) if not present.
2022-07-29 10:44:37 +02:00
Thomas Waldmann
53830ecae9 check: try harder to create the key, fixes #5719
the old code did just 1 attempt to detect the repo decryption key.
if the first chunkid we got from the chunks hashtable iterator was accidentally
the id of the chunk we intentionally corrupted in test_delete_double_force,
setup of the key failed and that made the test crash.

in practice, this could of course also happen if chunks are corrupted, thus
we now do many retries with other chunks before giving up.

error handling was improved: do not return None (instead of a key), it just
leads to weird crashes elsewhere, but fail early with IntegrityError and a
reasonable error msg.

rename method to make_key to avoid confusion with borg.crypto.key.identify_key.
2022-07-29 10:34:58 +02:00
TW
e7c2506a7f
Merge pull request #6895 from ThomasWaldmann/ci-macos-master
CI: test on macOS 12 without fuse / fuse tests
2022-07-28 00:09:50 +02:00
Thomas Waldmann
ba1a26ffa5 CI: test on macOS 12 without fuse / fuse tests
too troublesome on github CI due to kernel extensions needed by macFUSE.
2022-07-27 22:31:06 +02:00
TW
61e8d9518b
Merge pull request #6784 from borgbackup/borg2
borg 2
2022-07-27 16:09:34 +02:00
Thomas Waldmann
ad7c7159b2 Merge branch 'master' into borg2 2022-07-27 13:49:50 +02:00
remyabel2
ddb805cd10
docs: add info on man page installation (#6888)
docs: add info about man page installation, fixes #6661
2022-07-27 12:48:27 +02:00
TW
19509f5fa5
Merge pull request #6889 from ThomasWaldmann/archive-progress-json-docs-master
docs: update archive_progress json description about "finished"
2022-07-27 12:47:12 +02:00
Thomas Waldmann
c7e719f209 docs: update archive_progress json description about "finished", see #6570 2022-07-25 13:05:16 +02:00
TW
a75b260fef
Merge pull request #6884 from a1346054/fixes
Fix typos and shellcheck warnings
2022-07-23 21:44:27 +02:00