]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
5 months agoconfig: Add config_parsed_get_all_keys()
Timo Sirainen [Mon, 7 Apr 2025 10:11:41 +0000 (13:11 +0300)] 
config: Add config_parsed_get_all_keys()

5 months agoconfig: Remove unused dump_context.filter_idx
Timo Sirainen [Wed, 26 Feb 2025 17:52:23 +0000 (19:52 +0200)] 
config: Remove unused dump_context.filter_idx

5 months agoconfig: Move all structs and enums to beginning of file
Timo Sirainen [Wed, 26 Feb 2025 10:28:38 +0000 (12:28 +0200)] 
config: Move all structs and enums to beginning of file

5 months agoconfig, lib-settings: Access filter index/offset arrays directly via mmap
Timo Sirainen [Wed, 26 Feb 2025 10:43:15 +0000 (12:43 +0200)] 
config, lib-settings: Access filter index/offset arrays directly via mmap

Add 64bit alignment to the start offset to make this safe.

5 months agolib-master: test-master-service-settings - Fix earlier tests
Timo Sirainen [Thu, 10 Apr 2025 12:48:50 +0000 (15:48 +0300)] 
lib-master: test-master-service-settings - Fix earlier tests

5 months agolib-settings, config: Use native CPU endianess in binary config file
Timo Sirainen [Mon, 24 Feb 2025 11:28:10 +0000 (13:28 +0200)] 
lib-settings, config: Use native CPU endianess in binary config file

The binary config file is never shared between different servers, so for
performance it's better to just use native endianess.

5 months agolib-settings: Add and use SETTINGS_APPEND_KEY_SUFFIX macro
Timo Sirainen [Fri, 11 Apr 2025 10:47:51 +0000 (13:47 +0300)] 
lib-settings: Add and use SETTINGS_APPEND_KEY_SUFFIX macro

5 months agolib-storage: Don't use \Recent flags if IMAP4rev2 is enabled
Markus Valentin [Wed, 7 May 2025 12:17:20 +0000 (14:17 +0200)] 
lib-storage: Don't use \Recent flags if IMAP4rev2 is enabled

IMAP4rev2 sessions still update the "highest \Recent message UID", but it
doesn't return any messages as having \Recent flag.

5 months agoimap: imap-status: Handle RECENT as invalid status item for IMAP4rev2
Markus Valentin [Thu, 10 Apr 2025 06:24:47 +0000 (08:24 +0200)] 
imap: imap-status: Handle RECENT as invalid status item for IMAP4rev2

5 months agoimap: Disable RECENT replies when IMAP4REV2 is enabled
Markus Valentin [Mon, 7 Apr 2025 12:24:21 +0000 (14:24 +0200)] 
imap: Disable RECENT replies when IMAP4REV2 is enabled

5 months agoimap: Do not use deprecated IMAP4rev1 search arguments if IMAP4rev2 is enabled
Markus Valentin [Mon, 7 Apr 2025 12:18:54 +0000 (14:18 +0200)] 
imap: Do not use deprecated IMAP4rev1 search arguments if IMAP4rev2 is enabled

5 months agolib-storage: Deprecate IMAP4rev1 mail_search_register_args for IMAP4rev2
Markus Valentin [Thu, 8 May 2025 10:57:54 +0000 (12:57 +0200)] 
lib-storage: Deprecate IMAP4rev1 mail_search_register_args for IMAP4rev2

Also introduce mail_search_register_get_imap4rev2() and
mail_search_register_get_imap4rev1().

5 months agolib-storage: Add enum mail_search_register_arg_flags to mail_search_register_arg
Markus Valentin [Fri, 9 May 2025 09:25:31 +0000 (11:25 +0200)] 
lib-storage: Add enum mail_search_register_arg_flags to mail_search_register_arg

5 months ago lib-storage: index_storage_mailbox_enable() - Add MAILBOX_FEATURE_IMAP4REV2
Markus Valentin [Thu, 8 May 2025 07:47:11 +0000 (09:47 +0200)] 
 lib-storage: index_storage_mailbox_enable() - Add MAILBOX_FEATURE_IMAP4REV2

