]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
Michael M Slusarz [Sun, 1 Feb 2026 05:06:11 +0000 (22:06 -0700)]
COPYING: Update unicode license
The license has changed, and so is the location we store it.
Marco Bettini [Tue, 13 Jan 2026 16:49:53 +0000 (16:49 +0000)]
lib-storage: revert maildir/mail_attachment_detection_options to "" for CE
as it breaks on maildir new/ because message flags can exist only in cur/
Marco Bettini [Thu, 22 Jan 2026 12:32:42 +0000 (12:32 +0000)]
.gitignore: Add /build-aux/test-driver
Aki Tuomi [Fri, 14 Nov 2025 11:42:32 +0000 (13:42 +0200)]
lib-sql: driver-sqlite - Add sqlite_synchronous setting
Values are explained in https://sqlite.org/pragma.html#pragma_synchronous.
Default is 'FULL'.
Aki Tuomi [Fri, 10 Oct 2025 07:51:46 +0000 (10:51 +0300)]
lib-sql: driver-sqlite - Implement statement API
Aki Tuomi [Fri, 7 Nov 2025 07:21:01 +0000 (09:21 +0200)]
lib-sql: driver-sqlite - Use sqlite3_snprintf() to quote values
This does it the sqlite3 way.
Aki Tuomi [Mon, 20 Oct 2025 13:06:10 +0000 (16:06 +0300)]
lib-sql: sql-api - Make sql_prepared_statement_unref(NULL) no-op
Aki Tuomi [Fri, 10 Oct 2025 08:00:58 +0000 (11:00 +0300)]
lib-sql: driver-sqlite - Extract result preparation to driver_sqlite_statement_result_prepare()
Aki Tuomi [Fri, 10 Oct 2025 07:57:53 +0000 (10:57 +0300)]
lib-sql: driver-sqlite - Reorder driver_sqlite_query_s()
Aki Tuomi [Fri, 10 Oct 2025 07:27:57 +0000 (10:27 +0300)]
lib-sql: driver-sqlite - Use sql_statement for driver_sqlite_query_s()
Aki Tuomi [Wed, 26 Nov 2025 11:09:46 +0000 (13:09 +0200)]
lib-sql: driver-sqlite - Use ctx->error in driver_sqlite_transaction_commit_s()
Logging error_r too soon will just crash.
Aki Tuomi [Tue, 25 Nov 2025 13:24:43 +0000 (15:24 +0200)]
lib-sql: driver-sqlite - Log system errno as well
Aki Tuomi [Tue, 25 Nov 2025 13:21:48 +0000 (15:21 +0200)]
lib-sql: driver-sqlite - Clarify that readonly error is caused by sqlite_readonly=yes
Stephan Bosch [Thu, 29 Jan 2026 04:14:23 +0000 (05:14 +0100)]
lib-storage: list: mailbox-list-iter - Fix info pool memory leak upon iterator initialization failure
Only initialize the info pool when initialization of the iterator is otherwise
successful and almost complete.
Aki Tuomi [Wed, 21 Jan 2026 11:34:02 +0000 (13:34 +0200)]
global: Include sys/mkdev.h when needed
This is needed on Solaris to get makedev()
Aki Tuomi [Mon, 26 Jan 2026 07:47:16 +0000 (09:47 +0200)]
lib-regex: Do not use data stack for replacement string
It will get lost when the data stack frame is dropped at the end,
so use heap memory instead.
Stephan Bosch [Fri, 4 Jul 2025 00:09:31 +0000 (02:09 +0200)]
imap: Use normalized UTF8 mailbox names when UTF8=ACCEPT is enabled
Stephan Bosch [Tue, 26 Aug 2025 22:38:34 +0000 (00:38 +0200)]
lib-storage: list: mailbox-list-iter - Add list local variable to mailbox_list_iter_next_call()
Stephan Bosch [Tue, 26 Aug 2025 04:26:09 +0000 (06:26 +0200)]
lib-storage: mail-storage - Add storage local variable to mailbox_open_full()
Stephan Bosch [Sun, 31 Aug 2025 00:12:52 +0000 (02:12 +0200)]
imap: Produce UTF8 quoted strings when UTF8=ACCEPT is enabled and where possible
Stephan Bosch [Wed, 27 Aug 2025 00:49:21 +0000 (02:49 +0200)]
imap: cmd-namespace - Limit scope of ns_sep variable in list_namespaces()