Commit Graph

8421 Commits

Author SHA1 Message Date
Thomas Waldmann 66eb086c4a
fix msys build
forward port to get code in sync with 1.4-maint.

use "pip install -e ." before invoking pyinstaller, so we have
the _version.py built by setuptools_scm and also it compiled the
extension modules, so pyinstaller can pick them up.

msys2 hack:

https://stackoverflow.com/questions/76079590/error-plat-name-must-be-one-of-win32-win-amd64-win-arm32-win-arm6
2024-01-02 19:46:48 +01:00
Thomas Waldmann 5ca4703a47
use and require cython3 2024-01-02 19:30:14 +01:00
Thomas Waldmann 73284db53f
PATH: do not accept empty strings, fixes #4221 2024-01-02 19:17:55 +01:00
TW 1432f547fe
Merge pull request #7968 from strugee/patch-1
Fix typo
2023-12-17 18:46:35 +01:00
AJ Jordan f3ae0467b5
Fix typo 2023-12-17 01:13:43 -05:00
Thomas Waldmann 74c34ba7c6
docs: update security docs about new one-step KDF 2023-12-02 20:35:16 +01:00
Thomas Waldmann a4602c6f61
remove unused hkdf_hmac_sha512 and related tests 2023-12-02 20:35:14 +01:00
Thomas Waldmann 64ce6d5923
crypto: use a one-step kdf for session keys, fixes #7953
also:
- fixes, simplifies, speeds up _get_session_key
- convert sessionid memoryview to bytes before calling _get_cipher,
to avoid TypeError in (crypt_key + sessionid + domain) operation.
- add docstring and comments
2023-12-02 20:33:07 +01:00
TW 42f04e91a1
Merge pull request #7962 from ThomasWaldmann/update-changes-master
add 1.2.7 changes
2023-12-02 18:01:54 +01:00
Thomas Waldmann 0f074fa2b6
add 1.2.7 changes 2023-12-02 18:01:00 +01:00
TW 6a511fd68a
Merge pull request #7944 from Gelma/typos
Fix typos
2023-12-02 00:45:21 +01:00
Thomas Waldmann fe17ce2bba
fix typos
Thanks go to:
Author: Andrea Gelmini <andrea.gelmini@gelma.net>
2023-12-01 21:58:26 +01:00
TW 443245a547
Merge pull request #7947 from ad8e/master
Remove period after command, for clarification. Port to master
2023-11-27 18:13:05 +01:00
TW 223d189ff7
Merge pull request #7951 from ThomasWaldmann/allow-platformdirs4-master
allow platformdirs 4, fixes #7950
2023-11-27 18:09:12 +01:00
Thomas Waldmann b0f7b05f43
CI: also trigger if a .toml file changes
Usually this might be pyproject.toml.
2023-11-27 17:23:36 +01:00
Thomas Waldmann 0e7b87c1ba
allow platformdirs 4, fixes #7950 2023-11-27 17:12:50 +01:00
Kevin Yin 4f92f9462e
Port changes to master 2023-11-23 07:48:26 -08:00
TW 6a5feaffac
Merge pull request #7941 from ThomasWaldmann/lockroster-remove-fix-master
LockRoster.modify: no KeyError if element was already gone, fixes #7937
2023-11-18 20:32:17 +01:00
Thomas Waldmann 2d86b7e1ac
add type annotation for mypy 2023-11-18 18:31:43 +01:00
Thomas Waldmann 046f9fe392
LockRoster.modify: no KeyError if element was already gone, fixes #7937
The intention of LockRoster.modify(key, REMOVE) is to remove self.id.

Using set.discard will just ignore it if self.id is not present there anymore.

Previously, using set.remove triggered a KeyError that has been frequently
seen in tracebacks of teardowns involving Repository.__del__ and Repository.__exit__.

I added a REMOVE2 op to serve one caller that needs to get the KeyError if
self.id was not present.

