Commit Graph

8387 Commits

Author SHA1 Message Date
Thomas Waldmann f5a6d61e56
vagrant: use python 3.9.4 for tests
same as in 1.4-maint branch
2024-01-10 22:21:49 +01:00
Thomas Waldmann 140e079496
vagrant: remove debian 9 "stretch" box
there are multiple issues with that box:
- debian 9 is out of support by debian, out of even lts support since 2022
- it has a OpenSSL 1.x natively (and our source based install also used 1.x) - that is also out of support and noone will care for it.

Also, borg2 will still take a while, so it would be
even more outdated at release time as it already
is now.
2024-01-10 22:19:57 +01:00
Thomas Waldmann c96fe77d2e
vagrant: use freebsd 14, fixes #6871 2024-01-10 22:14:09 +01:00
Thomas Waldmann a6f224f031
vagrant: use the latest python 3.11.7 for binary builds 2024-01-10 22:10:54 +01:00
ebabcock93 73a416830a
docs: add typical PR workflow to development docs, fixes #7495 (#7656) 2024-01-10 00:56:18 +01:00
TW 812eb352f6
Merge pull request #7955 from ThomasWaldmann/improve-session-key-gen-master
crypto: use a one-step kdf for session keys, fixes #7953
2024-01-04 18:42:22 +01:00
kmille 865de9fcee
improve docs for borg with-lock (#8024)
docs: add example for borg with-lock
2024-01-03 23:42:29 +01:00
TW 2803c7358b
Merge pull request #8021 from ThomasWaldmann/move-conftest.py-master
move conftest.py to src/borg/testsuite, see #6386
2024-01-02 21:54:41 +01:00
Thomas Waldmann e1fbd7d42e
fix mypy complaints 2024-01-02 20:57:42 +01:00
TW 5379f1b9bd
Merge pull request #8020 from ThomasWaldmann/latest-pyinstaller-master
use pyinstaller 6.3.0
2024-01-02 20:50:22 +01:00
Thomas Waldmann 6720ab3aab
move conftest.py to src/borg/testsuite, see #6386
there, it will be packaged and installed, so
that when one runs the testsuite after installing
the pypi package, it will find the conftest.py.
2024-01-02 20:39:14 +01:00
Thomas Waldmann 723994a2f1
use pyinstaller 6.3.0 2024-01-02 20:33:34 +01:00
TW f6d19a33d4
Merge pull request #8019 from ThomasWaldmann/drop-setup-requires-master
use pip and build
2024-01-02 20:29:01 +01:00
TW ee02c54488
Merge pull request #8018 from ThomasWaldmann/use-cython3-master
use and require cython3
2024-01-02 20:09:27 +01:00
TW 9583540fa1
Merge pull request #8017 from ThomasWaldmann/do-not-accept-empty-paths-master
PATH: do not accept empty strings, fixes #4221
2024-01-02 20:02:43 +01:00
Thomas Waldmann 1a544845a2
use less setup.py, use pip and build
todo: clean clean2 build_usage build_man
2024-01-02 19:50:59 +01:00
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