]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
3 months agolib-storage: Split off lib-storage-lua
Timo Sirainen [Thu, 12 Feb 2026 12:58:50 +0000 (14:58 +0200)] 
lib-storage: Split off lib-storage-lua

3 months agodoc: solr-config-9.xml - Make it compatible with Solr 9.8.0
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

3 months agoconfigure: Fix checking if BUILD_IMAP_HIBERNATE is set
mauritium [Tue, 13 Jan 2026 23:48:42 +0000 (00:48 +0100)] 
configure: Fix checking if BUILD_IMAP_HIBERNATE is set

3 months agolib-dovecot: Don't build libdovecot-gssapi.la when gssapi is disabled
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.

3 months agolib: Silencing warnings for 'memcpy' macro redefined on macOS
mauritium [Tue, 13 Jan 2026 23:19:57 +0000 (00:19 +0100)] 
lib: Silencing warnings for 'memcpy' macro redefined on macOS

3 months agolib-imap-urlauth: test-imap-urlauth - Remove pointless checks
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.

3 months agoconfig: default-settings-import - Auto-subscribe to mailbox defaults
Karl Fleischmann [Mon, 9 Feb 2026 15:32:20 +0000 (16:32 +0100)] 
config: default-settings-import - Auto-subscribe to mailbox defaults

3 months agoauth: db-oauth2 - Fix crash when oauth2:<field> variable doesn't exist
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

3 months agolib-sasl: sasl-server-mech-otp - Use constant-time hash comparisons
Naveed.k [Sat, 10 Jan 2026 13:56:49 +0000 (19:26 +0530)] 
lib-sasl: sasl-server-mech-otp - Use constant-time hash comparisons

3 months agolib-lua: Fix accesing freed memory if Lua script leaks passthrough event
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

3 months agolib-auth-client: auth-master - Fix panic when reconnecting after handshake timeout
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)

3 months agolib-auth-client: auth-master - Remove redundant code
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.

3 months agoimap-hibernate: Fix potential crash after fd_send() failure
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.

3 months agolib: Add sentry byte for buffer_t when (fast) devel-checks are enabled
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

3 months agoglobal: Enable some of the existing devel-checks with devel-checks=fast
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

3 months agoconfigure: Add --enable-devel-checks=fast to enable DEBUG_FAST
Timo Sirainen [Tue, 3 Feb 2026 16:25:49 +0000 (18:25 +0200)] 
configure: Add --enable-devel-checks=fast to enable DEBUG_FAST

3 months agolib-dict-backend: dict-ldap - Fix accessing parsed_attributes array
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.

3 months agoacl: Fix array handling when removing ACL rights
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.

3 months agodoveadm: formatted formatter - Fix potential crash
Timo Sirainen [Tue, 3 Feb 2026 12:36:23 +0000 (14:36 +0200)] 
doveadm: formatted formatter - Fix potential crash

3 months agolib-smtp: server - Explicitly NUL-terminate AUTH input line
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.

3 months agolib-oauth2: Fix potential crash or bad handling of JWT array values
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.

3 months agolib: Use buffer_nul_terminate() for string_t NUL-termination
Timo Sirainen [Tue, 3 Feb 2026 12:26:56 +0000 (14:26 +0200)] 
lib: Use buffer_nul_terminate() for string_t NUL-termination

3 months agolib: Add buffer_nul_terminate()
Timo Sirainen [Tue, 3 Feb 2026 12:25:37 +0000 (14:25 +0200)] 
lib: Add buffer_nul_terminate()

3 months agolib-ldap: Create a new TLS context for all LDAP TLS connections
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.

3 months agolib-ldap: Do not override the tls_protocol_min setting with a lower one
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

3 months agolib-ldap: Convert ssl_min_protocol properly to int
Eero Häkkinen [Thu, 22 Jan 2026 11:50:45 +0000 (13:50 +0200)] 
lib-ldap: Convert ssl_min_protocol properly to int

3 months agolib-ldap: ldap_set_tls_options() - Fix #endif scope
Marco Bettini [Fri, 6 Feb 2026 09:01:44 +0000 (09:01 +0000)] 
lib-ldap: ldap_set_tls_options() - Fix #endif scope

3 months agolib-iostream: Disallow empty ssl_min_protocol
Marco Bettini [Thu, 5 Feb 2026 13:38:35 +0000 (13:38 +0000)] 
lib-iostream: Disallow empty ssl_min_protocol

3 months agolib-mail: Add I/O test for istream-dot/ostream-dot
Stephan Bosch [Tue, 27 Jan 2026 02:54:21 +0000 (03:54 +0100)] 
lib-mail: Add I/O test for istream-dot/ostream-dot

3 months agolib-mail: ostream-dot - Optimize stream writing
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.

