]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
2 days agolib: test-file-cache - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:04:16 +0000 (22:04 +0100)] 
lib: test-file-cache - Use the new test-dir API

2 days agolib: test-cpu-limit - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:03:18 +0000 (22:03 +0100)] 
lib: test-cpu-limit - Use the new test-dir API

2 days agolib: test-buffer-istream - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:02:55 +0000 (22:02 +0100)] 
lib: test-buffer-istream - Use the new test-dir API

2 days agolib-test: Add support for temporary test directories
Stephan Bosch [Sun, 26 Oct 2025 04:42:06 +0000 (05:42 +0100)] 
lib-test: Add support for temporary test directories

2 days agolib-test: test-common - Add test generic event
Stephan Bosch [Mon, 27 Oct 2025 20:30:51 +0000 (21:30 +0100)] 
lib-test: test-common - Add test generic event

Use it to replace events created for some individual tests. Also replace the
event created by test-submission.

2 days agolib-test: test-subprocess - Move most signal and cleanup code to test-common for...
Stephan Bosch [Mon, 27 Oct 2025 20:48:35 +0000 (21:48 +0100)] 
lib-test: test-subprocess - Move most signal and cleanup code to test-common for re-use

2 days agolib: safe-mkstemp - Add safe_mkstemp_dir*()
Stephan Bosch [Fri, 31 Oct 2025 13:44:10 +0000 (14:44 +0100)] 
lib: safe-mkstemp - Add safe_mkstemp_dir*()

2 days agolib: safe-mkstemp - Split off safe_mkstemp_create()
Stephan Bosch [Fri, 31 Oct 2025 13:30:46 +0000 (14:30 +0100)] 
lib: safe-mkstemp - Split off safe_mkstemp_create()

2 days agoimap: test-imap-client-hibernate - Rename test_init() to test_tmp_dir_init()
Stephan Bosch [Sun, 26 Oct 2025 04:56:43 +0000 (05:56 +0100)] 
imap: test-imap-client-hibernate - Rename test_init() to test_tmp_dir_init()

2 days agolib: test-path-util - Rename test_init() to test_path_util_init()
Stephan Bosch [Sun, 26 Oct 2025 04:55:28 +0000 (05:55 +0100)] 
lib: test-path-util - Rename test_init() to test_path_util_init()

2 days agostats: test-stats-common - Rename test_init() to test_stats_init()
Stephan Bosch [Sun, 26 Oct 2025 04:48:11 +0000 (05:48 +0100)] 
stats: test-stats-common - Rename test_init() to test_stats_init()

2 days agolib-test: Fix whitespace issues in test-subprocess.c
Stephan Bosch [Mon, 27 Oct 2025 20:44:40 +0000 (21:44 +0100)] 
lib-test: Fix whitespace issues in test-subprocess.c

3 days agolib-sasl: fuzz-sasl-authentication - Limit the length of the passwords
Stephan Bosch [Mon, 3 Nov 2025 17:12:17 +0000 (18:12 +0100)] 
lib-sasl: fuzz-sasl-authentication - Limit the length of the passwords

For hashed algorithms, the password length could rise limitless, causing
fuzzer timeouts.

OSS-Fuzz report: 457240545

6 days agoutil: health-check.sh - Use a cleaner way to kill sleep
Timo Sirainen [Fri, 31 Oct 2025 12:44:18 +0000 (14:44 +0200)] 
util: health-check.sh - Use a cleaner way to kill sleep

With the 6ee85b80857d241622a349aac47d51b70b27cc46 approach it introduced
errors like:

Error: ... Terminated { sleep $timeout; kill -3 $$ 2> /dev/null; }

7 days agoconfig: Support config version 2.4.2
Timo Sirainen [Fri, 31 Oct 2025 10:42:05 +0000 (12:42 +0200)] 
config: Support config version 2.4.2

7 days agolib-sasl: sasl-server-mech-otp - Fix parsing of authid from initial client response
Stephan Bosch [Thu, 30 Oct 2025 23:19:45 +0000 (00:19 +0100)] 
lib-sasl: sasl-server-mech-otp - Fix parsing of authid from initial client response

Before, it assumed this part to be nul-terminated, while it is not. Therefore,
it could read out-of-bounds memory, possibly crashing, which is wat became
apparent in the fuzzer.

