1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-03-09 21:57:24 +00:00
Commit graph

7375 commits

Author SHA1 Message Date
TW
af8e512d59
Merge pull request #8160 from ThomasWaldmann/repo-upgrade-helper-1.4
repo upgrade helpers (1.4-maint)
2024-03-28 22:13:22 +01:00
Thomas Waldmann
736ffbdada
docs: simplify TAM-related upgrade docs using the new commands 2024-03-28 14:47:16 +01:00
Thomas Waldmann
262d6109a9
upgrade --check-tam: check manifest TAM auth issues
exit with rc=1 if there are issues.
2024-03-28 14:46:56 +01:00
Thomas Waldmann
69a4ea7682
upgrade: auto-use ignore_invalid_archive_tam 2024-03-28 14:46:34 +01:00
Thomas Waldmann
ed80bf2c37
do a late lookup on helpers.workarounds
so we can modify it within borg code elsewhere and it
will get the updated value when it accesses the attribute.
2024-03-28 14:44:38 +01:00
Thomas Waldmann
8643576755
upgrade --check-archives-tam: rc=1 for archive TAM issues
also: better messages about global status.
2024-03-28 14:44:25 +01:00
Thomas Waldmann
965c87bb0a
upgrade --check-archives-tam: check archives tam status
This is a read-only variation of --archives-tam:
- it only checks / displays the current status
- it does not add / fix the archive TAMs
2024-03-28 14:44:00 +01:00
TW
b1053eefa5
Merge pull request #8154 from ThomasWaldmann/update-changes-1.4
update CHANGES
2024-03-21 18:57:38 +01:00
Thomas Waldmann
0648a6dfcc
update CHANGES 2024-03-17 19:56:40 +01:00
Thomas Waldmann
7ba843b8c0
Linux: refactor acl_get 2024-03-17 18:51:08 +01:00
Thomas Waldmann
54c7da3c64
Linux: acl tests: move ACCESS_ACL and DEFAULT_ACL constants
They are only used at one place, move them there rather than having globals.
2024-03-17 18:51:07 +01:00
Thomas Waldmann
b45f572a95
FreeBSD: check first if kind of ACL can be set on a file 2024-03-17 18:51:06 +01:00
Thomas Waldmann
47e291eec1
FreeBSD: simplify numeric_ids check 2024-03-17 18:51:04 +01:00
Thomas Waldmann
b0607909e1
FreeBSD: added tests, only get default ACL from dirs 2024-03-17 18:51:03 +01:00
Thomas Waldmann
f8e8608488
FreeBSD: acl_get: raise OSError if lpathconf fails
Previously:
- acl_get just returned for lpathconf returning EINVAL
- acl_get silently ignored all other lpathconf errors and
  implied it is not a NFS4 acl

Now:
- not sure why the EINVAL silent return was done, but it seems
  wrong. guess it could be the system not implementing a check
  for nfs4. but in that case guess we still would like to get
  the default and access ACL!? Thus, I removed the silent return.
- raise OSError for all lpathconf errors

Cosmetic: add a nfs4_acl boolean, so the code reads better.
2024-03-17 18:50:58 +01:00
Thomas Waldmann
9d638e8d62
FreeBSD: acl_get: add an acl_extended_* call
... to implement same semantics as on linux (only store ACL
if it defines permissions other than those defined by the
traditional file permissions).

Looks like there is no call working with an fd on FreeBSD.
2024-03-17 18:50:55 +01:00
Thomas Waldmann
6ad1ad67d5
Linux: acl_set bug fix: always fsencode path
We use path when raising OSErrors, even if we have an fd.
2024-03-17 18:50:54 +01:00
Thomas Waldmann
17e3cee604
Linux: acl_get: use "nofollow" variant of acl_extended_file call
This is NOT a bug fix, because the previous code contained a
check for symlinks before that line - because symlinks can not
have ACLs under Linux.

Now, this "is it a symlink" check is removed to simplify the
code and the "nofollow" variant of acl_extended_file* is used
to look at the symlink fs object (in the symlink case).

