]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Thu, 27 Mar 2025 15:41:20 +0000 (17:41 +0200)]
lib-auth: Fix linking due to duplicate symbols
Aki Tuomi [Fri, 28 Mar 2025 06:15:21 +0000 (08:15 +0200)]
NEWS: Add lib-settings crash to NEWS
Aki Tuomi [Fri, 28 Mar 2025 06:08:53 +0000 (08:08 +0200)]
lib-settings: test-settings - Refactor initialization of params3
Satisfies older compilers
Timo Sirainen [Wed, 19 Mar 2025 08:11:27 +0000 (10:11 +0200)]
lib-var-expand: Test hierarchical SETTINGS_EVENT_VAR_EXPAND_PARAMS
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)
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.
Aki Tuomi [Fri, 14 Mar 2025 12:04:35 +0000 (14:04 +0200)]
NEWS: Add NEWS for 2.4.1
Aki Tuomi [Fri, 14 Mar 2025 11:43:16 +0000 (13:43 +0200)]
version: Set version to 2.4.1
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.
Timo Sirainen [Fri, 14 Mar 2025 08:40:23 +0000 (10:40 +0200)]
auth: Fix using passdb_fields with passdb_ldap_bind_userdn=yes
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.
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.
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.
Karl Fleischmann [Wed, 12 Mar 2025 08:59:09 +0000 (09:59 +0100)]
lmtp: Change the default lmtp_user_concurrency_limit to 10
Timo Sirainen [Wed, 12 Mar 2025 15:51:44 +0000 (17:51 +0200)]
global: Make process_shutdown_filter specific to imap/pop3/submission
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
Timo Sirainen [Sat, 8 Mar 2025 08:45:59 +0000 (10:45 +0200)]
pop3: Use inbox mailbox_list's existing mail_storage_settings
Timo Sirainen [Sat, 8 Mar 2025 08:43:52 +0000 (10:43 +0200)]
lib-storage: Add mailbox_list_get_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.
Timo Sirainen [Sat, 8 Mar 2025 08:33:03 +0000 (10:33 +0200)]
lib-storage: Remove unused mail_user_set_get_storage_set()
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
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()
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.
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
Timo Sirainen [Sat, 8 Mar 2025 08:14:11 +0000 (10:14 +0200)]
lib-storage: Move namespace setting to mail_user_settings
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.
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
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.
Timo Sirainen [Fri, 7 Mar 2025 10:27:06 +0000 (12:27 +0200)]
lib-storage: Try to use cached mailbox settings
Timo Sirainen [Fri, 7 Mar 2025 10:26:39 +0000 (12:26 +0200)]
lib-storage: Move mailbox_get_name_without_prefix()
Timo Sirainen [Thu, 6 Mar 2025 18:30:48 +0000 (20:30 +0200)]
lib-storage: Use parsed_mailboxes instead of getting mailbox settings again
Timo Sirainen [Thu, 6 Mar 2025 18:27:57 +0000 (20:27 +0200)]
lib-storage: Save all mailbox settings in namespace settings
This avoids having to look them up again.
Timo Sirainen [Thu, 6 Mar 2025 18:08:16 +0000 (20:08 +0200)]
lmtp: Add and use lmtp_pre_mail_settings
It only has mail_max_lock_timeout setting. This is much efficient to lookup
than the full large mail_storage_settings.
Timo Sirainen [Thu, 6 Mar 2025 17:51:08 +0000 (19:51 +0200)]
lib-storage: Add and use mailbox_list_layout_settings
It only has mailbox_list_layout setting. This is much efficient to lookup
than the full large mail_storage_settings.
Timo Sirainen [Thu, 6 Mar 2025 17:47:39 +0000 (19:47 +0200)]
lib-storage: Add and use mail_driver_settings
It only has mail_driver setting. This is much efficient to lookup than
the full large mail_storage_settings.
Timo Sirainen [Thu, 6 Mar 2025 12:30:58 +0000 (14:30 +0200)]
lib-storage: Remove mail_user.have_special_use_mailboxes
This avoids having to go through all mailbox settings in all namespaces when
initializing user.
Timo Sirainen [Thu, 6 Mar 2025 12:26:49 +0000 (14:26 +0200)]
imap: Unconditionally advertise SPECIAL-USE capability
Clients should be able to handle a LIST reply doesn't return any special-use
flags, even if the capability is returned.
The removal is mainly to avoid rather costly checks with the new
configuration code.
Timo Sirainen [Tue, 11 Mar 2025 10:31:18 +0000 (12:31 +0200)]
config: Add @mailbox_defaults = english
Timo Sirainen [Tue, 11 Mar 2025 10:34:45 +0000 (12:34 +0200)]
config: Rename stats-metrics-defaults.h to default-settings-import.h
Karl Fleischmann [Fri, 7 Mar 2025 09:05:21 +0000 (10:05 +0100)]
imap-hibernate: Send logout statistics when unhibernating
Karl Fleischmann [Fri, 7 Mar 2025 09:02:22 +0000 (10:02 +0100)]
lib-imap, imap: Load and restore logout statistics when creating a client
Karl Fleischmann [Thu, 6 Mar 2025 13:48:18 +0000 (14:48 +0100)]
lib-imap, imap: Move imap_logout_format statistics into separate struct
Karl Fleischmann [Thu, 6 Mar 2025 13:42:59 +0000 (14:42 +0100)]
imap: cmd_store() - Fix indentation
Timo Sirainen [Sat, 8 Mar 2025 07:16:05 +0000 (09:16 +0200)]
config: Change shared config fd to be read-only
Timo Sirainen [Mon, 10 Mar 2025 18:57:23 +0000 (20:57 +0200)]
lib-settings: Fix compiling in build directory
Broken by
404d78b0754f5983015a1b0b189e3f1acec84a37
Aki Tuomi [Tue, 11 Mar 2025 07:32:30 +0000 (09:32 +0200)]
auth: Remove old var expand syntax from test-lua
Aki Tuomi [Tue, 11 Mar 2025 07:23:20 +0000 (09:23 +0200)]
lib-auth: Move password scheme code back to lib-auth
Keep all code that require some dependency in libauth-crypt.
Removes sodium and crypt support from password schemes unless
explicitly enabled.
Aki Tuomi [Tue, 11 Mar 2025 07:25:03 +0000 (09:25 +0200)]
auth, doveadm: Use password_schemes_register_all() to get all schemes
again
Aki Tuomi [Tue, 11 Mar 2025 11:43:17 +0000 (13:43 +0200)]
lib-auth: Add password_schemes_register_all()
Aki Tuomi [Tue, 11 Mar 2025 11:29:15 +0000 (13:29 +0200)]
lib-auth: Move crypt_verify() password-scheme-crypt.c internal function
Aki Tuomi [Tue, 11 Mar 2025 11:31:57 +0000 (13:31 +0200)]
lib-auth: Add password_schemes_weak_allowed()
Needed by next commit
Timo Sirainen [Mon, 10 Mar 2025 17:04:02 +0000 (19:04 +0200)]
config: Add config_parsed_get_setting_change_counter()
Timo Sirainen [Mon, 10 Mar 2025 16:47:51 +0000 (18:47 +0200)]
doveconf: Fix boollist output when using -h parameter
Forgotten in
61e3708fb56a10e3020d6a4f155ad32167833488
Timo Sirainen [Mon, 10 Mar 2025 12:50:28 +0000 (14:50 +0200)]
config: Move hook_config_parser_end() later and add event and config_parsed parameters
Karl Fleischmann [Thu, 6 Mar 2025 09:18:42 +0000 (10:18 +0100)]
lib-sql: driver_cassandra_log_result - Differentiate warn_timeout message
Timo Sirainen [Mon, 3 Mar 2025 13:56:48 +0000 (15:56 +0200)]
config: doveconf - Output replacement boolean lists in a single line
Timo Sirainen [Thu, 6 Mar 2025 12:19:45 +0000 (14:19 +0200)]
config: Add CONFIG_KEY_ESCAPE_CHARS macro
Timo Sirainen [Mon, 3 Mar 2025 12:52:12 +0000 (14:52 +0200)]
global: Add plugin_dependency for settings coming from plugins
Timo Sirainen [Mon, 3 Mar 2025 12:30:46 +0000 (14:30 +0200)]
lib-settings, config: Add setting_parser_info.plugin_dependency
If set, the referred plugin must actually exist on filesystem before its
settings are used. This allows spltting core plugins to separate packages
so that the settings are hidden unless the packages are installed.
Timo Sirainen [Fri, 7 Mar 2025 09:22:14 +0000 (11:22 +0200)]
lib-auth: Don't link libauth.la to libauth-crypt.la
This causes duplicate linking, because libauth.la is already in
libdovecot.so.
Broken by
24d967dfe76818821050f2da531ae1404238cbdf
Timo Sirainen [Fri, 7 Mar 2025 11:14:49 +0000 (13:14 +0200)]
lib-http: Fix increasing memory usage in shared HTTP client context
Broken by
191da0e9f93362fbf1ba8af2461c7df984eb375b
Timo Sirainen [Fri, 7 Mar 2025 10:35:44 +0000 (12:35 +0200)]
m4/dovecot.m4: Fix accidentally renamed LIBDOVECOT_FTS_INCLUDE
Broken by
19316ac1ff80cb454f2d35614137292d9aa79e1e
Aki Tuomi [Sat, 1 Mar 2025 11:20:13 +0000 (13:20 +0200)]
lib-http: http-server-connnection - Make http_server_connection_close() NULL no-op
Aki Tuomi [Sat, 1 Mar 2025 11:20:27 +0000 (13:20 +0200)]
lib-http: http-client - Free settings with client pool
Stephan Bosch [Fri, 21 Aug 2020 19:28:47 +0000 (21:28 +0200)]
lib-http: http-server - Restructure http_server_shut_down() to use while statement
Original for statement was objectionable to static analyzer. New structure is
equivalent to similar code elsewhere in Dovecot.
Stephan Bosch [Wed, 22 Apr 2020 18:42:26 +0000 (20:42 +0200)]
lib-http: http-client-request - Fix NULL pointer dereference in http_client_request_continue_payload()
Problem found by Coverity.
Stephan Bosch [Fri, 21 May 2021 11:16:54 +0000 (13:16 +0200)]
lib-http: test-http-payload - Switch ioloop implicitly using callback
Stephan Bosch [Fri, 21 May 2021 11:00:15 +0000 (13:00 +0200)]
lib-http: http-client-request - Allow calling http_client_request_error() on aborted request
Stephan Bosch [Thu, 20 May 2021 01:04:35 +0000 (03:04 +0200)]
lib-http: http-client-request - Fix pipeline corruption occurring after 100 Continue response
Only unlock connection output when no more requests are pending. Before, the
next request header could be sent while outgoing payload for current request was
still pending.
Stephan Bosch [Thu, 20 May 2021 22:15:26 +0000 (00:15 +0200)]
lib-http: http-client-connection - Move response pre-checks to http-client-request.c
Stephan Bosch [Thu, 20 May 2021 21:54:24 +0000 (23:54 +0200)]
lib-http: http-client-connection - Move handling of 100 response to http-client-request
Stephan Bosch [Thu, 19 Nov 2020 11:47:19 +0000 (12:47 +0100)]
lib-http: http-client-connection - Restructure http_client_connection_handle_response()
Stephan Bosch [Thu, 19 Nov 2020 12:04:52 +0000 (13:04 +0100)]
lib-http: http-client-connection - Split off http_client_connection_handle_response()
Stephan Bosch [Thu, 19 Nov 2020 11:18:50 +0000 (12:18 +0100)]
lib-http: http-client-connection - Restructure http_client_connection_process_response()
Stephan Bosch [Thu, 19 Nov 2020 10:57:07 +0000 (11:57 +0100)]
lib-http: http-client-connection - Split off http_client_connection_process_response()
Stephan Bosch [Sat, 24 Mar 2018 15:32:35 +0000 (16:32 +0100)]
lib-http: http-client-peer - Do not trigger request handler for disconnected peer
Stephan Bosch [Wed, 20 Nov 2024 00:53:25 +0000 (01:53 +0100)]
lib-http: http-client-request - Make http_client_request_unref(NULL) a no-op
Stephan Bosch [Tue, 20 Mar 2018 19:59:07 +0000 (20:59 +0100)]
lib-http: Reformat http-client-private.h
Stephan Bosch [Tue, 20 Mar 2018 19:58:46 +0000 (20:58 +0100)]
lib-http: Reformat http-client-host.c
Aki Tuomi [Thu, 6 Mar 2025 07:17:24 +0000 (09:17 +0200)]
lib-dns: Call lookup callback on abort with EAI_CANCELED
Aki Tuomi [Thu, 6 Mar 2025 07:17:07 +0000 (09:17 +0200)]
global: Ignore DNS callback result if it was aborted
Timo Sirainen [Mon, 3 Mar 2025 09:00:57 +0000 (11:00 +0200)]
global: For Pro edition, default mail_temp_dir=/dev/shm/dovecot
Timo Sirainen [Sun, 2 Mar 2025 10:34:11 +0000 (12:34 +0200)]
lib-storage: For Pro edition, change default mail_always_cache_fields
This shouldn't really be required anymore, but for now we'll recommend it
for Pro installations.
Timo Sirainen [Fri, 28 Feb 2025 11:23:45 +0000 (13:23 +0200)]
lib-storage: Change default mail_cache_fields
The new default reflects the fields used by IMAP clients commonly nowadays.
Unit test must be changed also a bit to pass with the changes, since when
returning header from cache it drops the CR character.
Timo Sirainen [Sat, 1 Mar 2025 08:29:06 +0000 (10:29 +0200)]
lib-storage: For Pro edition, default mail_uid=vmail and vmail_gid=vmail
Timo Sirainen [Fri, 28 Feb 2025 13:09:24 +0000 (15:09 +0200)]
lib-master: For Pro edition, set default process_shutdown_filter
Now that default service_restart_request_count are set, this helps to reduce
memory usage by restarting processes when their idling memory usage grows
too large.
Timo Sirainen [Fri, 28 Feb 2025 11:46:57 +0000 (13:46 +0200)]
anvil: For Pro edition, disable anvil-auth-penalty socket by default
Timo Sirainen [Fri, 28 Feb 2025 11:39:21 +0000 (13:39 +0200)]
auth: Change auth-userdb socket's group to default_internal_group
This allows userdb lookups by mail processes even without root privileges.
Timo Sirainen [Fri, 28 Feb 2025 11:29:47 +0000 (13:29 +0200)]
dict: For Pro edition, default service/dict-async/vsz_limit=2G
Timo Sirainen [Fri, 28 Feb 2025 10:45:27 +0000 (12:45 +0200)]
lmtp: For Pro edition, add default inet_listener in port 24
Timo Sirainen [Fri, 28 Feb 2025 10:37:03 +0000 (12:37 +0200)]
lib-master: For glibc, default MALLOC_MMAP_THRESHOLD_=131072
This helps to reduce long-running processes' memory usage.
This change isn't tracked in settings changes history. Mainly because it
would require extra code to support, but also because it's more of a system
optimization than Dovecot configuration change.
Timo Sirainen [Fri, 28 Feb 2025 10:35:20 +0000 (12:35 +0200)]
global: For Pro edition, default login_proxy_max_disconnect_delay=30s
Timo Sirainen [Fri, 28 Feb 2025 10:33:45 +0000 (12:33 +0200)]
global: For Pro edition, default verbose_proctitle=yes
Timo Sirainen [Fri, 28 Feb 2025 10:24:28 +0000 (12:24 +0200)]
master: For Pro edition, default default_vsz_limit=1G
Timo Sirainen [Fri, 28 Feb 2025 10:12:03 +0000 (12:12 +0200)]
auth: For Pro edition, default to service_client_limit=16384
This is needed to avoid warnings at startup due to the previous
changes.
Timo Sirainen [Fri, 28 Feb 2025 10:16:03 +0000 (12:16 +0200)]
imap: For Pro edition, default to service_process_limit=10240
Timo Sirainen [Fri, 28 Feb 2025 10:22:19 +0000 (12:22 +0200)]
lmtp: For Pro edition, default service_process_limit=512
Timo Sirainen [Fri, 28 Feb 2025 10:06:59 +0000 (12:06 +0200)]
imap, pop3, submission, lmtp: For Pro edition, default to service_restart_request_count=1000
Timo Sirainen [Fri, 28 Feb 2025 10:04:05 +0000 (12:04 +0200)]
lmtp: Change the default service_restart_request_count to 1
It had accidentally been "unlimited" by default since the beginning.
The default should be the same 1 as with other services like imap and pop3.
Timo Sirainen [Fri, 28 Feb 2025 09:22:54 +0000 (11:22 +0200)]
*-login: For Pro edition, default to "high performance mode"