]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
6 months agoauth: Add passdb_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

6 months agoauth: Remove support for sharing passdb/userdb_module by mutiple auth_passdb/userdb
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.

6 months agoauth: Use named initializers for userdb_module_interface
Timo Sirainen [Wed, 17 Jan 2024 23:50:35 +0000 (18:50 -0500)] 
auth: Use named initializers for userdb_module_interface

6 months agoauth: Rename userdb_module_interface.preinit() to preinit_legacy()
Timo Sirainen [Wed, 17 Jan 2024 23:47:41 +0000 (18:47 -0500)] 
auth: Rename userdb_module_interface.preinit() to preinit_legacy()

6 months agoauth: Use named initializers for passdb_module_interface
Timo Sirainen [Wed, 17 Jan 2024 23:47:03 +0000 (18:47 -0500)] 
auth: Use named initializers for passdb_module_interface

6 months agoauth: Rename passdb_module_interface.preinit() to preinit_legacy()
Timo Sirainen [Wed, 17 Jan 2024 23:42:59 +0000 (18:42 -0500)] 
auth: Rename passdb_module_interface.preinit() to preinit_legacy()

6 months agoauth: Add userdb_use_worker settings
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.

6 months agoauth: Add passdb_default_password_scheme and passdb_use_worker 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.

6 months agoauth: Change userdb_default_fields and userdb_override_fields to be strlist
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.

6 months agoauth: Change passdb_default_fields and passdb_override_fields to be strlist
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.

6 months agoauth: Support expanding variables for passdb/userdb settings
Timo Sirainen [Wed, 17 Jan 2024 21:45:26 +0000 (16:45 -0500)] 
auth: Support expanding variables for passdb/userdb settings

6 months agoauth: Change auth_request_get_log_prefix_db() to be static
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.

6 months agoauth: Remove passdb prefix from "Master user lookup" debug log message
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.

6 months agoauth: Add and use auth_passdb.name & auth_userdb.name
Timo Sirainen [Thu, 11 Jan 2024 17:22:56 +0000 (12:22 -0500)] 
auth: Add and use auth_passdb.name & auth_userdb.name

6 months agoauth: Call auth_passdb_request_finished() only after the passdb handling is fully...
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.

6 months agoauth: Log the same "user not found" error regardless of how many userdbs exist
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.

6 months agoauth: auth_request_get_log_prefix_db() - Don't check if passdb/userdb_name is empty
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.

6 months agoauth: Remove passdb_auth_verbose and userdb_auth_verbose settings
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.

6 months agoauth: Support userdb-specific auth_settings
Timo Sirainen [Thu, 11 Jan 2024 16:10:35 +0000 (11:10 -0500)] 
auth: Support userdb-specific auth_settings

6 months agoauth: Support passdb-specific auth_settings
Timo Sirainen [Thu, 11 Jan 2024 16:09:13 +0000 (11:09 -0500)] 
auth: Support passdb-specific auth_settings

6 months agoauth: Rename struct auth.set to protocol_set
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.

6 months agoauth: Remove deprecated passdb_pass setting
Timo Sirainen [Thu, 11 Jan 2024 15:34:51 +0000 (10:34 -0500)] 
auth: Remove deprecated passdb_pass setting

6 months agoauth: Update deprecated passdb_pass checks to check also passdb_result_success=continue
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

6 months agoconfig: Try automatic parent filtername_ prefix for section names as well
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.

6 months agofts: build-mail - Use fts-settings
Marco Bettini [Tue, 28 Nov 2023 11:38:23 +0000 (11:38 +0000)] 
fts: build-mail - Use fts-settings

6 months agofts: indexer - Use fts_settings
Marco Bettini [Wed, 6 Dec 2023 18:05:54 +0000 (18:05 +0000)] 
fts: indexer - Use fts_settings

6 months agofts: parser - Use fts_settings for decoder script+tika
Marco Bettini [Tue, 19 Dec 2023 14:31:31 +0000 (14:31 +0000)] 
fts: parser - Use fts_settings for decoder script+tika

