Changesets: bareos

master 2a026698

2024-07-12 16:41

Bareos Bot


Committer: GitHub

Ported: N/A

Details Diff
Merge pull request #1875

Fix multiple ACL handling bugs
mod - .gitignore Diff File
mod - CHANGELOG.md Diff File
mod - core/src/dird/dird_conf.cc Diff File
mod - core/src/dird/ua_acl.cc Diff File
mod - core/src/dird/ua_cmds.cc Diff File
mod - core/src/dird/ua_run.cc Diff File
mod - docs/manuals/source/include/autogenerated/bareos-dir-config-schema.json Diff File
mod - docs/manuals/source/manually_added_config_directive_descriptions/dir-console-WhereAcl.rst.inc Diff File
mod - python-bareos/.gitignore Diff File
mod - systemtests/python-modules/bareos_unittest/json.py Diff File
mod - systemtests/tests/CMakeLists.txt Diff File
rm - systemtests/tests/config-syntax-crash/CMakeLists.txt Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/client/bareos-fd.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/fileset/Catalog.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/fileset/SelfTest.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/job/RestoreFiles.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/messages/Daemon.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/messages/Standard.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Differential.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Full.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Incremental.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Scratch.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/profile/operator.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/storage/File.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/client/myself.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/messages/Standard.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/device/FileStorage.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/messages/Standard.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/storage/bareos-sd.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/testrunner Diff File
mod - systemtests/tests/python-bareos/etc/bareos/bareos-dir.d/console/client-bareos-fd.conf Diff File
add - systemtests/tests/python-bareos/etc/bareos/bareos-dir.d/console/limited-operator.conf Diff File
mod - systemtests/tests/python-bareos/list_unittests.py Diff File
mod - systemtests/tests/python-bareos/test_acl.py Diff File
mod - systemtests/tests/python-bareos/test_json_config.py Diff File

master af86d445

2024-07-12 16:41

Bareos Bot

Ported: N/A

Details Diff
Update CHANGELOG.md
mod - CHANGELOG.md Diff File

master 06a7ba75

2024-07-12 12:54

arogge


Committer: Bareos Bot

Ported: N/A

Details Diff
findlib: refactor xattr_build_data_t

instead of keeping a ptr to `xattr_build_data_t` in `XattrData`, we now
have to distinct types `XattrData` and `XattrBuildData` with the latter
inheriting from the former and providing all members of
xattr_build_data_t (and proper ctor/dtor).

The downside is that some of the functions in xattr.cc that were passed
a `XattrData*` before will now need a `XattrBuildData*` so we need to
downcast when calling these.
mod - core/src/filed/backup.cc Diff File
mod - core/src/filed/fd_plugins.cc Diff File
mod - core/src/filed/fd_plugins.h Diff File
mod - core/src/filed/filed_jcr_impl.h Diff File
mod - core/src/findlib/xattr.cc Diff File
mod - core/src/findlib/xattr.h Diff File

master afbdb636

2024-07-12 11:56

Bareos Bot


Committer: GitHub

Ported: N/A

Details Diff
Merge pull request #1872

fix runtime status
mod - CHANGELOG.md Diff File
mod - core/src/dird/dird.h Diff File
mod - core/src/dird/dird_conf.cc Diff File
mod - core/src/dird/dird_conf.h Diff File
mod - core/src/dird/director_jcr_impl.h Diff File
mod - core/src/dird/ndmp_dma_storage.cc Diff File
mod - core/src/dird/storage.cc Diff File
mod - systemtests/tests/CMakeLists.txt Diff File
add - systemtests/tests/bareos-concurrency/CMakeLists.txt Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/client/bareos-fd.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/client/client-concurrent2.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/client/client-concurrent9.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/director/bareos-dir.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/fileset/SelfTest.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/job/RestoreFiles.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/job/test-client-concurrency.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/job/test-job-concurrency.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/job/test-storage-concurrency.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/messages/Daemon.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/messages/Standard.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/pool/Differential.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/pool/Full.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/pool/Incremental.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/pool/Scratch.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/profile/operator.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/storage/File-Concurrent2.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/storage/File-Concurrent9.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-dir.d/storage/File.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-fd.d/client/myself.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-fd.d/director/bareos-dir.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-fd.d/messages/Standard.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-sd.d/device/FileStorage.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-sd.d/director/bareos-dir.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-sd.d/messages/Standard.conf Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bareos-sd.d/storage/bareos-sd.conf.in Diff File
add - systemtests/tests/bareos-concurrency/etc/bareos/bconsole.conf.in Diff File
add - systemtests/tests/bareos-concurrency/flock-latch Diff File
add - systemtests/tests/bareos-concurrency/test-concurrency-common Diff File
add - systemtests/tests/bareos-concurrency/testrunner-client-concurrency Diff File
add - systemtests/tests/bareos-concurrency/testrunner-job-concurrency Diff File
add - systemtests/tests/bareos-concurrency/testrunner-storage-concurrency Diff File