The actual auth service code implicitly always provides a NUL termination
though, because the client response data comes via t_buffer_create() content
which always reserves +1 byte for NUL. Therefore, the auth service would not
have encountered this issue.

OSS-Fuzz report: 456423266

7 days agolib-sasl: server - Enforce absolute limit on the length of authid/authzid
Stephan Bosch [Tue, 28 Oct 2025 13:47:05 +0000 (14:47 +0100)] 
lib-sasl: server - Enforce absolute limit on the length of authid/authzid

OSS-Fuzz report: 455796070

7 days agolib-sasl: Enforce absolute limit on SASL message size for both client and server
Stephan Bosch [Tue, 28 Oct 2025 13:35:06 +0000 (14:35 +0100)] 
lib-sasl: Enforce absolute limit on SASL message size for both client and server

This is a second layer of defence against abuse. The real limit enforced by the
auth service can be (is) smaller. Additionally, these limits will make sure the
fuzzer does not time out.

OSS-Fuzz report: 455796070

7 days agolib-regex: Remove LIBPCRE_LIBS from test dependencies
Aki Tuomi [Fri, 31 Oct 2025 10:53:33 +0000 (12:53 +0200)] 
lib-regex: Remove LIBPCRE_LIBS from test dependencies

Was accidentically added in 49ae6e798310e5c4b96709db435a3714ea6468a8

7 days agolib: crc32 - Use zlib's built-in CRC32 function
Michael M Slusarz [Sat, 4 Oct 2025 20:24:54 +0000 (14:24 -0600)] 
lib: crc32 - Use zlib's built-in CRC32 function

Performance-wise, according to fastmail's crc32 test suite, this is 10x
faster than the previous code.

7 days agodovecot-sysreport: Add -D|--destdir support
Aki Tuomi [Mon, 27 Oct 2025 10:33:27 +0000 (12:33 +0200)] 
dovecot-sysreport: Add -D|--destdir support

This allows pointing a directory where to write files

7 days agolib-master: Split off master_service_can_idle_die()
Timo Sirainen [Wed, 29 Oct 2025 21:14:08 +0000 (23:14 +0200)] 
lib-master: Split off master_service_can_idle_die()

7 days agolib-master: If SIGINT idle-kill is ignored due to handling a new client, make sure...
Timo Sirainen [Wed, 29 Oct 2025 17:44:15 +0000 (19:44 +0200)] 
lib-master: If SIGINT idle-kill is ignored due to handling a new client, make sure master status is notified

Master should have been notified usually, but it could have been an
unimportant notification that was ignored due to write() returning EAGAIN.

7 days agolib-master: If SIGINT idle-kill is ignored, make sure master sees the status update
Timo Sirainen [Wed, 29 Oct 2025 17:42:50 +0000 (19:42 +0200)] 
lib-master: If SIGINT idle-kill is ignored, make sure master sees the status update

If initial write() to master status pipe fails with EAGAIN, try to send it
when possible.

7 days agolib: Clarify io_loop_stop_delayed() comment
Timo Sirainen [Thu, 30 Oct 2025 11:29:51 +0000 (13:29 +0200)] 
lib: Clarify io_loop_stop_delayed() comment

7 days agoglobal: Remove default service/*/service_extra_groups=$SET:default_internal_group
Timo Sirainen [Fri, 24 Oct 2025 12:46:35 +0000 (15:46 +0300)] 
global: Remove default service/*/service_extra_groups=$SET:default_internal_group

This is no longer necessary now that mail_access_groups sets it.

7 days agoconfig: Support versioned defaults for service settings
Timo Sirainen [Fri, 24 Oct 2025 12:45:36 +0000 (15:45 +0300)] 
config: Support versioned defaults for service settings

7 days agolib-storage: Change mail_access_groups default to $SET:default_internal_group
Timo Sirainen [Fri, 24 Oct 2025 12:19:12 +0000 (15:19 +0300)] 
lib-storage: Change mail_access_groups default to $SET:default_internal_group

8 days agoacl: vfile_object_modify_right() - Remove the whole identifier if it has no rights...
Marco Bettini [Wed, 22 Oct 2025 15:25:17 +0000 (15:25 +0000)] 
acl: vfile_object_modify_right() - Remove the whole identifier if it has no rights left

9 days agoNEWS: Add news for 2.4.2
Aki Tuomi [Tue, 7 Oct 2025 10:57:26 +0000 (13:57 +0300)] 
NEWS: Add news for 2.4.2