6 months agofts: storage - Use fts_settings for autoindex_exclude
Marco Bettini [Mon, 4 Dec 2023 16:10:41 +0000 (16:10 +0000)] 
fts: storage - Use fts_settings for autoindex_exclude

6 months agofts: 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

6 months agofts: storage - Use fts_settings for autoindex_max_recent_msgs
Marco Bettini [Fri, 1 Dec 2023 11:05:42 +0000 (11:05 +0000)] 
fts: storage - Use fts_settings for autoindex_max_recent_msgs

6 months agofts: storage - Use fts_settings for enforced
Marco Bettini [Fri, 1 Dec 2023 10:31:48 +0000 (10:31 +0000)] 
fts: storage - Use fts_settings for enforced

6 months agofts: storage - Use fts-settings for backend_name
Marco Bettini [Mon, 27 Nov 2023 19:20:06 +0000 (19:20 +0000)] 
fts: storage - Use fts-settings for backend_name

6 months agofts: storage - Add fts_settings to struct fts_mailbox
Marco Bettini [Wed, 17 Jan 2024 15:18:15 +0000 (15:18 +0000)] 
fts: storage - Add fts_settings to struct fts_mailbox

6 months agofts: Use fts_settings for message_max_size
Timo Sirainen [Fri, 10 May 2024 21:06:49 +0000 (00:06 +0300)] 
fts: Use fts_settings for message_max_size

6 months agofts: storage - Add fts_settings to struct fts_user
Marco Bettini [Mon, 4 Dec 2023 14:56:17 +0000 (14:56 +0000)] 
fts: storage - Add fts_settings to struct fts_user

6 months agofts: Add struct fts_settings (Convert plugin settings to regular settings)
Marco Bettini [Fri, 24 Nov 2023 17:01:02 +0000 (17:01 +0000)] 
fts: Add struct fts_settings (Convert plugin settings to regular settings)

6 months agofts: Drop fts_no_autofuzzy setting
Marco Bettini [Mon, 27 Nov 2023 13:16:38 +0000 (13:16 +0000)] 
fts: Drop fts_no_autofuzzy setting

6 months agofts-flatcurve: Convert plugin settings to regular settings
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.

6 months agofts-solr: Drop debug setting
Marco Bettini [Tue, 16 Jan 2024 10:14:31 +0000 (10:14 +0000)] 
fts-solr: Drop debug setting

6 months agofts-solr: Add fts-solr event category
Marco Bettini [Wed, 17 Jan 2024 14:00:35 +0000 (14:00 +0000)] 
fts-solr: Add fts-solr event category

6 months agofts-solr: Convert plugin settings to regular settings
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.

6 months agofts-solr: Drop use_libfts parameter in fts_solr setting
Marco Bettini [Mon, 27 Nov 2023 08:53:03 +0000 (08:53 +0000)] 
fts-solr: Drop use_libfts parameter in fts_solr setting

6 months agolib-settings: Add SETTING_DEFINE_STRUCT_STRLIST and hidden version
Marco Bettini [Wed, 6 Dec 2023 16:05:16 +0000 (16:05 +0000)] 
lib-settings: Add SETTING_DEFINE_STRUCT_STRLIST and hidden version

6 months agoconfig: Fail config parsing on unknown section names
Timo Sirainen [Fri, 26 Jan 2024 01:29:54 +0000 (03:29 +0200)] 
config: Fail config parsing on unknown section names

6 months agodoveconf: Fix -N to not output default settings
Timo Sirainen [Fri, 26 Jan 2024 01:10:19 +0000 (03:10 +0200)] 
doveconf: Fix -N to not output default settings

6 months agoconfig: Drop kludge to have global settings override 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.

6 months agoconfig: Write default settings before base settings
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.

6 months agoconfig: Hide the trailing NULL in config_parser_context.all_filter_parsers
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.

6 months agoconfig: Replace config_module_parser_get_set_parser() with config_fill_set_parser()
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.

6 months agoconfig: Split CONFIG_PARSER_CHANGE_INTERNAL to _DEFAULTS and _SERVICE_DEFAULTS
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.