5 months agoimap: Fix registering IMAP4rev2 as imap feature
Markus Valentin [Thu, 10 Apr 2025 06:23:42 +0000 (08:23 +0200)] 
imap: Fix registering IMAP4rev2 as imap feature

5 months agoglobal: Drop support for old iconv()
Aki Tuomi [Mon, 12 May 2025 08:20:18 +0000 (11:20 +0300)] 
global: Drop support for old iconv()

iconv() is part of POSIX.1-2001.

5 months agolib-lua: Add input & output stream wrappers
Aki Tuomi [Tue, 15 Apr 2025 10:48:18 +0000 (13:48 +0300)] 
lib-lua: Add input & output stream wrappers

5 months agolib-mail: Use explicit boolean expressions to fix compile errors
Fred Morcos [Wed, 23 Apr 2025 07:21:54 +0000 (09:21 +0200)] 
lib-mail: Use explicit boolean expressions to fix compile errors

5 months agolib-mail: Use test_assert_strcmp_idx instead of custom debug code
Fred Morcos [Wed, 16 Apr 2025 13:06:13 +0000 (15:06 +0200)] 
lib-mail: Use test_assert_strcmp_idx instead of custom debug code

5 months agofts: Explicit initializer names
Fred Morcos [Wed, 19 Mar 2025 06:38:03 +0000 (07:38 +0100)] 
fts: Explicit initializer names

5 months agolib-mail: Tests for attachment detection
Fred Morcos [Thu, 20 Feb 2025 06:58:58 +0000 (07:58 +0100)] 
lib-mail: Tests for attachment detection

5 months agolib-mail: Refactor and improve attachment detection
Fred Morcos [Tue, 18 Feb 2025 21:40:20 +0000 (22:40 +0100)] 
lib-mail: Refactor and improve attachment detection

This also adds support for detecting Content-Type->name when Content-Disposition->filename
is not available. This only works in the case of Content-Disposition: attachment.

5 months agolib-mail: Fix clang-tidy lints
Fred Morcos [Tue, 18 Feb 2025 08:00:09 +0000 (09:00 +0100)] 
lib-mail: Fix clang-tidy lints

5 months agoglobal: clang-tidy: disable recursion warnings
Fred Morcos [Wed, 9 Apr 2025 05:21:30 +0000 (07:21 +0200)] 
global: clang-tidy: disable recursion warnings

5 months agoimap: Implement UTF8=ACCEPT for APPEND command
Aki Tuomi [Tue, 8 Apr 2025 05:44:02 +0000 (08:44 +0300)] 
imap: Implement UTF8=ACCEPT for APPEND command

5 months agoimap: Split off cmd_append_handle_parse_error()
Aki Tuomi [Thu, 10 Apr 2025 05:41:54 +0000 (08:41 +0300)] 
imap: Split off cmd_append_handle_parse_error()

5 months agoimap: Refactor append handling
Aki Tuomi [Tue, 8 Apr 2025 05:42:19 +0000 (08:42 +0300)] 
imap: Refactor append handling

Simplifies next commit.

5 months agolib-imap: Add some tests for literal parsing
Aki Tuomi [Tue, 8 Apr 2025 18:26:44 +0000 (21:26 +0300)] 
lib-imap: Add some tests for literal parsing

6 months agoimapc: Propagate response codes
Marco Bettini [Thu, 10 Apr 2025 14:24:56 +0000 (14:24 +0000)] 
imapc: Propagate response codes

6 months agolib-storage: mail_storage_callbacks - Add notify_bad()
Marco Bettini [Mon, 7 Apr 2025 14:28:41 +0000 (14:28 +0000)] 
lib-storage: mail_storage_callbacks - Add notify_bad()

6 months agolib-imap: Add defines for all the Response Codes currently in IANA
Marco Bettini [Mon, 7 Apr 2025 10:43:20 +0000 (10:43 +0000)] 
lib-imap: Add defines for all the Response Codes currently in IANA