9 days agolib: Fix signedness in assert in time_to_uint32()
Aki Tuomi [Wed, 29 Oct 2025 11:00:24 +0000 (13:00 +0200)] 
lib: Fix signedness in assert in time_to_uint32()

If time_t is signed and 32-bit, this can cause warnings.

11 days agolib-master: Fix pre-accept() handling for services with restart_request_count=1
Timo Sirainen [Mon, 27 Oct 2025 11:12:07 +0000 (13:12 +0200)] 
lib-master: Fix pre-accept() handling for services with restart_request_count=1

Broken by 06045a9b2160229dcf78619f6208094843dfacd1

12 days agoauth: test-mech - No mechanism is expected to log errors anymore in this test
Stephan Bosch [Sun, 26 Oct 2025 02:34:24 +0000 (03:34 +0100)] 
auth: test-mech - No mechanism is expected to log errors anymore in this test

12 days agoauth: test-mech - The OTP mechanism no longer logs errors for client protocol violations
Stephan Bosch [Sun, 26 Oct 2025 02:15:35 +0000 (03:15 +0100)] 
auth: test-mech - The OTP mechanism no longer logs errors for client protocol violations

Yet, we forgot to amend this test. It only failed in Valgrind.

13 days agolib-storage: Don't try to mkdir root directory for unusable namespaces
Timo Sirainen [Fri, 24 Oct 2025 17:18:14 +0000 (20:18 +0300)] 
lib-storage: Don't try to mkdir root directory for unusable namespaces

The unusable namespaces are for nonexistent user shared namespaces.

2 weeks agodoveadm: Add deleted to mailbox status
Marco Bettini [Fri, 26 Sep 2025 13:02:09 +0000 (13:02 +0000)] 
doveadm: Add deleted to mailbox status

It is also added to the 'all' field

2 weeks agolib-storage: Add deleted mail count to dovecot.list.index
Marco Bettini [Thu, 9 Oct 2025 07:53:11 +0000 (07:53 +0000)] 
lib-storage: Add deleted mail count to dovecot.list.index

2 weeks agolib-storage: Add support for struct mailbox_status.deleted
Marco Bettini [Fri, 26 Sep 2025 13:01:05 +0000 (13:01 +0000)] 
lib-storage: Add support for struct mailbox_status.deleted

2 weeks agolib-sasl: fuzz-sasl-authentication - Forgot to ignore token-based mechanisms for...
Stephan Bosch [Thu, 23 Oct 2025 23:19:57 +0000 (01:19 +0200)] 
lib-sasl: fuzz-sasl-authentication - Forgot to ignore token-based mechanisms for password validity check

OSS-Fuzz report: 454518406

2 weeks agolib-sasl: fuzz-sasl-authentication - Check validity of authentication success in...
Stephan Bosch [Thu, 23 Oct 2025 23:13:47 +0000 (01:13 +0200)] 
lib-sasl: fuzz-sasl-authentication - Check validity of authentication success in separate function

2 weeks agolib-auth: auth-scram-client - Reduce maximum hash iterations in fuzzer to prevent...
Stephan Bosch [Thu, 23 Oct 2025 17:50:43 +0000 (19:50 +0200)] 
lib-auth: auth-scram-client - Reduce maximum hash iterations in fuzzer to prevent timeout

OSS-Fuzz report: 454444201

2 weeks agodoveadm: cmd_copy_alloc_source_user() - Fix crash on source user not existing
Marco Bettini [Fri, 24 Oct 2025 10:19:08 +0000 (10:19 +0000)] 
doveadm: cmd_copy_alloc_source_user() - Fix crash on source user not existing

2 weeks agolib-ssl-iostream: Handle delayed handshake failure explicitly
Timo Sirainen [Fri, 24 Oct 2025 09:35:35 +0000 (12:35 +0300)] 
lib-ssl-iostream: Handle delayed handshake failure explicitly

The previous commit already fixed the busy loop bug, but errno=EINVAL is
better for the handshake failure than EPIPE.

2 weeks agolib-ssl-iostream: Fix potential busy loop when handshake has failed
Timo Sirainen [Fri, 24 Oct 2025 09:32:41 +0000 (12:32 +0300)] 
lib-ssl-iostream: Fix potential busy loop when handshake has failed