It then should tell us that this does NOT have an extended ACL
(because symlinks can't have ACLs) and so we return there.

Overall the code gets simpler and looks less suspect.
2024-03-17 18:50:53 +01:00
Thomas Waldmann
519e3ebce8
Linux: acl_get: raise OSError for errors in acl_extended_* call
Previously, these conditions were handled the same (just return):
- no extended acl here
- some error happened (e.g. ACLs unsupported, bad file descriptor, file not found, permission error, ...)

Now there will be OSErrors for the error cases.
2024-03-17 18:50:49 +01:00
Thomas Waldmann
33f1ba699e
create/extract: ignore OSError if ACLs are not supported (ENOTSUP)
but do not silence other OSErrors.
2024-03-17 18:49:37 +01:00
Thomas Waldmann
d870c58e61
platform tests: misc. minor cleanups
- remove unused global / import
- use is_linux and is_darwin
- rename darwin acl test method
2024-03-16 15:58:50 +01:00
Thomas Waldmann
926b5a6b08
improve are_acls_working function
- ACLs are not working, if ENOTSUP ("Operation not supported") happens
- fix check for macOS
  On macOS borg uses "acl_extended", not "acl_access" and
  also the ACL text format is a bit different.
2024-03-16 15:56:58 +01:00
Thomas Waldmann
2c53a63a1c
raise OSError if acl_to_text / acl_from_text returns NULL
Also did a small structural refactors there.
2024-03-16 15:56:57 +01:00
Thomas Waldmann
d4a83edfdd
improve acl_get / acl_set error handling, see #4049 2024-03-16 15:56:55 +01:00
TW
702560d9f2
Merge pull request #8148 from ThomasWaldmann/gh-actions-update-1.4
github CI: misc. updates (1.4-maint)
2024-03-15 18:10:02 +01:00
Thomas Waldmann
28bd4d1bc6
github CI: misc updates
- move most Linux tests to ubuntu 22.04
- macOS: run on macos-14 (on Apple Silicon!)
- macOS: use OpenSSL 3.0 from brew
- macOS: run with Python 3.11
- pip install -e .: add -v
- trigger CI run for changed .toml files
- use up-to-date github actions
- remove libb2 references - since borg 1.2, we use blake2 indirectly via python stdlib
2024-03-15 16:38:30 +01:00
TW
d84118a9db
Merge pull request #8141 from ThomasWaldmann/vagrant-updates
Vagrant updates (1.4-maint)
2024-03-10 18:39:03 +01:00
Thomas Waldmann
ac1b28241d
vagrant: use python 3.11.8 2024-03-10 18:37:47 +01:00
Thomas Waldmann
86aeb1c253
vagrant: use pyinstaller 6.5.0 2024-03-10 18:37:46 +01:00
Thomas Waldmann
41520c2937
vagrant: add xxhash for macOS 2024-03-10 18:37:44 +01:00
Thomas Waldmann
0912e1b3e1
vagrant: add libxxhash-dev for debianoid systems 2024-03-10 16:26:06 +01:00
TW
3647426940
Merge pull request #8135 from ThomasWaldmann/msgpack-cython-updates-1.4
msgpack and cython updates (1.4-maint)
2024-03-02 16:35:21 +01:00
Thomas Waldmann
30ad61ae5a
require Cython 3.0.3 at least, fixes #8133
The fix for the Python 3.12 memory leak issue was
in Cython 3.0.3+.
2024-03-02 14:21:48 +01:00
Thomas Waldmann
0151c9a38f
allow msgpack 1.0.8, fixes #8133 2024-03-02 14:19:11 +01:00
TW
5017d92505
Merge pull request #8127 from ThomasWaldmann/ebusy-1.4
create: deal with EBUSY, fixes #8123
2024-02-25 13:26:00 +01:00
TW
a7329314ab
Merge pull request #8130 from ThomasWaldmann/fix-docs-1.4
docs: remove tabs
2024-02-25 12:20:01 +01:00
Thomas Waldmann
7e166598d5
docs: remove tabs 2024-02-25 12:19:06 +01:00
Thomas Waldmann
a88c3d9e25
create: deal with EBUSY, fixes #8123
I put it into same class as EPERM and EACCES:
BackupPermissionError: borg is not permitted to access the file.
2024-02-25 11:21:44 +01:00
TW
21deeaf208
Merge pull request #8126 from bket/use_libressl
[1.4-maint] No need to use OpenSSL 3.0 on OpenBSD
2024-02-25 11:10:09 +01:00
Björn Ketelaars
2d13e8efa0 No need to use OpenSSL 3.0 on OpenBSD
borg-2.0 requires EVP_aes_256_ocb, which is not provided by LibreSSL. As
such, OpenSSL-3.0 is needed on OpenBSD. borg-1.4 however does not use
EVP_aes_256_ocb thus there is no need to use OpenSSL. Instead rely on
LibreSSL.

Undo part of ccb1e92. Tested on OpenBSD -current.
2024-02-25 07:10:02 +01:00
TW
92da66dcfc
Merge pull request #8122 from ThomasWaldmann/update-changes-1.4
update CHANGES
2024-02-24 21:19:50 +01:00
Thomas Waldmann
01965c4993
update CHANGES 2024-02-24 20:43:59 +01:00
TW
17e64224e0
Merge pull request #8114 from stephan13360/1.4-maint
add non-root deployment strategy
2024-02-24 19:39:08 +01:00
TW
4522c040f3
Merge pull request #8117 from ThomasWaldmann/remove-bundled-3rd-party-1.4
Remove bundled 3rd party sw (1.4-maint)
2024-02-24 19:38:29 +01:00
TW
9fca0b2f42
Merge pull request #8118 from ThomasWaldmann/benchmark-crud-options-1.4
benchmark: inherit options --rsh --remote-path, fixes #8099
2024-02-22 22:01:12 +01:00
Thomas Waldmann
5a8a505046
benchmark: inherit options --rsh --remote-path, fixes #8099 2024-02-22 21:35:11 +01:00
Thomas Waldmann
30dc27b11a
remove bundled lz4/zstd/xxhash code
Also adapt our Cython code to directly use the lib headers,
remove our wrappers.
2024-02-22 13:48:51 +01:00
Thomas Waldmann
ccb1e92362
setup.py: remove support for bundled 3rd party src, fixes #8094
Took the setup.py from master branch and only slightly modified the
"checksums" module path for now.

This removes support for all BORG_USE_BUNDLED_*=YES env vars.
"NO" has been the default since quite a while anyway.

This adds support for:
- using OpenSSL 3.0 on OpenBSD
- locating libacl via pkgconfig

Formatting changes came due to master branch using "black".
2024-02-22 13:38:31 +01:00
Stephan Herbers
3172bda300 add restore considerations paragraph 2024-02-22 11:56:28 +01:00
Stephan Herbers
9abacabf51
Apply suggestions from code review
Co-authored-by: NetSysFire <59517351+NetSysFire@users.noreply.github.com>
2024-02-21 13:00:27 +01:00