6 months agoauth: remove proxy_always extra field
Vincent Kenbeek [Mon, 17 Mar 2025 14:25:40 +0000 (15:25 +0100)] 
auth: remove proxy_always extra field

6 months agosettings: Use marker when Pro version is not specified
Fred Morcos [Mon, 14 Apr 2025 05:15:21 +0000 (07:15 +0200)] 
settings: Use marker when Pro version is not specified

6 months agosettings: Improvements to settings-history conversion script
Fred Morcos [Fri, 11 Apr 2025 11:03:19 +0000 (13:03 +0200)] 
settings: Improvements to settings-history conversion script

- Some cleanup and refactoring
- Improve version handling
- Improve error messages and reporting

6 months agosettings: Fix build issue with unsorted settings-history file
Fred Morcos [Fri, 11 Apr 2025 11:02:58 +0000 (13:02 +0200)] 
settings: Fix build issue with unsorted settings-history file

6 months agoanvil: Change anvil socket's default group to default_internal_group
Timo Sirainen [Wed, 26 Mar 2025 08:59:43 +0000 (10:59 +0200)] 
anvil: Change anvil socket's default group to default_internal_group

6 months agoimap/test-imap-client-hibernate: Append new unhibernation statistics to expected...
Karl Fleischmann [Wed, 9 Apr 2025 10:51:36 +0000 (12:51 +0200)] 
imap/test-imap-client-hibernate: Append new unhibernation statistics to expected fields

Forgotten in 3d415cf2dd393e1b4ad6e2be1a06bb221406509f

6 months agoimap/test-imap-client-hibernate: Propagate failures in imap_hibernate_server()
Karl Fleischmann [Wed, 9 Apr 2025 10:48:35 +0000 (12:48 +0200)] 
imap/test-imap-client-hibernate: Propagate failures in imap_hibernate_server()

The subprocess needs to propagate the error to the diligent parent process.

6 months agoconfig: Use python3 instead of python
Fred Morcos [Thu, 10 Apr 2025 05:13:55 +0000 (07:13 +0200)] 
config: Use python3 instead of python

6 months agoconfig: Change the generated settings-history-core from .h to .c
Fred Morcos [Mon, 7 Apr 2025 12:51:32 +0000 (14:51 +0200)] 
config: Change the generated settings-history-core from .h to .c

This changes the output file to a header file instead of a C file, this helps meson deal
better with dependencies on custom_targets.

It is technically an #included header file so it makes sense.

The ideal solution would be to keep it as a C file, and add forward declarations of the
arrays defined in it instead of verbatim #include'ing it. However, array forward decls are
not possible without a specified size which cannot be provided in advance and declaring
them as pointers is perhaps not the best idea.

6 months agoconfig: Replace settings-history Perl script with Python rewrite
Fred Morcos [Mon, 7 Apr 2025 12:46:46 +0000 (14:46 +0200)] 
config: Replace settings-history Perl script with Python rewrite

6 months agoglobal: Add pyproject.toml for Python scripts
Fred Morcos [Thu, 27 Mar 2025 15:51:07 +0000 (16:51 +0100)] 
global: Add pyproject.toml for Python scripts

6 months agoglobal: gitignore: Ignore python rope cache dir
Fred Morcos [Wed, 9 Apr 2025 06:30:20 +0000 (08:30 +0200)] 
global: gitignore: Ignore python rope cache dir

6 months agoconfig: Fail if quoted "\escaping" is used for unexpected characters
Timo Sirainen [Mon, 31 Mar 2025 11:47:55 +0000 (14:47 +0300)] 
config: Fail if quoted "\escaping" is used for unexpected characters

6 months agoconfig: Unescape a "quoted" setting key
Timo Sirainen [Fri, 28 Mar 2025 21:20:07 +0000 (23:20 +0200)] 
config: Unescape a "quoted" setting key

This mainly fixes e.g.:

mailbox_special_use {
  "\Drafts" = yes
}