If the stream is already destroyed, handshaking should return -1 as error
instead of "more data needed".

This fixes at least a potential busy loop when login-proxy tries to connect
to a remote server with mismatching SSL certificate name. It was timing
sensitive though, only seeming to happen when running with valgrind.

This code has been there since 9d0640616c30701bed286034840facfb386db90e

2 weeks agoanvil: Fix memory leak when kicking clients
Timo Sirainen [Wed, 22 Oct 2025 18:19:29 +0000 (21:19 +0300)] 
anvil: Fix memory leak when kicking clients

2 weeks agolib-storage: Sync "Time moved forward by" warning message with master process
Timo Sirainen [Thu, 23 Oct 2025 20:40:12 +0000 (23:40 +0300)] 
lib-storage: Sync "Time moved forward by" warning message with master process

master had "by", while lib-storage didn't.

2 weeks agoimap: Fix memory leak when using STORE with keywords on an EXAMINEd mailbox
Timo Sirainen [Thu, 23 Oct 2025 20:18:17 +0000 (23:18 +0300)] 
imap: Fix memory leak when using STORE with keywords on an EXAMINEd mailbox

2 weeks agostats: Fix memory leak when deinitializing file transport
Timo Sirainen [Thu, 23 Oct 2025 14:51:21 +0000 (17:51 +0300)] 
stats: Fix memory leak when deinitializing file transport

2 weeks agolib-ldap: Fix memory leak at connection deinit
Timo Sirainen [Thu, 23 Oct 2025 12:46:52 +0000 (15:46 +0300)] 
lib-ldap: Fix memory leak at connection deinit

2 weeks agoauth: ldap - Make sure ldap log prefix doesn't contain (null)
Timo Sirainen [Wed, 22 Oct 2025 12:33:59 +0000 (15:33 +0300)] 
auth: ldap - Make sure ldap log prefix doesn't contain (null)

This could have happened with invalid ldap_uris.

2 weeks agolib: str_to_*() - Fix compiler warnings
Timo Sirainen [Wed, 22 Oct 2025 11:27:51 +0000 (14:27 +0300)] 
lib: str_to_*() - Fix compiler warnings

Some gcc versions think endp may be uninitialized.

2 weeks agolib-storage: Use case-insensitive ns_prefix/INBOX only for shared namespace
Timo Sirainen [Wed, 22 Oct 2025 11:38:28 +0000 (14:38 +0300)] 
lib-storage: Use case-insensitive ns_prefix/INBOX only for shared namespace

For example OtherNamespace/Inbox shouldn't be converted to INBOX.

Broken by 776d3e6f408ae5c4f903c4ed9e906d84e3e741a1

2 weeks agolib-storage: Make sure shared INBOX mailbox is always uppercased
Timo Sirainen [Wed, 22 Oct 2025 09:09:46 +0000 (12:09 +0300)] 
lib-storage: Make sure shared INBOX mailbox is always uppercased

This fixes issues where if shared/user/INBOX was accessed without
uppercasing the INBOX, it wasn't handled consistently.

2 weeks agoauth: Add assert to make sure NULL cache key isn't tried to be expanded
Timo Sirainen [Wed, 22 Oct 2025 08:01:48 +0000 (11:01 +0300)] 
auth: Add assert to make sure NULL cache key isn't tried to be expanded

2 weeks agoauth: Don't do cache lookup on internal passdb failure when passdb_use_cache=no
Timo Sirainen [Wed, 22 Oct 2025 08:00:56 +0000 (11:00 +0300)] 
auth: Don't do cache lookup on internal passdb failure when passdb_use_cache=no

This was the only place where passdb_cache_lookup_credentials() caller didn't
already check for key=NULL.

2 weeks agolib: iostream-temp - Optimize writing many small writes
Timo Sirainen [Tue, 21 Oct 2025 10:33:56 +0000 (13:33 +0300)] 
lib: iostream-temp - Optimize writing many small writes

There was no buffering for o_stream_send*() calls after the initial
in-memory buffer size was exceeded. Each one was immediately written to
disk.

This fixes inefficiencies at least with doveadm-server HTTP responses.

2 weeks agolib: iostream-temp - Remove support for o_stream_seek()
Timo Sirainen [Tue, 21 Oct 2025 09:09:25 +0000 (12:09 +0300)] 
lib: iostream-temp - Remove support for o_stream_seek()