master c82418fc

2024-07-12 11:56

Bareos Bot

Ported: N/A

Details Diff
Update CHANGELOG.md
mod - CHANGELOG.md Diff File

master 9764b64c

2024-07-12 11:15

arogge


Committer: Bareos Bot

Ported: N/A

Details Diff
findlib: remove xattr_parse_data_t

inside `XattrData` there was
```
union {
xattr_build_data_t* build;
xattr_parse_data_t* parse;
};
```
both of these types contained a `uint32_t nr_errors` that was moved into
`XattrData`, leaving `xattr_parse_data_t` empty, so it could be removed.
mod - core/src/filed/backup.cc Diff File
mod - core/src/filed/restore.cc Diff File
mod - core/src/findlib/bfile.h Diff File
mod - core/src/findlib/xattr.cc Diff File
mod - core/src/findlib/xattr.h Diff File

master b33b5d70

2024-07-12 08:53

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
Apply suggestions from code review

Co-authored-by: sduehr <stephan.duehr@bareos.com>
mod - docs/manuals/source/Appendix/DisasterRecoveryUsingBareos.rst Diff File

master d5e06ccc

2024-07-12 07:33

Sebastian Sura

Ported: N/A

Details Diff
virtualfull-test: fix not counting files anymore
mod - systemtests/tests/virtualfull-basic/testrunner Diff File

master eff198b5

2024-07-12 07:33

Sebastian Sura

Ported: N/A

Details Diff
CMakeLists: enable building tools on cross chain
mod - core/src/tools/CMakeLists.txt Diff File

master 8f56ab12

2024-07-12 07:19

Sebastian Sura

Ported: N/A

Details Diff
glob: fix calling strlen on path
mod - core/src/win32/compat/glob.cc Diff File

master c38a9ac2

2024-07-11 17:06

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
core: handle PluginOptionsACL and regexwhere

On ModifyJobParameters,
check PluginOptionsACL
and the WhereACL also for regexwhere.
mod - core/src/dird/ua_run.cc Diff File

master 84dbca4f

2024-07-11 17:05

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
core: always allow 'exit' cmd

exit is an alias to quit,
so handle exit identical as quit.
mod - core/src/dird/ua_cmds.cc Diff File

master fc4a8a2f

2024-07-11 15:53

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
Update systemtests/python-modules/bareos_unittest/json.py

Co-authored-by: Sebastian Sura <124262655+sebsura@users.noreply.github.com>
mod - systemtests/python-modules/bareos_unittest/json.py Diff File

master c89a8816

2024-07-11 15:41

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
docs: rear: applied review suggestions
mod - docs/manuals/source/Appendix/DisasterRecoveryUsingBareos.rst Diff File

master 63564a36

2024-07-11 15:37

Sebastian Sura

Ported: N/A

Details Diff
attribs: fix missing utimes on mingw cross build
mod - core/src/findlib/find.h Diff File
mod - core/src/win32/compat/include/compat.h Diff File

master 4e2fd398

2024-07-11 14:25

Sebastian Sura

Ported: N/A

Details Diff
cmakelists: make bash optional
mod - systemtests/CMakeLists.txt Diff File
mod - systemtests/cmake/BareosSystemtestFunctions.cmake Diff File