6 months agoconfig: Fix various issues in doveconf when outputing @groups
Timo Sirainen [Wed, 19 Mar 2025 16:16:43 +0000 (18:16 +0200)] 
config: Fix various issues in doveconf when outputing @groups

6 months agoconfig: Change @group includes to be merged into parsed config immediately
Timo Sirainen [Thu, 20 Mar 2025 10:57:53 +0000 (12:57 +0200)] 
config: Change @group includes to be merged into parsed config immediately

This change expands the group settings into the settings tree using a new
low-priority CONFIG_PARSER_CHANGE_GROUP change_counter. Settings with this
counter are included in all checks, but they are not exported as part of the
configuration (to allow overriding the entire groups in cli/userdb).

This fixes using for example:

@metric_defaults = backend
metric auth_failures {
  fields = foo
}

Which otherwise would fail with "metric is required to have metric_filter
setting" error, because it didn't realize the auth_metrics already existed.

6 months agoconfig: Preserve filter_required_setting_seen when merging filter trees
Timo Sirainen [Thu, 20 Mar 2025 10:55:37 +0000 (12:55 +0200)] 
config: Preserve filter_required_setting_seen when merging filter trees

6 months agoconfig: config_module_parsers_merge() - Add new_change_counter parameter
Timo Sirainen [Thu, 20 Mar 2025 10:51:35 +0000 (12:51 +0200)] 
config: config_module_parsers_merge() - Add new_change_counter parameter

This simplifies the following commits.

6 months agodoveadm kick: Add support for kicking multiple usernames
Timo Sirainen [Tue, 25 Mar 2025 10:11:26 +0000 (12:11 +0200)] 
doveadm kick: Add support for kicking multiple usernames

6 months agodoveadm: Add who_filter.username_wildcards helper boolean
Timo Sirainen [Tue, 25 Mar 2025 09:18:36 +0000 (11:18 +0200)] 
doveadm: Add who_filter.username_wildcards helper boolean

Simplifies the next commit.

6 months agodoveadm kick: Fix crash when trying to give multiple username parameters
Timo Sirainen [Tue, 25 Mar 2025 08:57:52 +0000 (10:57 +0200)] 
doveadm kick: Fix crash when trying to give multiple username parameters

6 months agodoveadm kick: Fix event/memory leak when failing to connect to anvil
Timo Sirainen [Tue, 25 Mar 2025 08:53:18 +0000 (10:53 +0200)] 
doveadm kick: Fix event/memory leak when failing to connect to anvil

6 months agolib-storage: mailbox_list_index_refresh_force() - Add missing error handling for...
Timo Sirainen [Fri, 21 Mar 2025 19:33:00 +0000 (21:33 +0200)] 
lib-storage: mailbox_list_index_refresh_force() - Add missing error handling for failed mail_index_refresh()

6 months agolib-storage: mailbox_list_index_refresh() - Fix error handling when called many times...
Timo Sirainen [Fri, 21 Mar 2025 19:30:12 +0000 (21:30 +0200)] 
lib-storage: mailbox_list_index_refresh() - Fix error handling when called many times rapidly

The error could have been cleared out between the calls, so set the repeated
calls as internal failure.

6 months agoimap: Fix potential assert-crash if pipelining IDLE+DONE+more commands
Timo Sirainen [Thu, 27 Mar 2025 10:23:30 +0000 (12:23 +0200)] 
imap: Fix potential assert-crash if pipelining IDLE+DONE+more commands

At least followed by COPY command it assert-crashes.
Fixes:
Panic: file cmd-copy.c: line 120 (fetch_and_copy): assertion failed: (o_stream_is_corked(client->output) || client->output->stream_errno != 0)

6 months agoglobal: Log errors if anvil query fails
Timo Sirainen [Fri, 21 Mar 2025 18:38:53 +0000 (20:38 +0200)] 
global: Log errors if anvil query fails

6 months agolib-master: Fix anvil_client_query() return value comment
Timo Sirainen [Fri, 21 Mar 2025 18:32:30 +0000 (20:32 +0200)] 
lib-master: Fix anvil_client_query() return value comment

It never returns NULL.

