]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Wed, 19 Nov 2025 07:59:25 +0000 (09:59 +0200)]
lib-program-client: test-program-client - Do not require error handling
It's not important here.
Aki Tuomi [Thu, 20 Nov 2025 11:49:58 +0000 (13:49 +0200)]
CONTRIBUTING.md: First version
Aki Tuomi [Thu, 20 Nov 2025 11:45:34 +0000 (13:45 +0200)]
AGENTS.md: First version
Aki Tuomi [Wed, 19 Nov 2025 16:59:48 +0000 (18:59 +0200)]
configure: Fix LIBDOVECOTTEST_LIBS to LIBDOVECOT_TEST_LIBS
Aki Tuomi [Wed, 19 Nov 2025 10:10:27 +0000 (12:10 +0200)]
lib-dovecot: Make it possible to do semistatic libdovecot.so
This can be now done with setting
- ZLIB_LIBS_STATIC to libz.a location
- LIBPCRE_LIBS_STATIC to libpcre2-32.a location
- SSL_LIBS to both libssl.a and libcrypto.a location
Aki Tuomi [Wed, 19 Nov 2025 10:09:04 +0000 (12:09 +0200)]
global: Add and use LIBDOVECOT_TEST_LIBS
Timo Sirainen [Mon, 17 Nov 2025 09:14:22 +0000 (11:14 +0200)]
doveadm: doveadm_blocking_connect() - Fix panic if handshake read() fails
Fixes:
Panic: output stream .../master is missing error handling
Timo Sirainen [Tue, 18 Nov 2025 13:18:56 +0000 (15:18 +0200)]
lib-var-expand: Fix unit test failure with some bison versions
Some versions start the error with "syntax error, unexpected $end".
Broken by
fcedf9dfe8db1fa0952df47ddfc26d930188863a
Timo Sirainen [Tue, 18 Nov 2025 12:49:54 +0000 (14:49 +0200)]
master: Set anvil process's last_status_update immediately after config reload
Timo Sirainen [Mon, 17 Nov 2025 13:32:05 +0000 (15:32 +0200)]
pop3c: Fix potential hangs with SSL
io_add_istream() should be used when SSL iostreams.
Timo Sirainen [Mon, 17 Nov 2025 13:23:11 +0000 (15:23 +0200)]
pop3c: Show the exact state where client timed out
Many different states caused "Authentication timed out".
Markus Valentin [Thu, 13 Nov 2025 11:04:05 +0000 (12:04 +0100)]
lib-http: Add HTTP_CLIENT_REQUEST_ERROR_PREREQUISITE_FAILED error code
This new internal error code can be used to signal that a prerequisite
for submitting the request failed.
Timo Sirainen [Thu, 6 Nov 2025 13:25:55 +0000 (15:25 +0200)]
auth: auth_cache_parse_key_and_fields() - Change to return error instead of i_fatal()
Timo Sirainen [Thu, 6 Nov 2025 13:19:21 +0000 (15:19 +0200)]
auth: Add and use userdb_set_cache_key() to set cache key
Timo Sirainen [Thu, 6 Nov 2025 13:16:18 +0000 (15:16 +0200)]
auth: Add and use passdb_set_cache_key() to set cache key
Timo Sirainen [Thu, 6 Nov 2025 12:53:42 +0000 (14:53 +0200)]
auth: ldap - Avoid repeating error messages if iteration fails due to invalid settings
Timo Sirainen [Thu, 6 Nov 2025 12:52:37 +0000 (14:52 +0200)]
auth: ldap - Fix crash if users are iterated, but userdb_ldap_iterate_fields is not set
Timo Sirainen [Thu, 6 Nov 2025 12:48:47 +0000 (14:48 +0200)]
auth: Don't initialize cache key if caching is disabled for the userdb
Timo Sirainen [Thu, 6 Nov 2025 12:46:39 +0000 (14:46 +0200)]
auth: userdb.preinit() - Add userdb_parameters parameter
Timo Sirainen [Thu, 6 Nov 2025 12:44:35 +0000 (14:44 +0200)]
auth: Don't initialize cache key if caching is disabled for the passdb
Timo Sirainen [Thu, 6 Nov 2025 12:33:40 +0000 (14:33 +0200)]
auth: passdb.preinit() - Add passdb_parameters parameter
Timo Sirainen [Thu, 6 Nov 2025 12:20:05 +0000 (14:20 +0200)]
auth: Fix auth caching to work with passdb_ldap_bind_userdn
passdb_ldap_bind_userdn wasn't part of the cache key, so:
* If no %variables were given in ldap_base or passdb_ldap_filter, startup
failed with "Cache key must contain at least one variable"
* If the same %variables were part of ldap_base or passdb_ldap_filter,
it worked correctly.
* If different %variables were part of ldap_base or passdb_ldap_filter,
cached lookups may have returned wrong results.
Timo Sirainen [Thu, 6 Nov 2025 12:08:54 +0000 (14:08 +0200)]
auth: ldap - Add debug log when bind started/finished
Aki Tuomi [Thu, 13 Nov 2025 09:22:53 +0000 (11:22 +0200)]
configure: Quote abs_top_builddir in TEST_CFLAGS sufficiently
Aki Tuomi [Wed, 12 Nov 2025 06:58:08 +0000 (08:58 +0200)]
build-aux/run-test.sh.in: Export DOVECONF_PATH if it's set
Aki Tuomi [Wed, 12 Nov 2025 06:54:38 +0000 (08:54 +0200)]
m4: Set DOVECONF_PATH
If dovecot is not installed, it points to dovecot build location.
Aki Tuomi [Fri, 31 Oct 2025 11:22:00 +0000 (13:22 +0200)]
lib-master: Support executing doveconf with DOVECONF_PATH enviroment variable
This helps with e.g. Pigeonhole testing when Dovecot is not installed,
and doveconf is needed.
Stephan Bosch [Tue, 4 Nov 2025 23:04:09 +0000 (00:04 +0100)]
submission-login: Halt the handling of the AUTH commmand while the auth service is not connected
Stephan Bosch [Wed, 5 Nov 2025 16:37:16 +0000 (17:37 +0100)]
submission-login: Rename client->pending_auth to client->auth_cmd
Stephan Bosch [Wed, 5 Nov 2025 23:30:02 +0000 (00:30 +0100)]
login-common: client-common-auth - Assert that a new authentication does not occur when one is still running
Stephan Bosch [Wed, 5 Nov 2025 14:42:42 +0000 (15:42 +0100)]
login-common: Add notify_auth_connected() vfunc
This gets called when the auth service connection is restored after disconnect.
Aki Tuomi [Wed, 12 Nov 2025 08:52:42 +0000 (10:52 +0200)]
lib: test-path-util - Normalize cwd
Avoids unnecessary failure later on.
Aki Tuomi [Wed, 12 Nov 2025 08:41:47 +0000 (10:41 +0200)]
lib-test: Log error with top_test_dir
TEST_DIR is not used as mkdir parameter.
Stephan Bosch [Wed, 12 Nov 2025 00:35:39 +0000 (01:35 +0100)]
lib: unicode-transform - Avoid using constant artihmetic involving variables
This does not strictly conform to the C standard and can trigger compiler errors
for some systems.
Timo Sirainen [Tue, 4 Nov 2025 21:23:29 +0000 (23:23 +0200)]
config: Panic if default setting value differs between setting_parser_infos
Timo Sirainen [Tue, 4 Nov 2025 21:23:05 +0000 (23:23 +0200)]
submission-login: Fix setting the default submission_max_mail_size=unlimited
Pre-login default value is intended to be unlimited, while post-login
default value is 40 MB, unless overridden by the relay server.
The old code was relying on the default settings struct being different for
submission and submission-login, which was rather kludgy. This also wasn't
visible in doveconf output.
Timo Sirainen [Thu, 6 Nov 2025 16:56:45 +0000 (18:56 +0200)]
submission[-login]: If submission_max_mail_size=unlimited, advertise SIZE capability without a number
Stephan Bosch [Tue, 11 Nov 2025 00:24:38 +0000 (01:24 +0100)]
lib-smtp: smtp-server-connection - Fix reading remaining payload of failed (DATA) command
Aki Tuomi [Tue, 11 Nov 2025 10:32:09 +0000 (12:32 +0200)]
doveadm: dsync - Sync mailbox before updating mailbox metadata
Fixes highestmodseq increasing unnecessarily after sync.
Aki Tuomi [Tue, 11 Nov 2025 08:43:42 +0000 (10:43 +0200)]
doveadm: dsync - Log used search
This can be helpful in debugging
Aki Tuomi [Tue, 11 Nov 2025 08:16:09 +0000 (10:16 +0200)]
doveadm: dsync - Search exportable mails with SMALLER
This speeds up dsync with -I, especially over network connection.
Aki Tuomi [Tue, 11 Nov 2025 07:44:14 +0000 (09:44 +0200)]
doveadm: dsync - Fix -e parameter when used with dsync-server
It was set to sync_since_timestamp.
Broken in
ee8294dbc7bb549557f6ba1264d66b55fbef69b6
Aki Tuomi [Tue, 11 Nov 2025 06:38:38 +0000 (08:38 +0200)]
doveadm: dsync - Search exportable mails with timestamps
This speeds up dsync with -t and -e, especially over network connection.
Aki Tuomi [Tue, 11 Nov 2025 07:00:07 +0000 (09:00 +0200)]
doveadm: dsync - Extract dsync_mailbox_import_init() arguments to a structure
It's easier to extend in future
Aki Tuomi [Tue, 11 Nov 2025 06:47:47 +0000 (08:47 +0200)]
doveadm: dsync - Extract dsync_mailbox_export_init() parameters to a structure
It's easier to extend in future
Timo Sirainen [Mon, 10 Nov 2025 12:25:43 +0000 (14:25 +0200)]
fts-flatcurve: Fix mailbox leak if it couldn't be opened
This could also result in a crash:
Panic: file mail-user.c: line 185 (mail_user_deinit): assertion failed: ((*user)->refcount == 1)
Aki Tuomi [Mon, 10 Nov 2025 08:38:00 +0000 (10:38 +0200)]
lib-var-expand: var-expand-parser - Add YYFPRINTF() wrapper
Useful if one needs to debug parser.
Aki Tuomi [Mon, 10 Nov 2025 08:35:00 +0000 (10:35 +0200)]
lib-var-expand: test-var-expand - Print more useful error if test->out is empty
Aki Tuomi [Mon, 10 Nov 2025 08:30:11 +0000 (10:30 +0200)]
lib-var-expand: Generate 8-bit flexer
This is needed for proper utf-8 support in future.
Aki Tuomi [Mon, 10 Nov 2025 07:39:57 +0000 (09:39 +0200)]
lib-var-expand: Add fuzzer for var_expand_program_create()
Aki Tuomi [Mon, 10 Nov 2025 07:39:04 +0000 (09:39 +0200)]
lib-var-expand: Fix list manipulation in make_new_program()
Fixes signal 11 crash when handling multiple chained programs like
hello%{}world.
Aki Tuomi [Mon, 10 Nov 2025 09:33:21 +0000 (11:33 +0200)]
lib-mail: test-istream-qp-decoder - Keep limit constant in get_encoding_size_diff()
Broken in
e3b45a1e30c98dcf33bc79dc9370f1217eadc36a
Aki Tuomi [Mon, 10 Nov 2025 07:02:24 +0000 (09:02 +0200)]
lib-mail: Add more fuzzers
Aki Tuomi [Sun, 9 Nov 2025 17:32:36 +0000 (19:32 +0200)]
lib-mail: message-date - Add missing bounds checking
All current callers are guaranteed to pass input that is NUL-terminated.
In case of SEARCH SENT* commands the input comes from buffer_t, which is also
guaranteed to be NUL-terminated (although not necessarily immediately after the
input data).
Found by naoki-wa via yeswehack.
Timo Sirainen [Fri, 17 Oct 2025 11:27:09 +0000 (14:27 +0300)]
lib: Move cpu-limit test to its own test binary
This allows running it in parallel with the rest of the tests.
Timo Sirainen [Wed, 5 Nov 2025 10:54:33 +0000 (12:54 +0200)]
Makefile.test.include: Use "make check" tests in parallel
Timo Sirainen [Sat, 18 Oct 2025 15:33:29 +0000 (18:33 +0300)]
lib-program-client, lib-smtp: Move unit test runs to Makefile.test.include
These add NOCHILDREN_TESTS for some tests.
Timo Sirainen [Wed, 5 Nov 2025 10:50:46 +0000 (12:50 +0200)]
global: Move most unit test runs to Makefile.test.include
The special cases are changed by the next commit.
Timo Sirainen [Wed, 5 Nov 2025 10:47:18 +0000 (12:47 +0200)]
lib-sql: Makefile.am - Use test_programs instead of check_PROGRAMS variable
This makes it consistent with other unit tests.
Timo Sirainen [Wed, 5 Nov 2025 10:34:11 +0000 (12:34 +0200)]
lib-test: Give a clear panic if test_dir_init() call is missing
Timo Sirainen [Sat, 25 Oct 2025 17:15:05 +0000 (20:15 +0300)]
lib-storage, mail-crypt: test-mail* - Use the new test-dir API
mail-crypt's test-mail-key also uses test-mail-storage-common API, so it
now needs the test_dir_init() call.
Timo Sirainen [Sat, 25 Oct 2025 16:38:14 +0000 (19:38 +0300)]
lib-http, lib-smtp: test-*-payload - Skip files created by make check
These may change during "make check", breaking the test.
Timo Sirainen [Mon, 3 Nov 2025 08:22:54 +0000 (10:22 +0200)]
config: Fail if trying to give section name for strlist or boollist setting
For example this should fail:
mail_plugins foo {
}
Timo Sirainen [Mon, 3 Nov 2025 08:22:19 +0000 (10:22 +0200)]
config: Fail if trying to use non-strlist and non-boollist setting as a section
For example this was silently ignored:
mail_driver {
}
Edmund Lodewijks [Wed, 5 Nov 2025 10:21:41 +0000 (12:21 +0200)]
doveadm: dsync_remote_cmd setting - Remove obsolete -U parameter
This was forgotten to be removed in
4c04e4c30fd4817a8b0e11d04d9681173f696f41
Marco Bettini [Fri, 24 Oct 2025 12:54:13 +0000 (12:54 +0000)]
lazy-expunge: Change lazy_expunge_only_last_instance default to yes
Stephan Bosch [Sat, 1 Nov 2025 17:51:43 +0000 (18:51 +0100)]
lib-compression: test-compression - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 17:09:00 +0000 (18:09 +0100)]
lib-index: test-mail-index-write - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 18:59:41 +0000 (19:59 +0100)]
lib-http: test-http-payload - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 17:56:16 +0000 (18:56 +0100)]
lib-smtp: test-smtp-payload - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 16:42:56 +0000 (17:42 +0100)]
lib-smtp: test-smtp-submit - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:00:13 +0000 (22:00 +0100)]
lib-program-client: test-program-client-* - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 19:52:34 +0000 (20:52 +0100)]
lib-index: test-mail-{index,cache} - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 20:59:07 +0000 (21:59 +0100)]
lib-imap-client: test-imapc-client - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 20:58:18 +0000 (21:58 +0100)]
lib-fs: test-fs-posix - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 20:57:11 +0000 (21:57 +0100)]
imap: test-imap-client-hibernate - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 20:56:33 +0000 (21:56 +0100)]
config: test-config-parser - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 19:07:28 +0000 (20:07 +0100)]
lib-json: test-json-istream - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 23:19:26 +0000 (00:19 +0100)]
lib: test-ostream-file - Use the new test-dir API
Stephan Bosch [Sat, 1 Nov 2025 19:37:27 +0000 (20:37 +0100)]
lib: test-iostream-temp - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 23:19:13 +0000 (00:19 +0100)]
lib: test-istream-seekable - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 22:58:34 +0000 (23:58 +0100)]
lib: test-event-log - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:05:52 +0000 (22:05 +0100)]
lib: test-path-util - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:36:10 +0000 (22:36 +0100)]
lib: test-file-create-locked - Use the new test-dir API
Stephan Bosch [Mon, 27 Oct 2025 21:04:45 +0000 (22:04 +0100)]
lib: test-file-create-locked - Use the new test-subprocess API
Stephan Bosch [Mon, 27 Oct 2025 21:04:16 +0000 (22:04 +0100)]
lib: test-file-cache - 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
Stephan Bosch [Mon, 27 Oct 2025 21:02:55 +0000 (22:02 +0100)]
lib: test-buffer-istream - Use the new test-dir API
Stephan Bosch [Sun, 26 Oct 2025 04:42:06 +0000 (05:42 +0100)]
lib-test: Add support for temporary test directories
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.
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
Stephan Bosch [Fri, 31 Oct 2025 13:44:10 +0000 (14:44 +0100)]
lib: safe-mkstemp - Add safe_mkstemp_dir*()
Stephan Bosch [Fri, 31 Oct 2025 13:30:46 +0000 (14:30 +0100)]
lib: safe-mkstemp - Split off safe_mkstemp_create()
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()
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()
Stephan Bosch [Sun, 26 Oct 2025 04:48:11 +0000 (05:48 +0100)]
stats: test-stats-common - Rename test_init() to test_stats_init()
Stephan Bosch [Mon, 27 Oct 2025 20:44:40 +0000 (21:44 +0100)]
lib-test: Fix whitespace issues in test-subprocess.c
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
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; }
Timo Sirainen [Fri, 31 Oct 2025 10:42:05 +0000 (12:42 +0200)]
config: Support config version 2.4.2