Thanks to @herrmanntom for the workaround!
2023-11-18 17:39:30 +01:00
TW 7c20bb52d1
Merge pull request #7936 from zDEFz/patch-2
make SERIAL backup method compatible to borg2
2023-11-13 20:38:42 +01:00
zDEFz c4decb4fff
make SERIAL backup method compatible to borg2 2023-11-13 20:23:52 +01:00
zDEFz 6bbd327dc2
Added backup by serial method documentation (#7932)
docs: create disk/partition sector backup by disk serial number
2023-11-13 13:45:19 +01:00
TW 8ebeb3ccc7
Merge pull request #7929 from sophie-h/wip/sohpie-h/docs-rebuild-refcounts
docs: Add "check.rebuild_refcounts" message
2023-11-10 00:01:14 +01:00
Sophie Herold cdc6154200 docs: Add "check.rebuild_refcounts" message 2023-11-09 21:32:01 +01:00
TW d4a54f26aa
Merge pull request #7925 from ThomasWaldmann/update-requirements-master
update requirements.d/development.lock.txt
2023-11-09 01:22:45 +01:00
TW 3de808b4e5
Merge pull request #7924 from ThomasWaldmann/fix-subcommand-env-master
create --*-from-command: run subcommands with a clean environment, fixes #7916
2023-11-09 00:43:57 +01:00
Thomas Waldmann e1af3ca7d8
update requirements.d/development.lock.txt 2023-11-09 00:17:33 +01:00
Thomas Waldmann f3ddaaf001
create --*-from-command: run subcommands with a clean environment, fixes #7916
When borg invokes a system command, it needs to prepare the environment
for that. This is especially important when using a pyinstaller-made
borg fat binary that works with a modified env var LD_LIBRARY_PATH -
system commands may crash with that.

borg already had calls to prepare_subprocess_env at some places (e.g.
when invoking ssh for the remote repo connection), but they were
missing for:

borg create --content-from-command ...
borg create --paths-from-command ...
2023-11-09 00:04:03 +01:00
TW e78146f453
Merge pull request #7914 from ThomasWaldmann/docs-upgrade-chkpt-tam-master
CVE-2023-36811 upgrade docs: consider checkpoint archives, fixes #7802
2023-11-06 15:06:20 +01:00
Thomas Waldmann 62114466e4
CVE-2023-36811 upgrade docs: consider checkpoint archives, fixes #7802
The traceback seen there came from borg not showing a .checkpoint archive
that didn't have a valid TAM and thus the user not see it / fix it:

https://github.com/borgbackup/borg/issues/7802#issuecomment-1793860606
2023-11-06 14:34:15 +01:00
TW e431b838f4
Merge pull request #7910 from ThomasWaldmann/fix-shadow-index-master
Fix shadow index (master)
2023-11-05 20:17:48 +01:00
TW d9fde26243
Merge pull request #7907 from ThomasWaldmann/update-docs-master
Update docs (master)
2023-11-05 19:08:43 +01:00
TW fba3e388aa
Merge pull request #7909 from ThomasWaldmann/sort-by-aliases-master
--sort-by: support "archive" as alias of "name", fixes #7873
2023-11-05 19:08:25 +01:00
TW b246e306bd
Merge pull request #7908 from ThomasWaldmann/fix-inv-pattern-errorhandling-master
Fix arg parsing error handling (master)
2023-11-05 19:08:08 +01:00
Thomas Waldmann 57f3dd1dae
check --repair: recreate shadow index, see #6687
before this fix, borg check --repair just created an
empty shadow index, which can lead to incomplete
entries if entries are added later.

and such incomplete (but present) entries can lead to
compact_segments() resurrecting old PUTs by accidentally
dropping related DELs.
2023-11-05 18:45:22 +01:00
Thomas Waldmann 7892e4212b
check --repair: test if shadow index is recreated
still failing here, because it is not.
2023-11-05 18:41:31 +01:00
Thomas Waldmann 5d28992b51
shadow index: add more comments 2023-11-05 18:30:00 +01:00
Thomas Waldmann 3ba533ac50
shadow index updates: simplify and more comments
no functional change here.
2023-11-05 18:28:48 +01:00
Thomas Waldmann 6d9513f507
update shadow index when doing a double-put, fixes #5661
this fixes the test added in previous commit (avoids
that the PUT reappears after index rebuild).
2023-11-05 18:25:06 +01:00
Thomas Waldmann 3b1c0df7c8
test the shadowing-by-double-put behaviour, see #5661
the new test is currently failing due to a bug in the
repository code.
2023-11-05 18:22:57 +01:00
Thomas Waldmann fa1e9df0d1
--sort-by: support "archive" as alias of "name", fixes #7873 2023-11-05 18:05:27 +01:00
Thomas Waldmann 77cf77ec38
fix rc and msg if arg parsing throws an exception, fixes #7885
get_args() exception handling before this fix only dealt with
subclasses of "Error", but we have to expect other exceptions
there, too.

In any case, if we have some fatal exception here, we must
terminate with rc 2.

ArgumentTypeError: emit a short error message - usually this is
a user error, invoking borg in a wrong way.

Other exceptions: full info and traceback.
2023-11-05 17:58:02 +01:00
Thomas Waldmann f86a13c438
fix invalid pattern argument error msg 2023-11-05 17:54:07 +01:00
Thomas Waldmann 613fdcd6fa
copy 1.2.x changelog notes from 1.2-maint 2023-11-05 17:48:30 +01:00
Thomas Waldmann 8f7f836eff
copy 1.x upgrade notes from 1.2-maint 2023-11-05 17:46:14 +01:00
Thomas Waldmann 774c899b7e
update 1.x change log, cve notes
fixes #7816
fixes #7813
2023-11-05 17:43:24 +01:00
Thomas Waldmann 4325656f4c
docs: not only attack/unsafe, can also be a fs issue, fixes #7853 2023-11-05 17:36:31 +01:00
TW 1f48e500f2
Merge pull request #7906 from ThomasWaldmann/blacken-master
blacken master branch
2023-11-05 14:38:15 +01:00
Thomas Waldmann c7f0d779bf
blacken master branch 2023-11-05 13:33:25 +01:00