6 months agolib-master: Set proper error string to anvil_callback_t
Timo Sirainen [Fri, 21 Mar 2025 18:30:54 +0000 (20:30 +0200)] 
lib-master: Set proper error string to anvil_callback_t

6 months agolib-master: Add API changes to allow anvil_callback_t to return error string
Timo Sirainen [Fri, 21 Mar 2025 14:09:45 +0000 (16:09 +0200)] 
lib-master: Add API changes to allow anvil_callback_t to return error string

6 months agolib-settings: test-settings - Refactor initialization of params3
Aki Tuomi [Fri, 28 Mar 2025 06:08:53 +0000 (08:08 +0200)] 
lib-settings: test-settings - Refactor initialization of params3

Satisfies older compilers

6 months agolib-auth: Fix linking due to duplicate symbols
Timo Sirainen [Thu, 27 Mar 2025 15:41:20 +0000 (17:41 +0200)] 
lib-auth: Fix linking due to duplicate symbols

6 months agolmtp: Fix Pro edition to actually listen on port 24
Timo Sirainen [Thu, 27 Mar 2025 15:52:40 +0000 (17:52 +0200)] 
lmtp: Fix Pro edition to actually listen on port 24

Was forgotten in a9c8da0daf874e2502f60d91a808ead94fe97d35

6 months agolib-var-expand: Test hierarchical SETTINGS_EVENT_VAR_EXPAND_PARAMS
Timo Sirainen [Wed, 19 Mar 2025 08:11:27 +0000 (10:11 +0200)] 
lib-var-expand: Test hierarchical SETTINGS_EVENT_VAR_EXPAND_PARAMS

6 months agolib-settings: Pad initial var expand context with empty tables and providers when...
Aki Tuomi [Wed, 19 Mar 2025 08:48:43 +0000 (10:48 +0200)] 
lib-settings: Pad initial var expand context with empty tables and providers when needed

Fixes:
Panic: file settings.c: line 1560 (settings_var_expand_init_add): assertion failed: (I_MAX(num_tables, num_provs) == num_ctx)

6 months agoauth: db-oauth2 - Don't mix table and providers_arr
Aki Tuomi [Wed, 26 Mar 2025 10:00:49 +0000 (12:00 +0200)] 
auth: db-oauth2 - Don't mix table and providers_arr

It's not needed.

6 months agoquota: fs_quota_mountpoint_get() - Fix crash due to initialized event
Marco Bettini [Tue, 25 Mar 2025 10:18:56 +0000 (10:18 +0000)] 
quota: fs_quota_mountpoint_get() - Fix crash due to initialized event

6 months agoquota: imapc_quota_refresh_update() - Fix crash due to initialized event
Marco Bettini [Mon, 24 Mar 2025 12:58:47 +0000 (12:58 +0000)] 
quota: imapc_quota_refresh_update() - Fix crash due to initialized event

6 months agoconfig: doveconf - Fix asking for settings which have named filter as prefix
Timo Sirainen [Thu, 20 Mar 2025 12:01:52 +0000 (14:01 +0200)] 
config: doveconf - Fix asking for settings which have named filter as prefix

For example "doveconf imapc_master_user" wouldn't output the setting,
although "doveconf imapc/master_user" would.

6 months agoconfig: Fix file descriptor leak if "set = <file" handling fails due to fstat()
Timo Sirainen [Fri, 21 Mar 2025 11:41:52 +0000 (13:41 +0200)] 
config: Fix file descriptor leak if "set = <file" handling fails due to fstat()

Broken by 0301f03cbe9123302a439756f54a713373b86c69

6 months agoconfig: Improve "Unknown section name" error with more details
Timo Sirainen [Thu, 20 Mar 2025 09:29:57 +0000 (11:29 +0200)] 
config: Improve "Unknown section name" error with more details

6 months agolib-imap-client: Add IMAP4rev2 capability detection support
Markus Valentin [Tue, 18 Mar 2025 10:29:23 +0000 (11:29 +0100)] 
lib-imap-client: Add IMAP4rev2 capability detection support