3 months agolib-mail: ostream-dot - Use unsigned char
Aki Tuomi [Mon, 26 Jan 2026 13:30:13 +0000 (15:30 +0200)] 
lib-mail: ostream-dot - Use unsigned char

3 months agolib-mail: Reformat ostream-dot.c
Stephan Bosch [Tue, 27 Jan 2026 02:51:49 +0000 (03:51 +0100)] 
lib-mail: Reformat ostream-dot.c

3 months agolib-mail: test-ostream-dot - Use test_assert_memcmp()
Aki Tuomi [Mon, 26 Jan 2026 12:54:51 +0000 (14:54 +0200)] 
lib-mail: test-ostream-dot - Use test_assert_memcmp()

3 months agolib-mail: ostream-dot - Add missing default case
Aki Tuomi [Mon, 26 Jan 2026 12:39:59 +0000 (14:39 +0200)] 
lib-mail: ostream-dot - Add missing default case

3 months agolib-mail: istream-dot - Optimize reading
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.

3 months agolib-program-client: test-program-client - Use test_assert_strcmp()
Aki Tuomi [Tue, 16 Dec 2025 19:31:51 +0000 (21:31 +0200)] 
lib-program-client: test-program-client - Use test_assert_strcmp()

3 months agolib-mail: Add test case for dot i/ostream to test dot before newline
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

3 months agolib-mail: test-istream-dot - Use test_assert_memcmp
Aki Tuomi [Mon, 26 Jan 2026 10:30:55 +0000 (12:30 +0200)] 
lib-mail: test-istream-dot - Use test_assert_memcmp

3 months agolib-mail: ostream-dot.c - Use container_of macro
Aki Tuomi [Tue, 16 Dec 2025 15:12:13 +0000 (17:12 +0200)] 
lib-mail: ostream-dot.c - Use container_of macro

3 months agolib-mail: istream-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

3 months agolib-test: Require both lengths in test_assert_memcmp()
Aki Tuomi [Tue, 27 Jan 2026 17:02:30 +0000 (19:02 +0200)] 
lib-test: Require both lengths in test_assert_memcmp()

3 months agolib-test: test-common - Fix missing newline in test_assert_failed_memcmp_idx()
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()

3 months agostats: Fix panic due to miscalculation of group-by buckets for non-multiple steps
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 ...
3 months agostats: Small cleanup to clarify group-by bucket creation
Fred Morcos [Wed, 4 Feb 2026 11:01:07 +0000 (12:01 +0100)] 
stats: Small cleanup to clarify group-by bucket creation

3 months agostats: Add linear group-by test with an exact multiple step
Fred Morcos [Wed, 4 Feb 2026 10:59:24 +0000 (11:59 +0100)] 
stats: Add linear group-by test with an exact multiple step

3 months ago*-login: Reload settings after ID/XCLIENT has changed addresses
Timo Sirainen [Fri, 30 Jan 2026 18:53:50 +0000 (20:53 +0200)] 
*-login: Reload settings after ID/XCLIENT has changed addresses

3 months agolmtp: Support XCLIENT DESTADDR and DESTPORT
Timo Sirainen [Wed, 4 Feb 2026 10:46:20 +0000 (12:46 +0200)] 
lmtp: Support XCLIENT DESTADDR and DESTPORT

3 months agosubmission-login: proxy - Don't try to reconnect and retry XCLIENT command failures
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

3 months agosubmission-login: proxy - Add support for XCLIENT DESTIP and DESTPORT
Timo Sirainen [Mon, 2 Feb 2026 11:25:10 +0000 (13:25 +0200)] 
submission-login: proxy - Add support for XCLIENT DESTIP and DESTPORT

3 months agolib-smtp: 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

3 months agolib-smtp, global: smtp_server_connection_create*() - Add local_ip and local_port...
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

3 months agolib: Add struct connection.local_port
Timo Sirainen [Mon, 2 Feb 2026 11:15:28 +0000 (13:15 +0200)] 
lib: Add struct connection.local_port

3 months agopop3-login: proxy - Don't try to reconnect and retry XCLIENT command failures
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

3 months agopop3-login: proxy - Add support for XCLIENT DESTIP and DESTPORT
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.

3 months agoimap-login: Replace imap_id_param_handler.key_is_prefix with enum flags
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

3 months agoimap: Change imap_id_received event to match pre-login event's behavior
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.

3 months agoimap-login: Add internal, external and trusted fields to imap_id_received event
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

3 months agoimap-login: Send imap_id_received event even when ID command had no parameters
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.

3 months agoimap-login: Simplify ID command's log_reply handling
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.

3 months agoimap-login: Add comments to internal ID command parameter handling
Timo Sirainen [Mon, 2 Feb 2026 09:44:58 +0000 (11:44 +0200)] 
imap-login: Add comments to internal ID command parameter handling

3 months agoimap-login: imap-proxy - Handle ID command failures
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.