master 568102c8

2024-07-11 08:15

Sebastian Sura


Committer: Bareos Bot

Ported: N/A

Details Diff
db: fix not locking the db to print its error

db->strerror() should only be called with the lock held unless the db
is private. 90% of the time db calls look like
```
if (!db->Function()) {
Error(db->strerror());
}
```
In these cases we can need to lock the db during the if, otherwise we
could read stale info (or even run into a race condition as strerror
is unsynchronized).
mod - core/src/cats/postgresql.cc Diff File
mod - core/src/dird/admin.cc Diff File
mod - core/src/dird/archive.cc Diff File
mod - core/src/dird/backup.cc Diff File
mod - core/src/dird/bsr.cc Diff File
mod - core/src/dird/catreq.cc Diff File
mod - core/src/dird/check_catalog.cc Diff File
mod - core/src/dird/consolidate.cc Diff File
mod - core/src/dird/dbcheck.cc Diff File
mod - core/src/dird/dbcheck_utils.cc Diff File
mod - core/src/dird/fd_cmds.cc Diff File
mod - core/src/dird/job.cc Diff File
mod - core/src/dird/migrate.cc Diff File
mod - core/src/dird/ndmp_dma_backup_NDMP_BAREOS.cc Diff File
mod - core/src/dird/ndmp_dma_backup_NDMP_NATIVE.cc Diff File
mod - core/src/dird/ndmp_dma_backup_common.cc Diff File
mod - core/src/dird/ndmp_dma_restore_NDMP_BAREOS.cc Diff File
mod - core/src/dird/ndmp_dma_restore_NDMP_NATIVE.cc Diff File
mod - core/src/dird/ndmp_fhdb_helpers.cc Diff File
mod - core/src/dird/ndmp_ndmmedia_db_helpers.cc Diff File
mod - core/src/dird/newvol.cc Diff File
mod - core/src/dird/next_vol.cc Diff File
mod - core/src/dird/quota.cc Diff File
mod - core/src/dird/restore.cc Diff File
mod - core/src/dird/ua_cmds.cc Diff File
mod - core/src/dird/ua_dotcmds.cc Diff File
mod - core/src/dird/ua_output.cc Diff File
mod - core/src/dird/ua_run.cc Diff File
mod - core/src/dird/vbackup.cc Diff File
mod - core/src/dird/verify.cc Diff File
mod - core/src/stored/bscan.cc Diff File

master 549531e7

2024-07-11 07:58

Sebastian Sura


Committer: Bareos Bot

Ported: N/A

Details Diff
python-fd: fix python crash

Python uses a (Type, Name) -> Object cache for member lookups inside
of types. This cache was shared globally by all interpreters up until
3.10, where it was made to be per-interpreter instead:

```
// typeobject.c
static struct method_cache_entry method_cache[1 << MCACHE_SIZE_EXP];
```

The cache does sanity checking to make sure to only return the correct
answers:
```
if (method_cache[h].version == type->tp_version_tag &&
method_cache[h].name == name) {
method_cache_hits++;
return method_cache[h].value;
}
```

but the problem is that this does not correctly work with static
types: Their type id (type->tp_version_tag) is the same for all
interpreters since they all reuse the same type. This means that if
you ask for the same members in two different interpreters and those
member names are allocated *at the same address*, then you will get
the same object pointer back. This object pointer may not belong to
one of those interpreters though and in fact can be a dangling pointer
if the other interpreter was already killed.

This actually happened at a customer when accessing
`datetime.datetime.max` where the `Lookup(datetime, max)` call
actually returned a cached result from a previous interpreter. This
may have to do with string interning (which caused the 'max' name to
have the same address), but it could also have been a pure
coincidence.

Thankfully python offers a (stable api) call to clear the cache. This
bug can be worked around by just calling that function everytime we
destroy an interpreter so that the map never contains dangling
pointers. This obviously does not fix the problem completely but it
should at least fix it for cases where there are no concurrent python
jobs running.

