]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Fri, 2 Feb 2024 08:18:12 +0000 (10:18 +0200)]
config: Move fix_relative_path() earlier
Timo Sirainen [Mon, 29 Jan 2024 20:24:26 +0000 (22:24 +0200)]
lib-settings: Add SET_FILE type
The string contains file's path, newline and file contents.
If the newline is missing, the file is read immediately.
Timo Sirainen [Tue, 30 Jan 2024 16:29:17 +0000 (18:29 +0200)]
config: Add setting name as prefix to error messages when possible
Timo Sirainen [Tue, 9 Jan 2024 22:10:39 +0000 (17:10 -0500)]
lib-settings, config: Don't allow named list filters to begin with "__"
These are reserved for filters created in the code.
Timo Sirainen [Mon, 8 Jan 2024 04:00:16 +0000 (23:00 -0500)]
lib-settings: Remove unused settings_try_get()
This isn't likely to be used after all. Most named filters have default
settings, so there is no distinction between existing and nonexistent
filter.
Timo Sirainen [Mon, 8 Jan 2024 03:58:18 +0000 (22:58 -0500)]
lib-settings, config: Remove SET_FILTER_HIERARCHY
Now that lib-fs is configured with named list filters, there is no more need
for this type of a hierarchical setting.
Timo Sirainen [Tue, 2 Jan 2024 22:24:28 +0000 (17:24 -0500)]
lib-fs, global: Redesign how fs hierarchy is configured
The new way is to use e.g.:
fs metawrap {
}
fs posix {
}
This tells metawrap to use the next fs list filter (= posix) as the next fs.
It's also possible to configure the same fs multiple times by using
different names for them:
fs metawrap1 {
fs_driver = metawrap
}
fs metawrap2 {
fs_driver = metawrap
}
Timo Sirainen [Tue, 2 Jan 2024 22:23:59 +0000 (17:23 -0500)]
config: Allow setting_define.required_setting to be a named list filter
Timo Sirainen [Tue, 2 Jan 2024 21:09:17 +0000 (16:09 -0500)]
lib-settings, lib-storage: Support replacing the whole named list filter
Using list_filter=value now replaces the filter, while list_filter+=value
appends to it (which is the old behavior without "+").
For example -o namespace+=foo,foo2 adds two new namespaces, but
-o namespace=foo,foo2 only keeps the two namespaces.
Timo Sirainen [Fri, 26 Jan 2024 15:10:06 +0000 (17:10 +0200)]
auth: Add userdb_use_cache setting
Timo Sirainen [Fri, 26 Jan 2024 15:09:20 +0000 (17:09 +0200)]
auth: Add passdb_use_cache setting
Timo Sirainen [Thu, 18 Jan 2024 00:11:19 +0000 (19:11 -0500)]
auth: passdb/userdb passwd-file - Convert to new settings
Timo Sirainen [Wed, 17 Jan 2024 23:56:43 +0000 (18:56 -0500)]
auth: Add userdb_module_interface.preinit() with new API
Timo Sirainen [Wed, 17 Jan 2024 23:55:17 +0000 (18:55 -0500)]
auth: Add passdb_module_interface.preinit() with new API
Timo Sirainen [Thu, 18 Jan 2024 20:20:29 +0000 (15:20 -0500)]
auth: Remove support for sharing passdb/userdb_module by mutiple auth_passdb/userdb
This isn't very useful. The sharing of memory/connections is wanted between
both passdb and userdb in any case, which is what all the passdbs/userdbs
already do. Sharing of passdb_module would reduce memory usage only
trivialy, but it makes the more complex, especially after the following
API changes.
Timo Sirainen [Wed, 17 Jan 2024 23:50:35 +0000 (18:50 -0500)]
auth: Use named initializers for userdb_module_interface
Timo Sirainen [Wed, 17 Jan 2024 23:47:41 +0000 (18:47 -0500)]
auth: Rename userdb_module_interface.preinit() to preinit_legacy()
Timo Sirainen [Wed, 17 Jan 2024 23:47:03 +0000 (18:47 -0500)]
auth: Use named initializers for passdb_module_interface
Timo Sirainen [Wed, 17 Jan 2024 23:42:59 +0000 (18:42 -0500)]
auth: Rename passdb_module_interface.preinit() to preinit_legacy()
Timo Sirainen [Wed, 17 Jan 2024 23:08:51 +0000 (18:08 -0500)]
auth: Add userdb_use_worker settings
This will be used by userdbs as they are converted to new settings.
Timo Sirainen [Wed, 17 Jan 2024 23:07:37 +0000 (18:07 -0500)]
auth: Add passdb_default_password_scheme and passdb_use_worker settings
These will be used by passdbs as they are converted to new settings.
Timo Sirainen [Thu, 11 Jan 2024 18:32:55 +0000 (13:32 -0500)]
auth: Change userdb_default_fields and userdb_override_fields to be strlist
Similarly to the previous passdb change, these settings were moved to their
own structs.
Timo Sirainen [Thu, 11 Jan 2024 18:25:27 +0000 (13:25 -0500)]
auth: Change passdb_default_fields and passdb_override_fields to be strlist
Now that the %variable expansion is done by settings lookups, they had to
be moved to their own settings structs that are looked up at appropriate
times. Especially the override_fields must be looked up only after the
passdb lookup has finished, since it can refer to extra fields returned by
it.
Timo Sirainen [Wed, 17 Jan 2024 21:45:26 +0000 (16:45 -0500)]
auth: Support expanding variables for passdb/userdb settings
Timo Sirainen [Thu, 11 Jan 2024 18:01:07 +0000 (13:01 -0500)]
auth: Change auth_request_get_log_prefix_db() to be static
Now the only place it's called outside passdb/userdb lookups is while
doing a userdb cache lookup.
Timo Sirainen [Thu, 11 Jan 2024 18:00:16 +0000 (13:00 -0500)]
auth: Remove passdb prefix from "Master user lookup" debug log message
It's not actually related to passdb.
Timo Sirainen [Thu, 11 Jan 2024 17:22:56 +0000 (12:22 -0500)]
auth: Add and use auth_passdb.name & auth_userdb.name
Timo Sirainen [Thu, 11 Jan 2024 17:12:53 +0000 (12:12 -0500)]
auth: Call auth_passdb_request_finished() only after the passdb handling is fully done
This mainly clarifies the passdb handling code. It doesn't have any
noticeable changes.
Timo Sirainen [Thu, 11 Jan 2024 17:02:23 +0000 (12:02 -0500)]
auth: Log the same "user not found" error regardless of how many userdbs exist
If a passdb lookup succeeded, but userdb lookup fails with "user not found",
an error is logged. This error used to include the userdb prefix when there
was only a single userdb configured. However, this is just unnecessary extra
complexity and with one userdb it's not very useful anyway.
Timo Sirainen [Thu, 11 Jan 2024 17:15:45 +0000 (12:15 -0500)]
auth: auth_request_get_log_prefix_db() - Don't check if passdb/userdb_name is empty
It can't be empty anymore.
Timo Sirainen [Thu, 11 Jan 2024 16:27:47 +0000 (11:27 -0500)]
auth: Remove passdb_auth_verbose and userdb_auth_verbose settings
It's now possible to use the global auth_verbose setting inside passdb and
userdb filters.
Timo Sirainen [Thu, 11 Jan 2024 16:10:35 +0000 (11:10 -0500)]
auth: Support userdb-specific auth_settings
Timo Sirainen [Thu, 11 Jan 2024 16:09:13 +0000 (11:09 -0500)]
auth: Support passdb-specific auth_settings
Timo Sirainen [Thu, 11 Jan 2024 16:13:35 +0000 (11:13 -0500)]
auth: Rename struct auth.set to protocol_set
This makes it easier to grep where it's actually being used in the code,
since it's ideally used in as few places as possible.
Timo Sirainen [Thu, 11 Jan 2024 15:34:51 +0000 (10:34 -0500)]
auth: Remove deprecated passdb_pass setting
Timo Sirainen [Thu, 11 Jan 2024 15:33:25 +0000 (10:33 -0500)]
auth: Update deprecated passdb_pass checks to check also passdb_result_success=continue
Timo Sirainen [Tue, 30 Jan 2024 14:53:20 +0000 (16:53 +0200)]
config: Try automatic parent filtername_ prefix for section names as well
This is needed for e.g. passdb { default_fields { } } to work after the
following changes.
Marco Bettini [Tue, 28 Nov 2023 11:38:23 +0000 (11:38 +0000)]
fts: build-mail - Use fts-settings
Marco Bettini [Wed, 6 Dec 2023 18:05:54 +0000 (18:05 +0000)]
fts: indexer - Use fts_settings
Marco Bettini [Tue, 19 Dec 2023 14:31:31 +0000 (14:31 +0000)]
fts: parser - Use fts_settings for decoder script+tika
Marco Bettini [Mon, 4 Dec 2023 16:10:41 +0000 (16:10 +0000)]
fts: storage - Use fts_settings for autoindex_exclude
Marco Bettini [Fri, 1 Dec 2023 11:05:42 +0000 (11:05 +0000)]
fts: storage - Use fts_settings for autoindex
Marco Bettini [Fri, 1 Dec 2023 11:05:42 +0000 (11:05 +0000)]
fts: storage - Use fts_settings for autoindex_max_recent_msgs
Marco Bettini [Fri, 1 Dec 2023 10:31:48 +0000 (10:31 +0000)]
fts: storage - Use fts_settings for enforced
Marco Bettini [Mon, 27 Nov 2023 19:20:06 +0000 (19:20 +0000)]
fts: storage - Use fts-settings for backend_name
Marco Bettini [Wed, 17 Jan 2024 15:18:15 +0000 (15:18 +0000)]
fts: storage - Add fts_settings to struct fts_mailbox
Timo Sirainen [Fri, 10 May 2024 21:06:49 +0000 (00:06 +0300)]
fts: Use fts_settings for message_max_size
Marco Bettini [Mon, 4 Dec 2023 14:56:17 +0000 (14:56 +0000)]
fts: storage - Add fts_settings to struct fts_user
Marco Bettini [Fri, 24 Nov 2023 17:01:02 +0000 (17:01 +0000)]
fts: Add struct fts_settings (Convert plugin settings to regular settings)
Marco Bettini [Mon, 27 Nov 2023 13:16:38 +0000 (13:16 +0000)]
fts: Drop fts_no_autofuzzy setting
Marco Bettini [Tue, 21 Nov 2023 15:23:51 +0000 (15:23 +0000)]
fts-flatcurve: Convert plugin settings to regular settings
This adds fts_flatcurve { .. } named filter.
Currently just used to allow grouping the settings.
Marco Bettini [Tue, 16 Jan 2024 10:14:31 +0000 (10:14 +0000)]
fts-solr: Drop debug setting
Marco Bettini [Wed, 17 Jan 2024 14:00:35 +0000 (14:00 +0000)]
fts-solr: Add fts-solr event category
Marco Bettini [Thu, 23 Nov 2023 13:33:09 +0000 (13:33 +0000)]
fts-solr: Convert plugin settings to regular settings
This adds fts_solr { .. } named filter, which can be used to
override http and ssl settings.
The rawlog_dir setting was replaced by http_client_rawlog_dir.
Marco Bettini [Mon, 27 Nov 2023 08:53:03 +0000 (08:53 +0000)]
fts-solr: Drop use_libfts parameter in fts_solr setting
Marco Bettini [Wed, 6 Dec 2023 16:05:16 +0000 (16:05 +0000)]
lib-settings: Add SETTING_DEFINE_STRUCT_STRLIST and hidden version
Timo Sirainen [Fri, 26 Jan 2024 01:29:54 +0000 (03:29 +0200)]
config: Fail config parsing on unknown section names
Timo Sirainen [Fri, 26 Jan 2024 01:10:19 +0000 (03:10 +0200)]
doveconf: Fix -N to not output default settings
Timo Sirainen [Thu, 25 Jan 2024 16:26:18 +0000 (18:26 +0200)]
config: Drop kludge to have global settings override default settings
This is no longer needed after the previous commit.
Timo Sirainen [Thu, 25 Jan 2024 16:25:20 +0000 (18:25 +0200)]
config: Write default settings before base settings
This allows the global settings to always override default settings.
Timo Sirainen [Fri, 26 Jan 2024 15:00:19 +0000 (17:00 +0200)]
config: Hide the trailing NULL in config_parser_context.all_filter_parsers
Needed by the following changes.
Timo Sirainen [Fri, 26 Jan 2024 14:58:38 +0000 (16:58 +0200)]
config: Replace config_module_parser_get_set_parser() with config_fill_set_parser()
This new way allows calling config_fill_set_parser() multiple times for the
same settings parser. This simplifies the following commits.
Timo Sirainen [Thu, 25 Jan 2024 15:38:32 +0000 (17:38 +0200)]
config: Split CONFIG_PARSER_CHANGE_INTERNAL to _DEFAULTS and _SERVICE_DEFAULTS
They are going to be handled slightly differently.
Timo Sirainen [Thu, 25 Jan 2024 02:30:04 +0000 (04:30 +0200)]
lib-settings, config: Change base settings to be an empty filter
This simplifies the code, and makes it possible for the following commits to
reorder when base settings are applied.
Timo Sirainen [Thu, 25 Jan 2024 16:10:57 +0000 (18:10 +0200)]
config: Refactor filter writing code when dumping config
Simplifies the following commits.
Timo Sirainen [Wed, 17 Jan 2024 19:03:45 +0000 (14:03 -0500)]
global: Rename setting_parser_info.default_filter_settings to default_settings
Timo Sirainen [Wed, 17 Jan 2024 19:00:10 +0000 (14:00 -0500)]
lib-settings: Remove setting_parser_info.default_settings
Timo Sirainen [Wed, 17 Jan 2024 18:58:50 +0000 (13:58 -0500)]
auth, master: Replace setting_parser_info.default_settings with default_filter_settings
The default_settings are applied in wrong order, causing them to not work
correctly.
sergey.kitov [Wed, 4 Oct 2023 11:46:35 +0000 (14:46 +0300)]
lib-settings: Add check for array being populated in settings_boollist_get().
sergey.kitov [Thu, 14 Sep 2023 10:41:37 +0000 (13:41 +0300)]
lib: Add array_is_created checks to array_(is|not)_empty macros.
Array is considered empty when not created also.
Aki Tuomi [Fri, 26 Jan 2024 11:46:39 +0000 (13:46 +0200)]
lib-storage: Use SETTINGS_EVENT_NAMESPACE_NAME in mail events
Aki Tuomi [Tue, 28 Nov 2023 09:45:26 +0000 (11:45 +0200)]
imap-acl: Properly signal that ACLs are disabled
Earlier, it would just claim mailbox not found, which
would be very confusing.
Aki Tuomi [Tue, 28 Nov 2023 07:18:35 +0000 (09:18 +0200)]
plugins: imap-acl - Use acl_letter_map
Avoids duplication.
Aki Tuomi [Mon, 13 Nov 2023 08:07:08 +0000 (10:07 +0200)]
plugins: imap-acl - Add imap_acl_settings
Renames acl_anyone to imap_acl_allow_anyone.
Aki Tuomi [Tue, 28 Nov 2023 09:49:35 +0000 (11:49 +0200)]
Reformat src/plugins/imap-acl/imap-acl-plugin.c
Aki Tuomi [Thu, 25 Jan 2024 14:27:14 +0000 (16:27 +0200)]
plugins: acl - Drop unused can_see_r from acl_mailbox_list_have_right()
Aki Tuomi [Fri, 17 Nov 2023 11:55:07 +0000 (13:55 +0200)]
plugins: acl - Support loading ACLs directly from config
Allows setting global, per-namespace and per-mailbox ACLs.
Aki Tuomi [Fri, 17 Nov 2023 10:17:28 +0000 (12:17 +0200)]
plugins: acl - Remove settings from acl_user
They are no more needed.
Aki Tuomi [Fri, 10 Nov 2023 13:25:49 +0000 (15:25 +0200)]
plugins: acl - Remove old acl_backend_init()
Aki Tuomi [Fri, 15 Dec 2023 11:12:48 +0000 (13:12 +0200)]
plugins: acl - Remove unused acl_mail_namespace_storage_added()
Aki Tuomi [Fri, 10 Nov 2023 13:23:50 +0000 (15:23 +0200)]
plugins: acl - Use acl_backend_init_auto()
Aki Tuomi [Fri, 10 Nov 2023 13:19:58 +0000 (15:19 +0200)]
plugins: acl - Add acl_backend_init_auto()
Aki Tuomi [Fri, 1 Dec 2023 10:44:32 +0000 (12:44 +0200)]
plugins: acl - Move acl_storage_rights_ctx_init()
Simplifies later change.
Aki Tuomi [Thu, 30 Nov 2023 10:40:48 +0000 (12:40 +0200)]
plugins: acl - Refactor acl_lookup_dict_init()
Aki Tuomi [Fri, 10 Nov 2023 12:37:34 +0000 (14:37 +0200)]
plugins: acl - Rename acl init() function to init_legacy()
Aki Tuomi [Thu, 23 Nov 2023 10:53:56 +0000 (12:53 +0200)]
plugins: acl - Provide groups to acl_lookup_dict_iterate_visible_init() directly
Simplifies a later change.
Aki Tuomi [Fri, 17 Nov 2023 06:33:40 +0000 (08:33 +0200)]
plugins: acl - Move settings to acl_settings
Aki Tuomi [Mon, 27 Nov 2023 13:18:06 +0000 (15:18 +0200)]
plugins: acl - Validate settings in config binary too
Aki Tuomi [Mon, 27 Nov 2023 13:16:40 +0000 (15:16 +0200)]
plugins: acl - Move rights handling to acl-rights.c
Aki Tuomi [Fri, 10 Nov 2023 11:29:09 +0000 (13:29 +0200)]
plugins: acl - Add acl settings
Aki Tuomi [Fri, 10 Nov 2023 12:13:49 +0000 (14:13 +0200)]
plugins: acl - Add ability to register acl backends
Aki Tuomi [Fri, 10 Nov 2023 12:26:49 +0000 (14:26 +0200)]
plugins: acl - Use pointer for virtual functions
Aki Tuomi [Fri, 10 Nov 2023 12:16:35 +0000 (14:16 +0200)]
plugins: acl - Use named initializers for acl_backend_vfile
Aki Tuomi [Fri, 10 Nov 2023 11:33:33 +0000 (13:33 +0200)]
plugins: acl - Make some deinits NULL no-op
Aki Tuomi [Fri, 10 Nov 2023 11:24:46 +0000 (13:24 +0200)]
plugins: acl - Use container_of() macro
Aki Tuomi [Fri, 10 Nov 2023 11:12:32 +0000 (13:12 +0200)]
plugins: acl - Remove debug from backend
It's not used anywhere.
Aki Tuomi [Mon, 20 Nov 2023 10:01:24 +0000 (12:01 +0200)]
lib-storage: mail-storage-service-user - Add master_user
Returns the master_user field, or username if not
available.
Timo Sirainen [Mon, 9 Jan 2023 16:33:12 +0000 (18:33 +0200)]
mail-crypt-acl: Fix logging while updating private keys for shared users
During userdb lookup the log prefix contained only the user being looked up
with no mention of the originating user. This was because
mail_storage_service_lookup() didn't see that there was any IO loop context
active, so it created a new log prefix. Fixed by simply removing the
explicit IO loop context [de]activate calls. The logging seems to work just
fine even without them.
Timo Sirainen [Sat, 26 Aug 2023 21:25:50 +0000 (17:25 -0400)]
mail-crypt: Remove crypt_write_version setting
It's no longer possible to write new version 1 files, but they can be read.
Timo Sirainen [Sat, 26 Aug 2023 21:22:05 +0000 (17:22 -0400)]
mail-crypt: Support crypt_write_algorithm setting
If the setting is empty, write as plaintext.