3 months agoimap-login: imap-proxy - Parse server responses case insensitively
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.

3 months agolib: test-unicode-nf - Fix accessing string out of bounds
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.

3 months agolib-imap-urlauth: Add test-imap-urlauth
Timo Sirainen [Thu, 5 Feb 2026 09:52:34 +0000 (11:52 +0200)] 
lib-imap-urlauth: Add test-imap-urlauth

3 months agoimap-urlauth: Make sure access_apps array is NULL-terminated
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.

3 months agolib-imap-urlauth: Fix checking access application string
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.

3 months agoimap-login: Don't try to reconnect when remote LOGIN/AUTHENTICATE fails with SERVERBU...
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.

3 months agolib-lua: Automatically abort leaked passthrough events
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.

3 months agolib: If passthrough event is leaked, include in the panic message where it was created at
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

3 months agolib: randgen - Don't warn about kiss random source when fuzzing
Stephan Bosch [Thu, 4 Dec 2025 23:42:47 +0000 (00:42 +0100)] 
lib: randgen - Don't warn about kiss random source when fuzzing

3 months agom4: dovecot.m4 - Enable addresss sanitizer for fuzzer
Stephan Bosch [Thu, 4 Dec 2025 22:13:50 +0000 (23:13 +0100)] 
m4: dovecot.m4 - Enable addresss sanitizer for fuzzer

3 months agolib-test: fuzzer - Fully deinitialize lib for each cycle
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.

3 months agolib-master: Allow lib_init()/lib_deinit() to be called externally
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.

3 months agolib: lib - Support re-initialization
Stephan Bosch [Fri, 5 Dec 2025 21:19:20 +0000 (22:19 +0100)] 
lib: lib - Support re-initialization

3 months agolib: lib-event - 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.

3 months agolib: process-title - Support re-initialization
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.

3 months agolib: data-stack - Support re-initialization
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.

3 months agolib-storage: mailbox_verify_existing_name() - Minor NFC normalization error handling fix
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

3 months agolib-sql/driver-sqlite: Ensure tail is handled correctly in driver_sqlite_statement_init()
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.

3 months agoCOPYING: Update unicode license
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.

3 months agolib-storage: revert maildir/mail_attachment_detection_options to "" for CE
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/

3 months ago.gitignore: Add /build-aux/test-driver
Marco Bettini [Thu, 22 Jan 2026 12:32:42 +0000 (12:32 +0000)] 
.gitignore: Add /build-aux/test-driver

3 months agolib-sql: driver-sqlite - Add sqlite_synchronous setting
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'.

3 months agolib-sql: driver-sqlite - Implement statement API
Aki Tuomi [Fri, 10 Oct 2025 07:51:46 +0000 (10:51 +0300)] 
lib-sql: driver-sqlite - Implement statement API

3 months agolib-sql: driver-sqlite - Use sqlite3_snprintf() to quote values
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.

3 months agolib-sql: sql-api - Make sql_prepared_statement_unref(NULL) no-op
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

3 months agolib-sql: driver-sqlite - Extract result preparation to driver_sqlite_statement_result...
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()

3 months agolib-sql: driver-sqlite - Reorder driver_sqlite_query_s()
Aki Tuomi [Fri, 10 Oct 2025 07:57:53 +0000 (10:57 +0300)] 
lib-sql: driver-sqlite - Reorder driver_sqlite_query_s()

3 months agolib-sql: driver-sqlite - Use sql_statement for 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()

3 months agolib-sql: driver-sqlite - Use ctx->error in driver_sqlite_transaction_commit_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.

3 months agolib-sql: driver-sqlite - Log system errno as well
Aki Tuomi [Tue, 25 Nov 2025 13:24:43 +0000 (15:24 +0200)] 
lib-sql: driver-sqlite - Log system errno as well

3 months agolib-sql: driver-sqlite - Clarify that readonly error is caused by sqlite_readonly=yes
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

3 months agolib-storage: list: mailbox-list-iter - Fix info pool memory leak upon iterator initia...
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.

3 months agoglobal: Include sys/mkdev.h when needed
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()

3 months agolib-regex: Do not use data stack for replacement string
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.

3 months agoimap: Use normalized UTF8 mailbox names when UTF8=ACCEPT is enabled
Stephan Bosch [Fri, 4 Jul 2025 00:09:31 +0000 (02:09 +0200)] 
imap: Use normalized UTF8 mailbox names when UTF8=ACCEPT is enabled

3 months agolib-storage: list: mailbox-list-iter - Add list local variable to mailbox_list_iter_n...
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()

3 months agolib-storage: mail-storage - Add storage local variable to mailbox_open_full()
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()

3 months agoimap: Produce UTF8 quoted strings when UTF8=ACCEPT is enabled and where possible
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

3 months agoimap: cmd-namespace - Limit scope of ns_sep variable in list_namespaces()
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()