It's not needed by anything, and it's just making the code more complex.

2 weeks agolib: iostream-temp - Remove support for o_stream_pwrite()
Timo Sirainen [Fri, 17 Oct 2025 10:51:13 +0000 (13:51 +0300)] 
lib: iostream-temp - Remove support for o_stream_pwrite()

It's not needed by anything, and it's just making the code more complex.

2 weeks agolib-storage, imapc: Fix caching headers as empty values when handling partial header...
Timo Sirainen [Tue, 21 Oct 2025 20:45:45 +0000 (23:45 +0300)] 
lib-storage, imapc: Fix caching headers as empty values when handling partial header fetches

When imapc does FETCH BODY.PEEK[HEADER.FIELDS (a b)], the result is valid
only for headers "a" and "b". The header parsing was expecting that it was
seeing the full header, so if caching decisions had remembered that also
header "c" is wanted to be cached, it was done with an empty value.

2 weeks agoimap: Remove duplicate SPECIAL-USE from imap_capability setting list
anzz1 [Mon, 20 Oct 2025 10:45:00 +0000 (13:45 +0300)] 
imap: Remove duplicate SPECIAL-USE from imap_capability setting list

This duplication wasn't actually visible in the client's CAPABILITY list.

2 weeks agolib-http: Handle HTTP request timeouts in separate data stack frames
Timo Sirainen [Thu, 16 Oct 2025 17:40:06 +0000 (20:40 +0300)] 
lib-http: Handle HTTP request timeouts in separate data stack frames

2 weeks agomaster: accept() unix/inet connections before creating child process to handle it
Timo Sirainen [Thu, 16 Oct 2025 09:27:52 +0000 (12:27 +0300)] 
master: accept() unix/inet connections before creating child process to handle it

This way if the child processes are slow to start, it won't affect how
rapidly they can be created.

2 weeks agolib-master: Support handling a pre-accept()ed connection from master process
Timo Sirainen [Thu, 16 Oct 2025 09:24:06 +0000 (12:24 +0300)] 
lib-master: Support handling a pre-accept()ed connection from master process

2 weeks agolib-master: Split off master_service_connection_init_finish()
Timo Sirainen [Thu, 16 Oct 2025 08:59:08 +0000 (11:59 +0300)] 
lib-master: Split off master_service_connection_init_finish()

2 weeks agolib-master: Remove unused master_service_get_socket_name()
Timo Sirainen [Thu, 16 Oct 2025 09:12:03 +0000 (12:12 +0300)] 
lib-master: Remove unused master_service_get_socket_name()

2 weeks agolib-master: Use master_service_listener.name directly
Timo Sirainen [Thu, 16 Oct 2025 09:09:35 +0000 (12:09 +0300)] 
lib-master: Use master_service_listener.name directly

2 weeks agolib-master: Remove unused master_service_get_socket_type()
Timo Sirainen [Thu, 16 Oct 2025 09:08:29 +0000 (12:08 +0300)] 
lib-master: Remove unused master_service_get_socket_type()

2 weeks agolib, global: Change net_accept() to return only -1 on failure
Timo Sirainen [Mon, 20 Oct 2025 09:30:45 +0000 (12:30 +0300)] 
lib, global: Change net_accept() to return only -1 on failure

Use NET_ACCEPT_ENOCONN() to further check the errno if it's a failure that
should be logged or not. The previous way of using -1 vs -2 return value
wasn't very understandable.

2 weeks agoutil: health-check.sh - Don't leave "sleep 10" process running
Timo Sirainen [Mon, 20 Oct 2025 11:09:45 +0000 (14:09 +0300)] 
util: health-check.sh - Don't leave "sleep 10" process running

2 weeks agolib-regex: Run unit tests
Aki Tuomi [Tue, 21 Oct 2025 07:51:29 +0000 (10:51 +0300)] 
lib-regex: Run unit tests

check-local section was missing in Makefile.am, so tests weren't
executed.

Forgotten from 49ae6e798310e5c4b96709db435a3714ea6468a8

2 weeks agolib-mail: istream-header-filter - Fix memory leak
Timo Sirainen [Mon, 20 Oct 2025 07:40:19 +0000 (10:40 +0300)] 
lib-mail: istream-header-filter - Fix memory leak