6 months agolib-settings, config: Change base settings to be an empty filter
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.

6 months agoconfig: Refactor filter writing code when dumping config
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.

6 months agoglobal: Rename setting_parser_info.default_filter_settings to default_settings
Timo Sirainen [Wed, 17 Jan 2024 19:03:45 +0000 (14:03 -0500)] 
global: Rename setting_parser_info.default_filter_settings to default_settings

6 months agolib-settings: Remove setting_parser_info.default_settings
Timo Sirainen [Wed, 17 Jan 2024 19:00:10 +0000 (14:00 -0500)] 
lib-settings: Remove setting_parser_info.default_settings

6 months agoauth, master: Replace setting_parser_info.default_settings with default_filter_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.

6 months agolib-settings: Add check for array being populated in settings_boollist_get().
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().

6 months agolib: Add array_is_created checks to array_(is|not)_empty macros.
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.

6 months agolib-storage: Use SETTINGS_EVENT_NAMESPACE_NAME in mail events
Aki Tuomi [Fri, 26 Jan 2024 11:46:39 +0000 (13:46 +0200)] 
lib-storage: Use SETTINGS_EVENT_NAMESPACE_NAME in mail events

6 months agoimap-acl: Properly signal that ACLs are disabled
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.

6 months agoplugins: imap-acl - Use acl_letter_map
Aki Tuomi [Tue, 28 Nov 2023 07:18:35 +0000 (09:18 +0200)] 
plugins: imap-acl - Use acl_letter_map

Avoids duplication.

6 months agoplugins: imap-acl - Add imap_acl_settings
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.

6 months agoReformat src/plugins/imap-acl/imap-acl-plugin.c
Aki Tuomi [Tue, 28 Nov 2023 09:49:35 +0000 (11:49 +0200)] 
Reformat src/plugins/imap-acl/imap-acl-plugin.c

6 months agoplugins: acl - Drop unused can_see_r from acl_mailbox_list_have_right()
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()

6 months agoplugins: acl - Support loading ACLs directly from config
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.

6 months agoplugins: acl - Remove settings from acl_user
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.

6 months agoplugins: acl - Remove old acl_backend_init()
Aki Tuomi [Fri, 10 Nov 2023 13:25:49 +0000 (15:25 +0200)] 
plugins: acl - Remove old acl_backend_init()

6 months agoplugins: acl - Remove unused acl_mail_namespace_storage_added()
Aki Tuomi [Fri, 15 Dec 2023 11:12:48 +0000 (13:12 +0200)] 
plugins: acl - Remove unused acl_mail_namespace_storage_added()

6 months agoplugins: acl - Use acl_backend_init_auto()
Aki Tuomi [Fri, 10 Nov 2023 13:23:50 +0000 (15:23 +0200)] 
plugins: acl - Use acl_backend_init_auto()

6 months agoplugins: acl - Add acl_backend_init_auto()
Aki Tuomi [Fri, 10 Nov 2023 13:19:58 +0000 (15:19 +0200)] 
plugins: acl - Add acl_backend_init_auto()

6 months agoplugins: acl - Move acl_storage_rights_ctx_init()
Aki Tuomi [Fri, 1 Dec 2023 10:44:32 +0000 (12:44 +0200)] 
plugins: acl - Move acl_storage_rights_ctx_init()

Simplifies later change.

6 months agoplugins: acl - Refactor acl_lookup_dict_init()
Aki Tuomi [Thu, 30 Nov 2023 10:40:48 +0000 (12:40 +0200)] 
plugins: acl - Refactor acl_lookup_dict_init()

6 months agoplugins: acl - Rename acl init() function to init_legacy()
Aki Tuomi [Fri, 10 Nov 2023 12:37:34 +0000 (14:37 +0200)] 
plugins: acl - Rename acl init() function to init_legacy()

6 months agoplugins: acl - Provide groups to acl_lookup_dict_iterate_visible_init() directly
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.

6 months agoplugins: acl - Move settings to acl_settings
Aki Tuomi [Fri, 17 Nov 2023 06:33:40 +0000 (08:33 +0200)] 
plugins: acl - Move settings to acl_settings

