Commit Graph

7337 Commits

Author SHA1 Message Date
Thomas Waldmann 9bee7d433c
set release date 2024-03-30 22:19:41 +01:00
Thomas Waldmann a41cc1750f
build_usage ; build_man 2024-03-30 22:19:39 +01:00
Thomas Waldmann 7794573d5c
use Cython 3.0.10 2024-03-30 22:19:25 +01:00
Thomas Waldmann 218892fcaf
vagrant: add a ubuntu noble box (24.04) 2024-03-30 22:19:21 +01:00
TW bf80376c77
Merge pull request #8169 from ThomasWaldmann/update-changes-1.4
update CHANGES
2024-03-30 19:42:49 +01:00
Thomas Waldmann 907cd112d3
update CHANGES 2024-03-30 19:33:37 +01:00
TW 00fd3708ac
Merge pull request #8167 from ThomasWaldmann/debounce-sigint-1.4
fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries, fixes #8155
2024-03-30 19:32:39 +01:00
TW f1a3be149f
Merge pull request #8168 from ThomasWaldmann/vagrant-updates-1.4
vagrant: openindiana updates (1.4-maint)
2024-03-30 18:27:50 +01:00
Thomas Waldmann a5de0c9d96
vagrant: openindiana: pkg set-mediator for openssl 2024-03-30 18:15:32 +01:00
Thomas Waldmann 5b26bdd475
vagrant: openindiana updates
- use openindiana/hipster box
- install missing packages
- also install libxxhash, so it does not use the bundled code
2024-03-30 18:02:36 +01:00
TW 5ad7364209
Merge pull request #8125 from ThomasWaldmann/acl-error-handling-1.4
improve acl_get / acl_set error handling (1.4-maint)
2024-03-30 17:56:16 +01:00
Thomas Waldmann dfb8d2054e
fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries, fixes #8155 2024-03-30 17:47:39 +01:00
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