Broken by 1f383819329d7637dc2f4a91b264af24a15f0256

2 weeks agolib-sql: driver-mysql - Remove wrappers for async
Aki Tuomi [Mon, 6 Oct 2025 09:41:40 +0000 (12:41 +0300)] 
lib-sql: driver-mysql - Remove wrappers for async

2 weeks agolib-sql: driver-sqlite - Remove wrappers for async
Aki Tuomi [Mon, 6 Oct 2025 09:40:54 +0000 (12:40 +0300)] 
lib-sql: driver-sqlite - Remove wrappers for async

2 weeks agolib-sql: sql-api - Implement async calls for drivers that can't
Aki Tuomi [Mon, 6 Oct 2025 09:39:50 +0000 (12:39 +0300)] 
lib-sql: sql-api - Implement async calls for drivers that can't

Changes the behaviour of asynchronous functions to be truly asynchronous
even if the underlying driver isn't capable of doing this. Implemented
by adding immediate timeouts to call the callbacks after returning from the
synchronous function and ending up back to ioloop.

2 weeks agolib-sql: driver-sqlite - Use driver_sqlite_transaction_rollback() always for rolling...
Aki Tuomi [Mon, 20 Oct 2025 09:21:24 +0000 (12:21 +0300)] 
lib-sql: driver-sqlite - Use driver_sqlite_transaction_rollback() always for rolling back failures

2 weeks agolib-sql: driver-sqlite - Handle rollback errors correctly
Aki Tuomi [Mon, 20 Oct 2025 09:19:24 +0000 (12:19 +0300)] 
lib-sql: driver-sqlite - Handle rollback errors correctly

Can't really claim we rolled back anything if rollback fails.

2 weeks agolib-sql: driver-sqlite - Stop transaction at first error
Aki Tuomi [Tue, 30 Sep 2025 12:32:12 +0000 (15:32 +0300)] 
lib-sql: driver-sqlite - Stop transaction at first error

If the transaction has failed, refuse to execute any new
queries. This prevents especially situations where BEGIN failed.

2 weeks agolib-sql: driver-sqlite - Check access errors more carefully
Aki Tuomi [Tue, 30 Sep 2025 11:51:51 +0000 (14:51 +0300)] 
lib-sql: driver-sqlite - Check access errors more carefully

Provide more useful information why database cannot be accessed,
including why it's in unexpected readonly mode.

2 weeks agolib-sql: driver-sqlite - Fix sqlite_journal_mode=wal setting to actually work
Aki Tuomi [Tue, 30 Sep 2025 11:49:25 +0000 (14:49 +0300)] 
lib-sql: driver-sqlite - Fix sqlite_journal_mode=wal setting to actually work

Forgotten in 316fdee91e4d672ec555626f620059c0748bab70

2 weeks agolib-sql: driver-sqlite - Automatically reconnect read-only
Aki Tuomi [Tue, 30 Sep 2025 11:34:55 +0000 (14:34 +0300)] 
lib-sql: driver-sqlite - Automatically reconnect read-only

Simplifies cases where we just want to read the database

2 weeks agolib-sql: driver-sqlite - Explicitly initialize sqlite3
Aki Tuomi [Tue, 30 Sep 2025 11:30:09 +0000 (14:30 +0300)] 
lib-sql: driver-sqlite - Explicitly initialize sqlite3

This allows catching initialization errors early

2 weeks agolib-sql: driver-sqlite - Use result.error for error storage
Aki Tuomi [Tue, 30 Sep 2025 11:19:35 +0000 (14:19 +0300)] 
lib-sql: driver-sqlite - Use result.error for error storage

This allows better errors than using rc alone

2 weeks agolib-sql: driver-sqlite - Also consider SQLITE_PERM as access error
Aki Tuomi [Mon, 20 Oct 2025 09:54:14 +0000 (12:54 +0300)] 
lib-sql: driver-sqlite - Also consider SQLITE_PERM as access error

2 weeks agolib-sql: driver-sqlite - Extract message generation to driver_sqlite_result_str()
Aki Tuomi [Tue, 30 Sep 2025 11:14:29 +0000 (14:14 +0300)] 
lib-sql: driver-sqlite - Extract message generation to driver_sqlite_result_str()