6 months agoplugins: acl - Validate settings in config binary too
Aki Tuomi [Mon, 27 Nov 2023 13:18:06 +0000 (15:18 +0200)] 
plugins: acl - Validate settings in config binary too

6 months agoplugins: acl - Move rights handling to acl-rights.c
Aki Tuomi [Mon, 27 Nov 2023 13:16:40 +0000 (15:16 +0200)] 
plugins: acl - Move rights handling to acl-rights.c

6 months agoplugins: acl - Add acl settings
Aki Tuomi [Fri, 10 Nov 2023 11:29:09 +0000 (13:29 +0200)] 
plugins: acl - Add acl settings

6 months agoplugins: acl - Add ability to register acl backends
Aki Tuomi [Fri, 10 Nov 2023 12:13:49 +0000 (14:13 +0200)] 
plugins: acl - Add ability to register acl backends

6 months agoplugins: acl - Use pointer for virtual functions
Aki Tuomi [Fri, 10 Nov 2023 12:26:49 +0000 (14:26 +0200)] 
plugins: acl - Use pointer for virtual functions

6 months agoplugins: acl - Use named initializers for acl_backend_vfile
Aki Tuomi [Fri, 10 Nov 2023 12:16:35 +0000 (14:16 +0200)] 
plugins: acl - Use named initializers for acl_backend_vfile

6 months agoplugins: acl - Make some deinits NULL no-op
Aki Tuomi [Fri, 10 Nov 2023 11:33:33 +0000 (13:33 +0200)] 
plugins: acl - Make some deinits NULL no-op

6 months agoplugins: acl - Use container_of() macro
Aki Tuomi [Fri, 10 Nov 2023 11:24:46 +0000 (13:24 +0200)] 
plugins: acl - Use container_of() macro

6 months agoplugins: acl - Remove debug from backend
Aki Tuomi [Fri, 10 Nov 2023 11:12:32 +0000 (13:12 +0200)] 
plugins: acl - Remove debug from backend

It's not used anywhere.

6 months agolib-storage: mail-storage-service-user - Add master_user
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.

6 months agomail-crypt-acl: Fix logging while updating private keys for shared users
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.

6 months agomail-crypt: Remove crypt_write_version setting
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.

6 months agomail-crypt: Support crypt_write_algorithm setting
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.

6 months agofs-crypt: Rename crypt_plain_fallback setting fs_crypt_read_plain_fallback
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.

6 months agofs-crypt: Allow writing without encryption only if crypt_write_algorithm is empty
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.

6 months agomail-crypt: Preserve istream name with crypt_plain_fallback
Timo Sirainen [Tue, 22 Aug 2023 20:24:18 +0000 (16:24 -0400)] 
mail-crypt: Preserve istream name with crypt_plain_fallback

6 months agomail-crypt-acl: Convert plugin settings to regular settings
Timo Sirainen [Thu, 17 Aug 2023 17:28:57 +0000 (13:28 -0400)] 
mail-crypt-acl: Convert plugin settings to regular settings

6 months agomail-crypt: 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

6 months agomail-crypt: Remove fs-crypt-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.

6 months agomail-crypt: Convert fs-crypt to use new init() API
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.

6 months agomail-crypt: Rename mail_crypt_global_keys_load() to mail_crypt_global_keys_load_from_...
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()

6 months agomail-crypt: Move fs-crypt-common.c code into fs-crypt.c
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.

6 months agomail-crypt: Remove fs-mail-crypt plugin
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.

6 months agolib-storage: Don't allow empty mail_path just because of MAILBOX_LIST_PROP_NO_ROOT
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.

6 months agolib-storage: raw - Enable MAIL_STORAGE_CLASS_FLAG_NO_ROOT
Timo Sirainen [Tue, 9 Jan 2024 17:12:57 +0000 (12:12 -0500)] 
lib-storage: raw - Enable MAIL_STORAGE_CLASS_FLAG_NO_ROOT

6 months agolib-storage: fs layout - Fix checking if a file is INBOX with mailbox_list_iter_from_...
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