6 months agoimap: Add imap4rev2 capability
Markus Valentin [Mon, 10 Mar 2025 14:29:27 +0000 (14:29 +0000)] 
imap: Add imap4rev2 capability

It can only be enabled if build with --enable-experimental-imap4rev2

6 months agoconfig: Support config version 2.4.1
Aki Tuomi [Wed, 19 Mar 2025 10:57:58 +0000 (12:57 +0200)] 
config: Support config version 2.4.1

7 months agolib-settings: Skip applying groups early if there are no group includes
Timo Sirainen [Wed, 19 Mar 2025 10:02:04 +0000 (12:02 +0200)] 
lib-settings: Skip applying groups early if there are no group includes

7 months agolib: test-file-cache - Ignore RLIMIT_AS enforcement failure
Aki Tuomi [Tue, 18 Mar 2025 08:31:37 +0000 (10:31 +0200)] 
lib: test-file-cache - Ignore RLIMIT_AS enforcement failure

If the OS does not respect RLIMIT_AS here, lets skip all the rest of
the tests.

This happens at least with qemu/aarch64.

7 months agolib-master: Try to use binary config cache if DOVECOT_CONFIG_CACHE environment is set
Timo Sirainen [Tue, 11 Mar 2025 07:44:24 +0000 (09:44 +0200)] 
lib-master: Try to use binary config cache if DOVECOT_CONFIG_CACHE environment is set

7 months agoconfig, lib-settings: Add support for binary config file cache
Timo Sirainen [Sun, 9 Mar 2025 09:09:07 +0000 (11:09 +0200)] 
config, lib-settings: Add support for binary config file cache

This is mainly intended for optimizing our CI performance. It shouldn't
be used in production.

7 months agolib-settings, global: settings_parse_read_file() - Return file's struct stat
Timo Sirainen [Tue, 11 Mar 2025 07:39:09 +0000 (09:39 +0200)] 
lib-settings, global: settings_parse_read_file() - Return file's struct stat

7 months agoauth: Fix using passdb_fields with passdb_ldap_bind_userdn=yes release-3.1.0
Timo Sirainen [Fri, 14 Mar 2025 08:40:23 +0000 (10:40 +0200)] 
auth: Fix using passdb_fields with passdb_ldap_bind_userdn=yes

7 months agoconfig: Improve "Unknown setting" error with more details and suggestions
Timo Sirainen [Wed, 12 Mar 2025 14:12:11 +0000 (16:12 +0200)] 
config: Improve "Unknown setting" error with more details and suggestions

List the autoprefixed setting names that were attempted. Also try to give
suggestions for corrected setting names with named list filters.

7 months agoconfig: Remove dead code trying to add section name prefix for unknown settings
Timo Sirainen [Wed, 12 Mar 2025 13:33:22 +0000 (15:33 +0200)] 
config: Remove dead code trying to add section name prefix for unknown settings

All settings are now global. There is no settings hierarchy.

7 months agolmtp: Clarify lmtp_user_concurrency_limit value of unlimited
Karl Fleischmann [Wed, 12 Mar 2025 08:59:18 +0000 (09:59 +0100)] 
lmtp: Clarify lmtp_user_concurrency_limit value of unlimited

Disallow setting this setting to 0. Make the relevant checks against
"unlimited" instead.

7 months agolmtp: Change the default lmtp_user_concurrency_limit to 10
Karl Fleischmann [Wed, 12 Mar 2025 08:59:09 +0000 (09:59 +0100)] 
lmtp: Change the default lmtp_user_concurrency_limit to 10

7 months agoglobal: Make process_shutdown_filter specific to imap/pop3/submission
Timo Sirainen [Wed, 12 Mar 2025 15:51:44 +0000 (17:51 +0200)] 
global: Make process_shutdown_filter specific to imap/pop3/submission

7 months agoimap: For Pro edition, change imap-master socket's owner to default_internal_user
Timo Sirainen [Tue, 11 Mar 2025 12:01:07 +0000 (14:01 +0200)] 
imap: For Pro edition, change imap-master socket's owner to default_internal_user