2 weeks agolib-sql: driver-sqlite - Include the real database connect error in event
Aki Tuomi [Mon, 20 Oct 2025 07:04:28 +0000 (10:04 +0300)] 
lib-sql: driver-sqlite - Include the real database connect error in event

2 weeks agolib-sql: driver-sqlite - Use driver_sqlite_connect_error() in driver_sqlite_result_log()
Aki Tuomi [Mon, 20 Oct 2025 06:58:01 +0000 (09:58 +0300)] 
lib-sql: driver-sqlite - Use driver_sqlite_connect_error() in driver_sqlite_result_log()

Simplifies next commit

2 weeks agolib-sql: driver-sqlite - Extract connection error handling to driver_sqlite_connect_e...
Aki Tuomi [Thu, 9 Oct 2025 09:53:26 +0000 (12:53 +0300)] 
lib-sql: driver-sqlite - Extract connection error handling to driver_sqlite_connect_error()

2 weeks agolib-sql: driver-sqlite - SQLITE_DONE is not an error
Aki Tuomi [Mon, 20 Oct 2025 07:26:40 +0000 (10:26 +0300)] 
lib-sql: driver-sqlite - SQLITE_DONE is not an error

2 weeks agolib-sql: driver-sqlite - Use sqlite3_errstr()
Aki Tuomi [Mon, 20 Oct 2025 06:42:08 +0000 (09:42 +0300)] 
lib-sql: driver-sqlite - Use sqlite3_errstr()

This allows looking up error for the rc we are interested.

2 weeks agolib-sql: driver-sqlite - Use sqlite3_system_errno()
Aki Tuomi [Thu, 9 Oct 2025 10:15:54 +0000 (10:15 +0000)] 
lib-sql: driver-sqlite - Use sqlite3_system_errno()

2 weeks agolib-sql: driver-sqlite - Add and use per-result errors
Aki Tuomi [Mon, 1 Sep 2025 13:27:18 +0000 (16:27 +0300)] 
lib-sql: driver-sqlite - Add and use per-result errors

2 weeks agolib-sql: driver-sqlite - Rename db->rc to db->connect_rc
Aki Tuomi [Fri, 5 Sep 2025 11:22:32 +0000 (14:22 +0300)] 
lib-sql: driver-sqlite - Rename db->rc to db->connect_rc

2 weeks agolib-sql: driver-sqlite - Use ctx->rc instead of db->rc in transactions
Aki Tuomi [Mon, 20 Oct 2025 07:57:00 +0000 (10:57 +0300)] 
lib-sql: driver-sqlite - Use ctx->rc instead of db->rc in transactions

2 weeks agolib-sql: driver-sqlite - Log error if database closing fails
Aki Tuomi [Mon, 1 Sep 2025 12:55:57 +0000 (15:55 +0300)] 
lib-sql: driver-sqlite - Log error if database closing fails

2 weeks agolib-sql: sql-api - Use i_gettimeofday() to get current time
Aki Tuomi [Tue, 26 Aug 2025 11:35:27 +0000 (14:35 +0300)] 
lib-sql: sql-api - Use i_gettimeofday() to get current time

It's more accurate

2 weeks agolib-sql: test-sql-sqlite - Remove redundant code
Aki Tuomi [Thu, 28 Aug 2025 08:41:21 +0000 (11:41 +0300)] 
lib-sql: test-sql-sqlite - Remove redundant code

2 weeks agolib-sql: sql-api - Clarify that results are free'd after callback returns
Aki Tuomi [Wed, 10 Sep 2025 06:30:13 +0000 (09:30 +0300)] 
lib-sql: sql-api - Clarify that results are free'd after callback returns

2 weeks agolib-sql: driver-sqlite - Refactor struct sqlite_db
Aki Tuomi [Mon, 1 Sep 2025 19:06:33 +0000 (22:06 +0300)] 
lib-sql: driver-sqlite - Refactor struct sqlite_db

2 weeks agolib-index: Update comments about how transaction log corruption is handled
Timo Sirainen [Mon, 12 Feb 2024 08:58:55 +0000 (10:58 +0200)] 
lib-index: Update comments about how transaction log corruption is handled

2 weeks agolib-index: Remove obsolete FIXMEs about upcoming sync lock removal
Timo Sirainen [Mon, 12 Feb 2024 08:30:34 +0000 (10:30 +0200)] 
lib-index: Remove obsolete FIXMEs about upcoming sync lock removal

That is never going to happen.