Its possible that there are more suprises like this in the python code
base.
mod - core/src/plugins/filed/python/python-fd.cc Diff File

master eeb105c6

2024-07-11 07:52

Sebastian Sura


Committer: Bareos Bot

Ported: N/A

Details Diff
python-fd: fix calling bareosfd functions to early

While it should technically be no problem to call the bareosfd capi
without holding the gil, we have to keep in mind that we are still
modifying shared global state and as such we need to serialize those
calls. (Ab-)Using the gil to do so is the easiest way to fix these
problems.

I am not 100% sure how running multiple plugin jobs in parallel never
ran into issues considering that handlePluginEvent was constantly
clobbering the global "plugin context" in bareosfd. Its possible that
im overlooking something.
mod - core/src/plugins/filed/python/python-fd.cc Diff File

master b1bf2450

2024-07-11 07:49

Sebastian Sura


Committer: Bareos Bot

Ported: N/A

Details Diff
python-fd: serialize calls to PyThreadState_New with GIL

I am not sure if this is necessary, but the documentation says:

```
The global interpreter lock need not be held, but may be held if
it is necessary to serialize calls to this function.
```

But it does not elaborate on *when* it is necessary to serialize those
calls. As such I will pretend that it is also necessary and use the
gil to do so.
mod - core/src/plugins/filed/python/python-fd.cc Diff File

master 16e2fbf8

2024-07-10 23:31

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
systemtests: replace config-syntax-crash test

Invalid chars in WhereAcls are now properly marked as configuration
errors. Therefore in the original test config-syntax-crash, the Bareos
Director refuses to start (with a proper error message), instead of just
ignoring the invalid entry.
Instead of adapting the config-syntax-crash, the test for invalid chars
is now added to the python-bareos tests and the config-syntax-crash
removed.
mod - systemtests/python-modules/bareos_unittest/json.py Diff File
mod - systemtests/tests/CMakeLists.txt Diff File
rm - systemtests/tests/config-syntax-crash/CMakeLists.txt Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/catalog/MyCatalog.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/client/bareos-fd.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/fileset/Catalog.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/fileset/SelfTest.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/job/RestoreFiles.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/job/backup-bareos-fd.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/jobdefs/DefaultJob.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/messages/Daemon.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/messages/Standard.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Differential.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Full.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Incremental.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/pool/Scratch.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/profile/operator.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-dir.d/storage/File.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/client/myself.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-fd.d/messages/Standard.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/device/FileStorage.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/director/bareos-dir.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/messages/Standard.conf Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bareos-sd.d/storage/bareos-sd.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/etc/bareos/bconsole.conf.in Diff File
rm - systemtests/tests/config-syntax-crash/testrunner Diff File
mod - systemtests/tests/python-bareos/test_json_config.py Diff File

master faa34dbe

2024-07-10 19:22

joergs


Committer: Bareos Bot

Ported: N/A

Details Diff
systemtests: prevent problems with WhereACL path

In some automated systemtests, the path did contain the "~",
which is considerd invalid in a WhereACL.
Changed the WhereACL to circumvent that.

master 3bb317ee

2024-07-10 17:52

Bareos Bot


Committer: GitHub

Ported: N/A

Details Diff
Merge pull request #1846

Improve PythonFdWrapper class
mod - CHANGELOG.md Diff File
mod - core/src/plugins/filed/python/pyfiles/BareosFdWrapper.py Diff File
mod - devtools/pip-tools/pr_tool/main.py Diff File

master 0851a7d2

2024-07-10 17:52

Bareos Bot

Ported: N/A

Details Diff
Update CHANGELOG.md
mod - CHANGELOG.md Diff File

master 82a76ae9

2024-07-09 17:32

arogge


Committer: bruno-at-bareos

Ported: N/A

Details Diff
packaging: clean up suse macros
mod - core/platforms/packaging/bareos.spec Diff File
 First  Prev  1 2 3 ... 45 46 47 48 49 50 51 ... 70 ... 140 ... 210 ... 280 ... 350 ... 420 ... 490 ... 560 ... 630 ... 675 676 677  Next  Last