]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
Timo Sirainen [Sat, 26 Aug 2023 21:19:01 +0000 (17:19 -0400)]
fs-crypt: Rename crypt_plain_fallback setting fs_crypt_read_plain_fallback
This is now consistent with fs_compress_read_plain_fallback setting.
Timo Sirainen [Sat, 26 Aug 2023 21:16:22 +0000 (17:16 -0400)]
fs-crypt: Allow writing without encryption only if crypt_write_algorithm is empty
This removes the check for crypt_plain_fallback setting.
Timo Sirainen [Tue, 22 Aug 2023 20:24:18 +0000 (16:24 -0400)]
mail-crypt: Preserve istream name with crypt_plain_fallback
Timo Sirainen [Thu, 17 Aug 2023 17:28:57 +0000 (13:28 -0400)]
mail-crypt-acl: Convert plugin settings to regular settings
Timo Sirainen [Wed, 16 Aug 2023 20:58:35 +0000 (16:58 -0400)]
mail-crypt: Convert plugin settings to regular settings
Timo Sirainen [Wed, 16 Aug 2023 20:56:42 +0000 (16:56 -0400)]
mail-crypt: Remove fs-crypt-settings
It was only used by test-mail-global-key code.
Timo Sirainen [Wed, 16 Aug 2023 19:22:33 +0000 (15:22 -0400)]
mail-crypt: Convert fs-crypt to use new init() API
Add crypt_* settings, which will be shared with mail_crypt plugin.
Timo Sirainen [Wed, 16 Aug 2023 19:21:43 +0000 (15:21 -0400)]
mail-crypt: Rename mail_crypt_global_keys_load() to mail_crypt_global_keys_load_from_user()
Timo Sirainen [Tue, 15 Aug 2023 17:05:19 +0000 (13:05 -0400)]
mail-crypt: Move fs-crypt-common.c code into fs-crypt.c
There is no more code sharing with fs-mail-crypt.c, so it is unnecessary
to keep it in a separate file.
Timo Sirainen [Tue, 15 Aug 2023 17:03:21 +0000 (13:03 -0400)]
mail-crypt: Remove fs-mail-crypt plugin
After the following changes fs-crypt can do everything fs-mail-crypt could.
Timo Sirainen [Tue, 9 Jan 2024 14:27:47 +0000 (09:27 -0500)]
lib-storage: Don't allow empty mail_path just because of MAILBOX_LIST_PROP_NO_ROOT
For example fs layout now has MAILBOX_LIST_PROP_NO_ROOT enabled, because
pop3c uses fs layout, even though it may not have a mail_path set. But
this shouldn't disable empty mail_path check for sdbox, which would crash
if it is attempted.
Timo Sirainen [Tue, 9 Jan 2024 17:12:57 +0000 (12:12 -0500)]
lib-storage: raw - Enable MAIL_STORAGE_CLASS_FLAG_NO_ROOT
Timo Sirainen [Tue, 9 Jan 2024 14:19:27 +0000 (09:19 -0500)]
lib-storage: fs layout - Fix checking if a file is INBOX with mailbox_list_iter_from_index_dir