]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Sat, 14 Feb 2026 01:22:25 +0000 (02:22 +0100)]
lib: test-unicode-nf - Prepare and clean up stream safe test for expansion
Stephan Bosch [Sat, 14 Feb 2026 01:21:21 +0000 (02:21 +0100)]
lib: test-unicode-nf - Improve stream safe test
Stephan Bosch [Sat, 14 Feb 2026 01:16:43 +0000 (02:16 +0100)]
lib-test: test-common - Improve test_assert_memcmp() failure output for easier comparison
Marco Bettini [Tue, 27 Jan 2026 15:31:23 +0000 (15:31 +0000)]
global: Don't accept 0 as meaning unlimited anymore in last_valid_uid, last_valid_gid
Marco Bettini [Fri, 23 Jan 2026 14:54:54 +0000 (14:54 +0000)]
submission: Don't accept 0 as meaning unlimited anymore in submission_max_recipients
Marco Bettini [Wed, 21 Jan 2026 16:59:41 +0000 (16:59 +0000)]
fts: Don't accept 0 as meaning unlimited anymore in message_max_size
Marco Bettini [Mon, 2 Feb 2026 14:27:24 +0000 (14:27 +0000)]
lib-storage: Don't accept 0 as meaning unlimited anymore in mail_cache_max_headers_count
Marco Bettini [Fri, 30 Jan 2026 10:10:37 +0000 (10:10 +0000)]
lib-storage: Don't accept 0 as meaning unlimited anymore in mail_cache_max_header_name_length
Marco Bettini [Tue, 27 Jan 2026 14:17:29 +0000 (14:17 +0000)]
lib-storage: Don't accept 0 as meaning unlimited anymore in mail_vsize_bg_after_count
Marco Bettini [Thu, 22 Jan 2026 11:08:24 +0000 (11:08 +0000)]
lib-storage: Don't accept 0 as meaning unlimited anymore in mail_sort_max_read_count
Marco Bettini [Thu, 22 Jan 2026 11:08:01 +0000 (11:08 +0000)]
lib-settings: Extract settings-consts.h
Marco Bettini [Tue, 27 Jan 2026 12:30:52 +0000 (12:30 +0000)]
quota: quota_init() Fix for crash on invalid settings
settings_free(set) is already handled inside quota_deinit("a);
Timo Sirainen [Mon, 22 Dec 2025 12:36:46 +0000 (14:36 +0200)]
lib, lib-master: Replace event_[un]set_global_debug_send_filter() with event_global_debug_send_filter_register()
This allows registering multiple debug send filters.
Timo Sirainen [Mon, 22 Dec 2025 12:20:01 +0000 (14:20 +0200)]
lib: Remove unused event_get_global_debug_send_filter()
Aki Tuomi [Thu, 12 Feb 2026 10:48:36 +0000 (12:48 +0200)]
lib-imap-storage: Add unit tests
Aki Tuomi [Thu, 12 Feb 2026 10:51:48 +0000 (12:51 +0200)]
lib-imap-storage: Free msgpart always on parsing error
Fixes memory leak introduced in
66bc85d333c53c29ef17b92b7964b86fc5f6d186
Aki Tuomi [Thu, 12 Feb 2026 10:48:30 +0000 (12:48 +0200)]
lib-imap-storage: Free msgpart using imap_msgpart_free()
Timo Sirainen [Thu, 12 Feb 2026 21:10:08 +0000 (23:10 +0200)]
src: Makefile.am - Build lib-imap-storage after lib-storage
Timo Sirainen [Thu, 12 Feb 2026 15:30:27 +0000 (17:30 +0200)]
lib-storage: Split off shared library to lib-dovecot-storage
This removes lib-imap-storage dependency from lib-storage.
Timo Sirainen [Thu, 12 Feb 2026 21:08:11 +0000 (23:08 +0200)]
configure: Remove libimap-storage.la from LIBDOVECOT_STORAGE*
It's already included in libdovecot-storage.la
Timo Sirainen [Fri, 13 Feb 2026 05:49:32 +0000 (07:49 +0200)]
lib-dovecot: Split off libdovecot-gssapi.la linking to lib-dovecot-gssapi
Timo Sirainen [Thu, 12 Feb 2026 12:58:50 +0000 (14:58 +0200)]
lib-storage: Split off lib-storage-lua
Saman Ghannadzadeh [Fri, 28 Mar 2025 16:16:47 +0000 (16:16 +0000)]
doc: solr-config-9.xml - Make it compatible with Solr 9.8.0
Changes:
* remove `numVersionBuckets` which is obsolete and ignored
* remove `<lib ..>`, and instead leave a comment for user to enable modules
mauritium [Tue, 13 Jan 2026 23:48:42 +0000 (00:48 +0100)]
configure: Fix checking if BUILD_IMAP_HIBERNATE is set
mauritium [Tue, 13 Jan 2026 23:24:50 +0000 (00:24 +0100)]
lib-dovecot: Don't build libdovecot-gssapi.la when gssapi is disabled
This leads to linker errors on macOS.
mauritium [Tue, 13 Jan 2026 23:19:57 +0000 (00:19 +0100)]
lib: Silencing warnings for 'memcpy' macro redefined on macOS
Timo Sirainen [Thu, 12 Feb 2026 10:23:28 +0000 (12:23 +0200)]
lib-imap-urlauth: test-imap-urlauth - Remove pointless checks
These tests were just testing "return 0" stubs.
Karl Fleischmann [Mon, 9 Feb 2026 15:32:20 +0000 (16:32 +0100)]
config: default-settings-import - Auto-subscribe to mailbox defaults
Aki Tuomi [Sat, 17 Jan 2026 18:09:24 +0000 (20:09 +0200)]
auth: db-oauth2 - Fix crash when oauth2:<field> variable doesn't exist
Broken in
d0b4a58cb934731e4b64934895a319b16e0d66e8
Naveed.k [Sat, 10 Jan 2026 13:56:49 +0000 (19:26 +0530)]
lib-sasl: sasl-server-mech-otp - Use constant-time hash comparisons
Timo Sirainen [Mon, 9 Feb 2026 10:26:08 +0000 (12:26 +0200)]
lib-lua: Fix accesing freed memory if Lua script leaks passthrough event
Broken by
a487559b11294c1c519a64dd42a970456e1493a0
Timo Sirainen [Mon, 2 Feb 2026 21:40:19 +0000 (23:40 +0200)]
lib-auth-client: auth-master - Fix panic when reconnecting after handshake timeout
The connection wasn't fully disconnected after handshake timeout. Fix this
by moving connection_disconnect() to auth_master_connection_failure() so it
always gets called.
Fixes:
Panic: file connection.c: line 797 (connection_client_connect_with_retries): assertion failed: (conn->fd_in == -1)
Timo Sirainen [Wed, 4 Feb 2026 10:30:38 +0000 (12:30 +0200)]
lib-auth-client: auth-master - Remove redundant code
These are cleared by the following auth_master_connection_failure() call.
Timo Sirainen [Mon, 2 Feb 2026 22:39:31 +0000 (00:39 +0200)]
imap-hibernate: Fix potential crash after fd_send() failure
connection_input_parse_lines() accessed the already freed conn struct
after input_line() destroyed the connection.
Timo Sirainen [Tue, 3 Feb 2026 11:20:00 +0000 (13:20 +0200)]
lib: Add sentry byte for buffer_t when (fast) devel-checks are enabled
Timo Sirainen [Tue, 3 Feb 2026 16:31:48 +0000 (18:31 +0200)]
global: Enable some of the existing devel-checks with devel-checks=fast
Timo Sirainen [Tue, 3 Feb 2026 16:25:49 +0000 (18:25 +0200)]
configure: Add --enable-devel-checks=fast to enable DEBUG_FAST
Timo Sirainen [Tue, 3 Feb 2026 15:44:37 +0000 (17:44 +0200)]
lib-dict-backend: dict-ldap - Fix accessing parsed_attributes array
There was ever only one value, so it didn't cause problems yet.
Timo Sirainen [Tue, 3 Feb 2026 13:52:50 +0000 (15:52 +0200)]
acl: Fix array handling when removing ACL rights
The initial array size was large enough that practically this mistake
couldn't have caused wrong behavior.
Timo Sirainen [Tue, 3 Feb 2026 12:36:23 +0000 (14:36 +0200)]
doveadm: formatted formatter - Fix potential crash
Timo Sirainen [Tue, 3 Feb 2026 11:49:24 +0000 (13:49 +0200)]
lib-smtp: server - Explicitly NUL-terminate AUTH input line
This wasn't practically an issue, since there was always a NUL at the end,
but it's a bit abusing the API.
Timo Sirainen [Tue, 3 Feb 2026 11:37:36 +0000 (13:37 +0200)]
lib-oauth2: Fix potential crash or bad handling of JWT array values
If the JWT had an array larger than 8 (fields array's initial size),
the code may have crashed or dropped some of the values in the array.
Timo Sirainen [Tue, 3 Feb 2026 12:26:56 +0000 (14:26 +0200)]
lib: Use buffer_nul_terminate() for string_t NUL-termination
Timo Sirainen [Tue, 3 Feb 2026 12:25:37 +0000 (14:25 +0200)]
lib: Add buffer_nul_terminate()
Eero Häkkinen [Thu, 22 Jan 2026 12:24:20 +0000 (14:24 +0200)]
lib-ldap: Create a new TLS context for all LDAP TLS connections
It's required for Bookworm and others to either
- set the global TLS options (by passing a NULL LDAP handle for ldap_set_option)
and not to create a connection specific TLS context (by setting the
LDAP_OPT_X_TLS_NEWCTX option)
-or-
- set the connection specific TLS options (by passing a non-NULL LDAP handle for
ldap_set_option like on RHEL9) and to create a connection specific TLS context
(by setting the LDAP_OPT_X_TLS_NEWCTX option).
It's better to set set the connection specific TLS options and to create a
connection specific TLS context.
Additionally, do not set the global peer certificate checking strategy
(the global LDAP_OPT_X_TLS_REQUIRE_CERT option). It is not needed and
has no effect after a new TLS context is created.
Eero Häkkinen [Thu, 22 Jan 2026 12:01:42 +0000 (14:01 +0200)]
lib-ldap: Do not override the tls_protocol_min setting with a lower one
Eero Häkkinen [Thu, 22 Jan 2026 11:50:45 +0000 (13:50 +0200)]
lib-ldap: Convert ssl_min_protocol properly to int
Marco Bettini [Fri, 6 Feb 2026 09:01:44 +0000 (09:01 +0000)]
lib-ldap: ldap_set_tls_options() - Fix #endif scope
Marco Bettini [Thu, 5 Feb 2026 13:38:35 +0000 (13:38 +0000)]
lib-iostream: Disallow empty ssl_min_protocol
Stephan Bosch [Tue, 27 Jan 2026 02:54:21 +0000 (03:54 +0100)]
lib-mail: Add I/O test for istream-dot/ostream-dot
Aki Tuomi [Mon, 26 Jan 2026 12:55:08 +0000 (14:55 +0200)]
lib-mail: ostream-dot - Optimize stream writing
Use i_memcspn() to figure out how much we can skip.
Aki Tuomi [Mon, 26 Jan 2026 13:30:13 +0000 (15:30 +0200)]
lib-mail: ostream-dot - Use unsigned char
Stephan Bosch [Tue, 27 Jan 2026 02:51:49 +0000 (03:51 +0100)]
lib-mail: Reformat ostream-dot.c
Aki Tuomi [Mon, 26 Jan 2026 12:54:51 +0000 (14:54 +0200)]
lib-mail: test-ostream-dot - Use test_assert_memcmp()
Aki Tuomi [Mon, 26 Jan 2026 12:39:59 +0000 (14:39 +0200)]
lib-mail: ostream-dot - Add missing default case
Aki Tuomi [Mon, 26 Jan 2026 11:51:53 +0000 (13:51 +0200)]
lib-mail: istream-dot - Optimize reading
Use i_memcspn() to figure out how much data we can consume.
Aki Tuomi [Tue, 16 Dec 2025 19:31:51 +0000 (21:31 +0200)]
lib-program-client: test-program-client - Use test_assert_strcmp()
Aki Tuomi [Mon, 26 Jan 2026 11:06:17 +0000 (13:06 +0200)]
lib-mail: Add test case for dot i/ostream to test dot before newline
Aki Tuomi [Mon, 26 Jan 2026 10:30:55 +0000 (12:30 +0200)]
lib-mail: test-istream-dot - Use test_assert_memcmp
Aki Tuomi [Tue, 16 Dec 2025 15:12:13 +0000 (17:12 +0200)]
lib-mail: ostream-dot.c - Use container_of macro
Aki Tuomi [Tue, 16 Dec 2025 12:31:40 +0000 (14:31 +0200)]
lib-mail: istream-dot.c - Use container_of macro
Aki Tuomi [Tue, 27 Jan 2026 17:02:30 +0000 (19:02 +0200)]
lib-test: Require both lengths in test_assert_memcmp()
Aki Tuomi [Tue, 16 Dec 2025 19:26:23 +0000 (21:26 +0200)]
lib-test: test-common - Fix missing newline in test_assert_failed_memcmp_idx()
Fred Morcos [Wed, 4 Feb 2026 11:00:27 +0000 (12:00 +0100)]
stats: Fix panic due to miscalculation of group-by buckets for non-multiple steps
Also add a linear group-by test with a non-multiple step.
Fixes: Panic: failed to find a matching bucket ...
Fred Morcos [Wed, 4 Feb 2026 11:01:07 +0000 (12:01 +0100)]
stats: Small cleanup to clarify group-by bucket creation
Fred Morcos [Wed, 4 Feb 2026 10:59:24 +0000 (11:59 +0100)]
stats: Add linear group-by test with an exact multiple step
Timo Sirainen [Fri, 30 Jan 2026 18:53:50 +0000 (20:53 +0200)]
*-login: Reload settings after ID/XCLIENT has changed addresses
Timo Sirainen [Wed, 4 Feb 2026 10:46:20 +0000 (12:46 +0200)]
lmtp: Support XCLIENT DESTADDR and DESTPORT
Timo Sirainen [Mon, 2 Feb 2026 11:43:03 +0000 (13:43 +0200)]
submission-login: proxy - Don't try to reconnect and retry XCLIENT command failures
Timo Sirainen [Mon, 2 Feb 2026 11:25:10 +0000 (13:25 +0200)]
submission-login: proxy - Add support for XCLIENT DESTIP and DESTPORT
Timo Sirainen [Mon, 2 Feb 2026 11:22:37 +0000 (13:22 +0200)]
lib-smtp: Add support for XCLIENT DESTIP and DESTPORT
Timo Sirainen [Mon, 2 Feb 2026 11:20:54 +0000 (13:20 +0200)]
lib-smtp, global: smtp_server_connection_create*() - Add local_ip and local_port parameters
Timo Sirainen [Mon, 2 Feb 2026 11:15:28 +0000 (13:15 +0200)]
lib: Add struct connection.local_port
Timo Sirainen [Mon, 2 Feb 2026 11:05:09 +0000 (13:05 +0200)]
pop3-login: proxy - Don't try to reconnect and retry XCLIENT command failures
Timo Sirainen [Mon, 2 Feb 2026 11:01:16 +0000 (13:01 +0200)]
pop3-login: proxy - Add support for XCLIENT DESTIP and DESTPORT
This is for preserving the server/local IP and port.
Timo Sirainen [Mon, 2 Feb 2026 10:07:55 +0000 (12:07 +0200)]
imap-login: Replace imap_id_param_handler.key_is_prefix with enum flags
Timo Sirainen [Wed, 4 Feb 2026 09:40:40 +0000 (11:40 +0200)]
imap: Change imap_id_received event to match pre-login event's behavior
Add external=yes field if client sent any ID command parameters.
Send the imap_id_received event even if ID command had no parameters.
Timo Sirainen [Mon, 2 Feb 2026 09:51:03 +0000 (11:51 +0200)]
imap-login: Add internal, external and trusted fields to imap_id_received event
Timo Sirainen [Mon, 2 Feb 2026 10:01:50 +0000 (12:01 +0200)]
imap-login: Send imap_id_received event even when ID command had no parameters
It could still be useful to know.
Timo Sirainen [Mon, 2 Feb 2026 09:58:14 +0000 (11:58 +0200)]
imap-login: Simplify ID command's log_reply handling
It's practically always created, so just do it at initialization.
Timo Sirainen [Mon, 2 Feb 2026 09:44:58 +0000 (11:44 +0200)]
imap-login: Add comments to internal ID command parameter handling
Timo Sirainen [Sat, 31 Jan 2026 15:55:30 +0000 (17:55 +0200)]
imap-login: imap-proxy - Handle ID command failures
If it fails with SERVERBUG, abort the login. This is used now by Dovecot
to indicate that the settings reload failed, and the client will be
disconnected next anyway. By aborting earlier, we can log the failure
better.
If the ID command fails in other ways, log it as a debug message.
Timo Sirainen [Sat, 31 Jan 2026 14:12:05 +0000 (16:12 +0200)]
imap-login: imap-proxy - Parse server responses case insensitively
IMAP protocol is not case sensitive. Luckily this seems to have worked
with current IMAP servers.
Timo Sirainen [Tue, 3 Feb 2026 11:04:20 +0000 (13:04 +0200)]
lib: test-unicode-nf - Fix accessing string out of bounds
Wrong string length was being used in tests.
Timo Sirainen [Thu, 5 Feb 2026 09:52:34 +0000 (11:52 +0200)]
lib-imap-urlauth: Add test-imap-urlauth
Timo Sirainen [Tue, 3 Feb 2026 10:07:53 +0000 (12:07 +0200)]
imap-urlauth: Make sure access_apps array is NULL-terminated
Practically it hasbeen for now, because the array's initial size was larger
than the max number of applications the client would have sent.
Timo Sirainen [Tue, 3 Feb 2026 10:02:26 +0000 (12:02 +0200)]
lib-imap-urlauth: Fix checking access application string
The string was matched as a prefix instead of a full string. Practically
this made no difference, since there are only a few standard applications
and they share no common prefixes.
Timo Sirainen [Sat, 31 Jan 2026 15:53:22 +0000 (17:53 +0200)]
imap-login: Don't try to reconnect when remote LOGIN/AUTHENTICATE fails with SERVERBUG imap-resp-code
It got set wrong by
8f371bb423f55f0150348e111172b8b0a7d510dc .
Timo Sirainen [Fri, 30 Jan 2026 18:24:23 +0000 (20:24 +0200)]
lib-lua: Automatically abort leaked passthrough events
Log an error about the leak.
Timo Sirainen [Fri, 30 Jan 2026 18:22:10 +0000 (20:22 +0200)]
lib: If passthrough event is leaked, include in the panic message where it was created at
Stephan Bosch [Thu, 4 Dec 2025 23:42:47 +0000 (00:42 +0100)]
lib: randgen - Don't warn about kiss random source when fuzzing
Stephan Bosch [Thu, 4 Dec 2025 22:13:50 +0000 (23:13 +0100)]
m4: dovecot.m4 - Enable addresss sanitizer for fuzzer
Stephan Bosch [Thu, 27 Nov 2025 16:49:16 +0000 (17:49 +0100)]
lib-test: fuzzer - Fully deinitialize lib for each cycle
This will allow running address sanitizer as part of the fuzz.
Stephan Bosch [Thu, 27 Nov 2025 02:08:46 +0000 (03:08 +0100)]
lib-master: Allow lib_init()/lib_deinit() to be called externally
This is needed for using the master service API inside a fuzzer.
Stephan Bosch [Fri, 5 Dec 2025 21:19:20 +0000 (22:19 +0100)]
lib: lib - Support re-initialization
Stephan Bosch [Thu, 4 Dec 2025 22:21:15 +0000 (23:21 +0100)]
lib: lib-event - Support re-initialization
Make sure global state is reset properly through deinit->init cycle.
This is needed for fuzzing with address sanitizer.
Stephan Bosch [Thu, 4 Dec 2025 22:20:14 +0000 (23:20 +0100)]
lib: process-title - Support re-initialization
Make sure global state is reset properly through deinit->init cycle.
This is needed for fuzzing with address sanitizer.
Stephan Bosch [Thu, 4 Dec 2025 22:17:26 +0000 (23:17 +0100)]
lib: data-stack - Support re-initialization
Make sure global state is reset properly through deinit->init cycle.
This is needed for fuzzing with address sanitizer.
Timo Sirainen [Mon, 2 Feb 2026 08:42:49 +0000 (10:42 +0200)]
lib-storage: mailbox_verify_existing_name() - Minor NFC normalization error handling fix
Mainly this fixes dead code complaint from static analyzer, because
practically the error handling ended up being identical anyway.
Broken by
d346ca98293747c804276ba7f86245def47a8308
Aki Tuomi [Fri, 30 Jan 2026 07:27:45 +0000 (09:27 +0200)]
lib-sql/driver-sqlite: Ensure tail is handled correctly in driver_sqlite_statement_init()
This is not likely to happen, but satisfies static analysis.