7 months agopop3: Use inbox mailbox_list's existing mail_storage_settings
Timo Sirainen [Sat, 8 Mar 2025 08:45:59 +0000 (10:45 +0200)] 
pop3: Use inbox mailbox_list's existing mail_storage_settings

7 months agolib-storage: Add mailbox_list_get_mail_set()
Timo Sirainen [Sat, 8 Mar 2025 08:43:52 +0000 (10:43 +0200)] 
lib-storage: Add mailbox_list_get_mail_set()

7 months agolib-storage: Remove unused mail_user._mail_set
Timo Sirainen [Sat, 8 Mar 2025 08:35:38 +0000 (10:35 +0200)] 
lib-storage: Remove unused mail_user._mail_set

This was implicitly doing mail_user_get_home() when expanding user settings,
which was expected by the shared storage code. Changed this call now to be
explicit.

7 months agolib-storage: Remove unused mail_user_set_get_storage_set()
Timo Sirainen [Sat, 8 Mar 2025 08:33:03 +0000 (10:33 +0200)] 
lib-storage: Remove unused mail_user_set_get_storage_set()

7 months agodoveadm auth: Replace mail_user_set_get_storage_set() with direct settings lookup
Timo Sirainen [Sat, 8 Mar 2025 08:32:05 +0000 (10:32 +0200)] 
doveadm auth: Replace mail_user_set_get_storage_set() with direct settings lookup

7 months agolib-storage: Default namespace init: Lookup mail_driver with a settings lookup
Timo Sirainen [Sat, 8 Mar 2025 08:22:46 +0000 (10:22 +0200)] 
lib-storage: Default namespace init: Lookup mail_driver with a settings lookup

This allows removal of mail_user_set_get_storage_set()

7 months agolib-storage: mail_duplicate_db_init() - Lookup settings via inbox mailbox_list
Timo Sirainen [Sat, 8 Mar 2025 08:19:25 +0000 (10:19 +0200)] 
lib-storage: mail_duplicate_db_init() - Lookup settings via inbox mailbox_list

It's already used for looking up volatile directory, so use it for the rest
as well.

7 months agoimap: Move mailbox_list_index setting to be looked up via imap_settings
Timo Sirainen [Sat, 8 Mar 2025 08:17:33 +0000 (10:17 +0200)] 
imap: Move mailbox_list_index setting to be looked up via imap_settings

7 months agolib-storage: Move namespace setting to mail_user_settings
Timo Sirainen [Sat, 8 Mar 2025 08:14:11 +0000 (10:14 +0200)] 
lib-storage: Move namespace setting to mail_user_settings

7 months agolib-storage: mail_user_lock_file_create() - Use mail_set from mailbox_list
Timo Sirainen [Sat, 8 Mar 2025 08:07:58 +0000 (10:07 +0200)] 
lib-storage: mail_user_lock_file_create() - Use mail_set from mailbox_list

It was partially being used, while other settings were from user's mail_set.

7 months agolib-storage: Try to get special_use flags using cached mailbox settings
Timo Sirainen [Fri, 7 Mar 2025 10:56:55 +0000 (12:56 +0200)] 
lib-storage: Try to get special_use flags using cached mailbox settings

7 months agolib-storage: mailbox_list_iter_next() - Fix memory allocation for special_use flags
Timo Sirainen [Tue, 11 Mar 2025 09:50:54 +0000 (11:50 +0200)] 
lib-storage: mailbox_list_iter_next() - Fix memory allocation for special_use flags

It's not safe to store the string into data stack.

7 months agolib-storage: Try to use cached mailbox settings
Timo Sirainen [Fri, 7 Mar 2025 10:27:06 +0000 (12:27 +0200)] 
lib-storage: Try to use cached mailbox settings

7 months agolib-storage: Move mailbox_get_name_without_prefix()
Timo Sirainen [Fri, 7 Mar 2025 10:26:39 +0000 (12:26 +0200)] 
lib-storage: Move mailbox_get_name_without_prefix()