This improves the secret provider by allowing a value of `default://` to get the system default provider (if one exists).
The license checker now supports multiple formats for the on-disk file.
This PR updates the LibSecret support to work correctly on KDE which uses a slightly different default collection.
With this PR the "default" alias is resolved and used by default. If no such collection is found, the collection `login` is used.
This was the intended logic before, but the alias was not resolved, so the code looked for a literal `default` collection and then fell back to `login`. On KDE systems this could cause issues by creating a new collection literally named `default` which would then fail to resolve.
With this update the libSecret works correctly on Plasma 6 (`kwalletd6`).
Support for Plasma 5 is not complete as the libsecret implementation there is different and deprecated. Here, installing Gnome Keyring is a workaround.
This fixes#6891
This PR fixes an issue introduced with a rewrite of the MSSQL logic.
The issue is caused by MSSQL having a concept of "default instance" vs "named instance". Logically, the "default instance" has a name, but it is presented differently throughout.
The code was updated to correctly handle "named instance", but this broke support for "default instance".
The paths look similar to this:
- Default instance: `%MSSQL%\Server\Database`
- Named instance: `%MSSQL%\Server\Instance\Database`
This is slightly problematic because given a path with three parts, you cannot know if it targets "default instance + database" or "named instance".
To account for this the code has been rewritten to explicitly keep track of which case we are in, and were there is ambiguity, both cases are tested. In the odd case where both match, this is treated as an error.
The filters were being applied slightly differently than the regular filters, by applying include, then exclude, and allowing include to add new elements.
This has been standardized so we now apply the filters the same way as for regular filters where "first match wins", and only source paths can introduce a new database.
Verified with both "default instance" and "named instance" on the same machine.
This fixes#6551
This fixes#6969
This PR fixes a few places where the lock mode was a string, resulting in the UI asking the user to type a string.
With this change, the parsing is standardized and the options present as enums, giving a dropdown in the UI.
This PR fixes an ordering issue where paths were checked for extended attributes before being filtered.
This was originally done for performance reasons, as checking the xattrs are faster to check than evaluating filters.
However, this meant that the access would produce warnings if the xattr reading step caused errors (permision denied, etc). Since it was done before the filters, there was no way to avoid the warning being logged.
This PR fixes the ordering so the xattrs are checked after filters, so no warnings are logged.
This fixes#6909
This PR changes the defaults when sources are missing. Previously, a missing source would abort the backup, unless `--allow-missing-source` was set.
With this change, if no options are set, a missing source will only trigger a warning.
If the option `--allow-missing-source` is set, no warning is logged.
To get the previous behavior, a new option `--abort-if-source-missing` is introduced that toggles this.
If no sources are found at all, the backup will abort no matter the flags.
This PR changes to use relative database paths by default. The default mode is to store all databases in the same folder.
With this update, the paths stored in the server database can now be relative, in which case they are resolved relative to the datafolder.
This makes it simpler to move the data folder as the paths are not stored in full.
For new backups, relative paths are assigned.
For existing backups, the full paths are retained.
If the database path is updated manually, the path will be made relative, if it is relative to the datafolder; otherwise a full path is stored.
This fixes#6677
This PR adds support for reading MacOS attributes and ACL strings during backup.
If permission restores are selected, the attributes and ACLs can also be restored later.
This fixes#4562
The SelfOnly mode was removed as was the "removeAdditionalSources" logic. Instead, the new SelfLimited mode always removes sensitive information, such that by default we do not store any sensitive information, not even with encryption enabled.
This is required to avoid accidentially leaking secrets found in remote sources, or the target url, in case the leak happens somewhere else than on the remote destination.
Additionally, this resolves an issue where remote source information could leak via the DisplayNames property.
To reduce logic bugs a separate ResolvedTaskConfigMode extracts the 3 different dimensions of the selection, and a test is added to ensure it behaves as expected.
When performing searches on some remote source, like MS365, the actual file paths are not meaningfull to the user. Instead, the UI will display metadata that makes it easier to navigate.
This PR updates the search feature to optionally look in metadata and find matches there as well, making it simpler to work with such data.