]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
19 months agoconfigure.ac: Fix generating DOVECOT_CONFIG_VERSION
Timo Sirainen [Mon, 11 Nov 2024 12:45:39 +0000 (14:45 +0200)] 
configure.ac: Fix generating DOVECOT_CONFIG_VERSION

19 months agoconfigure.ac, config: Change supported config versions to work based on PACKAGE_VERSION
Timo Sirainen [Fri, 8 Nov 2024 08:59:10 +0000 (10:59 +0200)] 
configure.ac, config: Change supported config versions to work based on PACKAGE_VERSION

For git this means 0.0.0, but the supported versions still include hardcoded
2.4.0 / 3.0.0, which can be used.

19 months agolib-lua: Fix lua library dependencies when building --without-shared-libs
Timo Sirainen [Wed, 30 Oct 2024 07:59:10 +0000 (09:59 +0200)] 
lib-lua: Fix lua library dependencies when building --without-shared-libs

Linking against libdlua didn't automatically link with liblua, causing
lua plugin loading to fail.

19 months agolib: istream-concat - Fix potential hang when reaching max buffer size
Timo Sirainen [Tue, 29 Oct 2024 09:25:32 +0000 (11:25 +0200)] 
lib: istream-concat - Fix potential hang when reaching max buffer size

19 months agoimap: Fix potential hang when client sends too long line
Timo Sirainen [Tue, 29 Oct 2024 09:22:27 +0000 (11:22 +0200)] 
imap: Fix potential hang when client sends too long line

19 months agoimap: Fix potential hang when client sends too long APPEND line
Timo Sirainen [Tue, 29 Oct 2024 09:20:02 +0000 (11:20 +0200)] 
imap: Fix potential hang when client sends too long APPEND line

19 months agoimap: Fix potential hang/assert-crash when client sends too long line
Timo Sirainen [Tue, 29 Oct 2024 08:36:43 +0000 (10:36 +0200)] 
imap: Fix potential hang/assert-crash when client sends too long line

If client sent some commands pipelined, followed by a command with too long
line, the previous commands' tagged replies weren't sent. This caused it to
hang until more input was received. After that it crashed.

Fixes:
Panic: file imap-client.c: line 1098 (client_check_command_hangs): assertion failed: (!have_wait_unfinished || unfinished_count > 0)

19 months agolib-smtp: Fix UTF-8 local-parts
Arnt Gulbrandsen [Thu, 5 Sep 2024 06:35:13 +0000 (09:35 +0300)] 
lib-smtp: Fix UTF-8 local-parts

19 months agoconfigure: Explicitly check for icu-uc
fundawang [Sun, 27 Oct 2024 14:11:21 +0000 (22:11 +0800)] 
configure: Explicitly check for icu-uc

Ensure we link against libicu-uc when it's split in v76.

20 months agolib-index: Fix potential crash after resetting index
Timo Sirainen [Wed, 23 Oct 2024 07:42:35 +0000 (10:42 +0300)] 
lib-index: Fix potential crash after resetting index

The log's sync_offset wasn't updated after the reset if there were no other
changes. This ended up in a broken state in
mail_transaction_log_append_locked() where it thought there was garbage at
the end of the transaction log, and crashed trying to truncate it.

20 months agoimapc: If a shared namespace INBOX is listed as \Noselect enforce it
Markus Valentin [Wed, 2 Oct 2024 08:18:07 +0000 (10:18 +0200)] 
imapc: If a shared namespace INBOX is listed as \Noselect enforce it

In specific configurations a shared namespace INBOX is listed as
\Noselect
* LIST (\HasChildren) "/" shared/user
* LIST (\HasChildren \Noselect) "/" shared/user/INBOX

This is fixed by adding this extra check.

20 months agodsync: Fix potential crash when handling mailbox renames
Timo Sirainen [Thu, 17 Oct 2024 09:15:08 +0000 (12:15 +0300)] 
dsync: Fix potential crash when handling mailbox renames

Fixes:
Panic: file dsync-mailbox-tree-sync.c: line 575 (node_mailbox_trees_cmp): assertion failed: (ret != 0)

20 months agolib-storage: Mailbox list rebuild - avoid opening mailbox on recovery name collision
Timo Sirainen [Mon, 14 Oct 2024 05:49:37 +0000 (08:49 +0300)] 
lib-storage: Mailbox list rebuild - avoid opening mailbox on recovery name collision

If recovered-lost-folder-$guid already unexpectedly exists, there's no need
to open it (at this point) to try to recover its name. This didn't really harm
anything, so it mainly fixes the code logic to make sense.

20 months agoimap: Fix potential hang/crash when unhibernating
Timo Sirainen [Mon, 14 Oct 2024 09:53:33 +0000 (12:53 +0300)] 
imap: Fix potential hang/crash when unhibernating

This fixes two potential bugs:

a) Unhibernation is triggered by new mailbox changes. While sending these
to IMAP client, Dovecot notices that the client has disconnected. The
process will stay IDLEing for 30 minutes until it gets disconnected with
"Disconnected: Inactivity - no input for 1800 secs"

b) Unhibernation is triggered by DONE command with some further pipelined
commands. During unhibernation new mailbox changes are noticed, and
again IMAP client is found to be disconnected while sending the changes.
This causes a segfault.

20 months agodoveadm: doveadm-print-json - Prevent crash on subsequent user prints
Karl Fleischmann [Thu, 10 Oct 2024 14:41:25 +0000 (16:41 +0200)] 
doveadm: doveadm-print-json - Prevent crash on subsequent user prints

Move closing the final json array delimiter to the deinitialization
routine instead of on flush.

20 months agolib-dcrypt: Ensure bd is not used uninitialized in store_jwk_key()
Aki Tuomi [Wed, 9 Oct 2024 06:22:00 +0000 (09:22 +0300)] 
lib-dcrypt: Ensure bd is not used uninitialized in store_jwk_key()

20 months agoMakefile: Fix LIBDOVECOT_OPENSSL for installed dovecot-config file
Timo Sirainen [Tue, 8 Oct 2024 08:58:22 +0000 (11:58 +0300)] 
Makefile: Fix LIBDOVECOT_OPENSSL for installed dovecot-config file

20 months agolib-http, lib-smtp: unit tests - Make sure expected DNS lookup failures will fail
Timo Sirainen [Fri, 4 Oct 2024 07:39:07 +0000 (10:39 +0300)] 
lib-http, lib-smtp: unit tests - Make sure expected DNS lookup failures will fail

Use ".invalid" suffix just to be safe. More importantly, use a trailing
dot to disable search domains.

20 months agodoc: Remove strict library version requirement from solr-config-9.xml
Aki Tuomi [Tue, 1 Oct 2024 09:33:32 +0000 (12:33 +0300)] 
doc: Remove strict library version requirement from solr-config-9.xml

20 months agodoc: Use solr.install.dir in solr-config-9.xml
Aki Tuomi [Mon, 30 Sep 2024 05:58:53 +0000 (08:58 +0300)] 
doc: Use solr.install.dir in solr-config-9.xml

Removes hardcoded path

20 months agolib: test_hash - Reduce loop counts with valgrind to save time
Timo Sirainen [Tue, 1 Oct 2024 07:58:38 +0000 (10:58 +0300)] 
lib: test_hash - Reduce loop counts with valgrind to save time

20 months agolib: test_hash - Add missing test_begin()/test_end()
Timo Sirainen [Tue, 1 Oct 2024 07:57:32 +0000 (10:57 +0300)] 
lib: test_hash - Add missing test_begin()/test_end()

20 months agolib: istream-multiplex tests - Reduce loop counts with valgrind to save time
Timo Sirainen [Tue, 1 Oct 2024 07:53:33 +0000 (10:53 +0300)] 
lib: istream-multiplex tests - Reduce loop counts with valgrind to save time

20 months agolib: base64 tests - Reduce loop counts with valgrind to save time
Timo Sirainen [Tue, 1 Oct 2024 07:51:00 +0000 (10:51 +0300)] 
lib: base64 tests - Reduce loop counts with valgrind to save time

20 months agolib: test-hash-method - Skip "large input" test with valgrind to save time
Timo Sirainen [Tue, 1 Oct 2024 07:50:41 +0000 (10:50 +0300)] 
lib: test-hash-method - Skip "large input" test with valgrind to save time

20 months agorun-test-valgrind.supp: Add leak suppression for fatal_ostream_file test
Timo Sirainen [Tue, 1 Oct 2024 07:40:24 +0000 (10:40 +0300)] 
run-test-valgrind.supp: Add leak suppression for fatal_ostream_file test

The test is supposed to panic while destroying ostream, so there's no way to
prevent the leak.

20 months agoauth: Fix typo in ssl_ja3_hash field name
Aki Tuomi [Mon, 23 Sep 2024 21:03:40 +0000 (00:03 +0300)] 
auth: Fix typo in ssl_ja3_hash field name

Fixes passing ssl_ja3_hash to a blocking passdb

Broken in 70baf893e85222d071d21cdd5ead546a905d477a

20 months agolib: test-ostream-file - Make sure lack of error handling panics
Timo Sirainen [Mon, 9 Jul 2018 14:29:31 +0000 (17:29 +0300)] 
lib: test-ostream-file - Make sure lack of error handling panics

20 months agolib: o_stream_close() - Don't reset error checking on automatic flush
Timo Sirainen [Mon, 9 Jul 2018 13:23:10 +0000 (16:23 +0300)] 
lib: o_stream_close() - Don't reset error checking on automatic flush

Otherwise it will be difficult to find missing o_stream_flush() calls.
The missing error handling would be found only when the flushing fails,
which would result in assert-crash.

This is how the code was originally intended to behave. Broken by
5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1

20 months agoimap: Ignore error handling for side channel output
Timo Sirainen [Tue, 24 Sep 2024 06:54:52 +0000 (09:54 +0300)] 
imap: Ignore error handling for side channel output

20 months agolib-index: Ignore ostream errors when cache purging is aborted due to file too large
Timo Sirainen [Tue, 24 Sep 2024 06:56:49 +0000 (09:56 +0300)] 
lib-index: Ignore ostream errors when cache purging is aborted due to file too large

20 months agolib-smtp: test-smtp-client-errors - Add missing ostream finish
Timo Sirainen [Tue, 21 Sep 2021 21:26:26 +0000 (00:26 +0300)] 
lib-smtp: test-smtp-client-errors - Add missing ostream finish

20 months agombox: Fix ostream error handling in mbox_move()
Timo Sirainen [Mon, 9 Jul 2018 14:41:57 +0000 (17:41 +0300)] 
mbox: Fix ostream error handling in mbox_move()

o_stream_nsend_send_istream() needs to be followed by o_stream_flush().
It also detects the istream error.

21 months agovirtual: Fix copying storage error on mail_precache() failure
Timo Sirainen [Mon, 9 Sep 2024 15:46:56 +0000 (18:46 +0300)] 
virtual: Fix copying storage error on mail_precache() failure

21 months agofts: Don't ignore parent mail_precache() failure
Timo Sirainen [Mon, 9 Sep 2024 15:45:59 +0000 (18:45 +0300)] 
fts: Don't ignore parent mail_precache() failure

21 months agodovecot.service.in: Add time-sync.target dependency
Timo Sirainen [Tue, 17 Sep 2024 09:58:57 +0000 (12:58 +0300)] 
dovecot.service.in: Add time-sync.target dependency

This way Dovecot won't be started before time has been synchronized.
systemd-time-wait-sync.service also needs to be enabled.

21 months agodoc: Fix cp usage to be more portable when installing html docs
Aki Tuomi [Mon, 16 Sep 2024 10:54:39 +0000 (13:54 +0300)] 
doc: Fix cp usage to be more portable when installing html docs

21 months agolib-dcrypt: Replace safe_memset() with buffer_clear_safe() for buffers
Aki Tuomi [Fri, 6 Sep 2024 12:06:21 +0000 (15:06 +0300)] 
lib-dcrypt: Replace safe_memset() with buffer_clear_safe() for buffers

21 months agomail-crypt: Fix detecting chacha20-poly1305 in algorithm
Aki Tuomi [Fri, 6 Sep 2024 12:00:33 +0000 (15:00 +0300)] 
mail-crypt: Fix detecting chacha20-poly1305 in algorithm

21 months agolib-dcrypt: iostream - Support using same cipher algorithm for key encryption
Aki Tuomi [Fri, 6 Sep 2024 10:13:15 +0000 (13:13 +0300)] 
lib-dcrypt: iostream - Support using same cipher algorithm for key encryption

21 months agolib-oauth2: Link dcrypt-openssl directly to unit test
Timo Sirainen [Fri, 6 Sep 2024 10:26:20 +0000 (13:26 +0300)] 
lib-oauth2: Link dcrypt-openssl directly to unit test

This fixes an issue with runtime linking:
Error: No functional dcrypt backend found - skipping some tests:
Couldn't load required plugin libdcrypt_openssl.so: dlopen() failed:
libssl_iostream_openssl.so: undefined symbol: connection_is_valid_dns_name

21 months agolib-dcrypt: Build libdcrypt_openssl_static.la
Timo Sirainen [Fri, 6 Sep 2024 10:23:42 +0000 (13:23 +0300)] 
lib-dcrypt: Build libdcrypt_openssl_static.la

21 months agolib-dcrypt: dcrypt-private.h - Fix dependencies when including directly
Timo Sirainen [Fri, 6 Sep 2024 10:23:18 +0000 (13:23 +0300)] 
lib-dcrypt: dcrypt-private.h - Fix dependencies when including directly

21 months agolib: Avoid wrongly thinking time moved forwards for larger ioloop wait times
Timo Sirainen [Thu, 12 Sep 2024 12:39:38 +0000 (15:39 +0300)] 
lib: Avoid wrongly thinking time moved forwards for larger ioloop wait times

21 months agolib: istream-failure-at - Never set readable_fd
Timo Sirainen [Wed, 11 Sep 2024 04:15:11 +0000 (07:15 +0300)] 
lib: istream-failure-at - Never set readable_fd

Otherwise o_stream_send_istream() could bypass istream-failure-at's read()
by using sendfile().

21 months agolib-program-client: test-program-client-unix - Change to NULL initialization
Timo Sirainen [Fri, 6 Sep 2024 10:32:30 +0000 (13:32 +0300)] 
lib-program-client: test-program-client-unix - Change to NULL initialization

This makes scan-build happy.

21 months agologin-common, imap-login: Add proxy_no_multiplex passdb extra field
Timo Sirainen [Fri, 6 Sep 2024 12:08:35 +0000 (15:08 +0300)] 
login-common, imap-login: Add proxy_no_multiplex passdb extra field

21 months agoconfigure: Fix LIBDOVECOT_LUA for static builds
Timo Sirainen [Fri, 6 Sep 2024 07:28:45 +0000 (10:28 +0300)] 
configure: Fix LIBDOVECOT_LUA for static builds

21 months agolib-lua: Build also libdlua.la
Timo Sirainen [Fri, 6 Sep 2024 07:22:20 +0000 (10:22 +0300)] 
lib-lua: Build also libdlua.la

This can be used for static linking.

21 months agoglobal: Makefile.am - Use LIBDOVECOT* variables where possible
Timo Sirainen [Fri, 6 Sep 2024 07:18:55 +0000 (10:18 +0300)] 
global: Makefile.am - Use LIBDOVECOT* variables where possible

It behaves differently when using static linking.

21 months agolib-dict-backend: Makefile.am - Use BUILT_SOURCES instead of rm in distclean hook
Timo Sirainen [Fri, 6 Sep 2024 06:50:12 +0000 (09:50 +0300)] 
lib-dict-backend: Makefile.am - Use BUILT_SOURCES instead of rm in distclean hook

21 months agodovecot-config: Add LIBDOVECOT_OPENSSL[_DEPS]
Timo Sirainen [Thu, 5 Sep 2024 16:03:44 +0000 (19:03 +0300)] 
dovecot-config: Add LIBDOVECOT_OPENSSL[_DEPS]

This is usable only when linking statically.

This change also removes LIBDOVECOT_SSL[_DEPS], which weren't used for anything.

21 months agostats: Change discrete modifiers to be %variables
Timo Sirainen [Tue, 3 Sep 2024 07:09:41 +0000 (10:09 +0300)] 
stats: Change discrete modifiers to be %variables

%{value} and %{domain} variables can be used.

21 months agostats: Fix group_by discrete modifiers to actually work
Timo Sirainen [Mon, 2 Sep 2024 20:44:01 +0000 (23:44 +0300)] 
stats: Fix group_by discrete modifiers to actually work

21 months agostats: Move label_by_mod_str()
Timo Sirainen [Mon, 2 Sep 2024 20:43:17 +0000 (23:43 +0300)] 
stats: Move label_by_mod_str()

21 months agopop3: Logout format specifier 'u' is always empty
Aki Tuomi [Thu, 29 Aug 2024 10:32:07 +0000 (13:32 +0300)] 
pop3: Logout format specifier 'u' is always empty

Due to mistake in var_get_key() invocation, if 'u' key is used
the value is never populated. Call var_get_get_key() with correct
short char.

Broken in acfda38b75d0f0e899ef692fef01593bd56ed85e

21 months agoconfigure.ac: Fix wrong capability name
Aki Tuomi [Tue, 27 Aug 2024 10:05:09 +0000 (13:05 +0300)] 
configure.ac: Fix wrong capability name

21 months agolib-http: Move conn_type default value to switch block
Aki Tuomi [Tue, 27 Aug 2024 04:59:31 +0000 (07:59 +0300)] 
lib-http: Move conn_type default value to switch block

21 months agolib-program-client: Change to NULL initialization in test_program_input()
Aki Tuomi [Tue, 27 Aug 2024 04:58:36 +0000 (07:58 +0300)] 
lib-program-client: Change to NULL initialization in test_program_input()

21 months agovar-expand-crypt: Change to NULL initialization
Aki Tuomi [Tue, 27 Aug 2024 04:57:29 +0000 (07:57 +0300)] 
var-expand-crypt: Change to NULL initialization

Found by static analysis

21 months agolib-dcrypt: Ensure pkey is loaded from point or bn
Aki Tuomi [Tue, 27 Aug 2024 04:56:08 +0000 (07:56 +0300)] 
lib-dcrypt: Ensure pkey is loaded from point or bn

21 months agodovecot-config: Add DOVECOT_PRO_BUILD variable
Aki Tuomi [Mon, 26 Aug 2024 12:28:19 +0000 (15:28 +0300)] 
dovecot-config: Add DOVECOT_PRO_BUILD variable

21 months agoconfigure: Use https for support URL
Aki Tuomi [Mon, 26 Aug 2024 12:20:35 +0000 (15:20 +0300)] 
configure: Use https for support URL

21 months agoconfigure: Fix asset URL to be version specific
Aki Tuomi [Mon, 26 Aug 2024 12:20:07 +0000 (15:20 +0300)] 
configure: Fix asset URL to be version specific

21 months agolib-dict: dict_have_async_operations() - Ignore non-committed transactions
Timo Sirainen [Mon, 26 Aug 2024 12:30:02 +0000 (15:30 +0300)] 
lib-dict: dict_have_async_operations() - Ignore non-committed transactions

If the transaction isn't committed, it can't be waited on.

22 months agolib: events - Fix negative integer fields
Timo Sirainen [Fri, 23 Aug 2024 10:52:52 +0000 (13:52 +0300)] 
lib: events - Fix negative integer fields

22 months agolib-lua: http - Fix parent_event setting
Timo Sirainen [Thu, 22 Aug 2024 14:20:44 +0000 (17:20 +0300)] 
lib-lua: http - Fix parent_event setting

Broken by 85449f6a6cf3f0df1d63728ab107413436595b49

22 months agolib-lua: dlua_check_event() - Fix calling with negative arg
Timo Sirainen [Thu, 22 Aug 2024 14:20:30 +0000 (17:20 +0300)] 
lib-lua: dlua_check_event() - Fix calling with negative arg

22 months agolib-sql: cassandra - Remove ssl_verify=cert-dns
Timo Sirainen [Thu, 22 Aug 2024 09:29:54 +0000 (12:29 +0300)] 
lib-sql: cassandra - Remove ssl_verify=cert-dns

This has been deprecated by Cassandra, because it's vulnerable to MITM
attacks.

22 months agolib: ostream-file - Fix writing over IOV_MAX iovecs at a time
Timo Sirainen [Mon, 19 Aug 2024 07:49:14 +0000 (10:49 +0300)] 
lib: ostream-file - Fix writing over IOV_MAX iovecs at a time

The output offset became wrong, which either corrupted the written file, or
caused lseek() errors for non-seekable output streams.

This was likely a visible problem only with ostream-dot, used by doveadm
proxying and lib-smtp.

22 months agodoveadm: auth test/login - Print internal failures to stderr
Timo Sirainen [Wed, 14 Aug 2024 10:20:19 +0000 (13:20 +0300)] 
doveadm: auth test/login - Print internal failures to stderr

22 months agodoveadm: auth test/login - Return EX_TEMPFAIL on internal failures
Timo Sirainen [Wed, 14 Aug 2024 10:14:06 +0000 (13:14 +0300)] 
doveadm: auth test/login - Return EX_TEMPFAIL on internal failures

Previously EX_NOPERM was returned, which was the same as for invalid
passwords.

22 months agoauth: Add auth_internal_failure_delay setting
Timo Sirainen [Wed, 14 Aug 2024 10:11:10 +0000 (13:11 +0300)] 
auth: Add auth_internal_failure_delay setting

When >0, delay before sending "internal failure" replies to auth clients.
The idea is to prevent clients from hammering the server with immediate
retries. Also, a random 0..50% extra delay is added on top of this delay
to try to prevent thundering herd issues.

22 months agoauth: auth_request_handle_passdb_callback() - Change return type to int
Timo Sirainen [Wed, 14 Aug 2024 08:49:38 +0000 (11:49 +0300)] 
auth: auth_request_handle_passdb_callback() - Change return type to int

This is needed by the next commit.

22 months agolib-imap-client: Fix IDLE timeout leak / crash
Timo Sirainen [Tue, 20 Aug 2024 06:45:46 +0000 (09:45 +0300)] 
lib-imap-client: Fix IDLE timeout leak / crash

22 months agologin-commmon: Add connection_limit reason for login_aborted
Timo Sirainen [Fri, 9 Aug 2024 07:38:46 +0000 (10:38 +0300)] 
login-commmon: Add connection_limit reason for login_aborted

When mail_max_userip_connections is reached, log it with connection_limit
reason rather than internal_failure.

22 months agolib-smtp: Replace "Aborted login by logging out" with "Logged out"
Timo Sirainen [Fri, 9 Aug 2024 07:19:16 +0000 (10:19 +0300)] 
lib-smtp: Replace "Aborted login by logging out" with "Logged out"

Similar to the login-common change, this also now shows up in logs as:
"Login aborted: Logged out"

22 months agologin-common: Replace "Aborted login by logging out" with "Logged out"
Timo Sirainen [Fri, 9 Aug 2024 06:58:32 +0000 (09:58 +0300)] 
login-common: Replace "Aborted login by logging out" with "Logged out"

With the new prefix change the old message became redundant. The full new
log message is: "Login aborted: Logged out"

22 months agologin-common: Add the event reason code to "Login aborted" log lines
Timo Sirainen [Fri, 9 Aug 2024 06:43:06 +0000 (09:43 +0300)] 
login-common: Add the event reason code to "Login aborted" log lines

This makes it easier to search the logs for the wanted errors.

22 months agologin-common: Log aborted logins with "Login aborted" prefix rather than "Disconnected"
Timo Sirainen [Fri, 9 Aug 2024 06:37:13 +0000 (09:37 +0300)] 
login-common: Log aborted logins with "Login aborted" prefix rather than "Disconnected"

This makes it easier to search the logs for login failures without seeing
post-login disconnections.

22 months agologin-common, submission-login: Simplify code whether to add Disconnected prefix
Timo Sirainen [Fri, 9 Aug 2024 06:35:22 +0000 (09:35 +0300)] 
login-common, submission-login: Simplify code whether to add Disconnected prefix

The logic was the same for all callers: Add the prefix only if the user
hadn't successfully logged in yet.

22 months agologin-common: Change "Login" log lines to "Logged in"
Timo Sirainen [Fri, 9 Aug 2024 06:24:53 +0000 (09:24 +0300)] 
login-common: Change "Login" log lines to "Logged in"

Previously it wasn't possible to search (with e.g. graylog) all lines from
login processes except the successful logins, because "NOT Login" would
still match e.g. "imap-login" prefix itself. Now it can work with
"NOT Logged".

22 months agoquota: Fix event/memory leak on invalid values for some quota settings
Timo Sirainen [Fri, 16 Aug 2024 07:36:33 +0000 (10:36 +0300)] 
quota: Fix event/memory leak on invalid values for some quota settings

22 months agoconfig: doveconf without parameters now outputs the same as -n
Timo Sirainen [Tue, 13 Aug 2024 06:45:40 +0000 (09:45 +0300)] 
config: doveconf without parameters now outputs the same as -n

The old behavior was the same as the -a parameter. The old behavior is
preserved when doveconf is given a setting name as parameter, so its
value is output regardless of whether it's the default value or not.

22 months agolib-mail: message-parser - Limit headers total count to 50MB by default
Marco Bettini [Wed, 24 Apr 2024 10:45:46 +0000 (10:45 +0000)] 
lib-mail: message-parser - Limit headers total count to 50MB by default

(including top headers and all mime-sections headers)

22 months agolib-mail: message-header-parser - Limit header block to 10MB by default
Marco Bettini [Fri, 12 Apr 2024 15:06:43 +0000 (15:06 +0000)] 
lib-mail: message-header-parser - Limit header block to 10MB by default

22 months agolib-mail, lib-imap: Optimize parsing large number of address headers
Timo Sirainen [Thu, 8 Feb 2024 22:57:12 +0000 (00:57 +0200)] 
lib-mail, lib-imap: Optimize parsing large number of address headers

Every header was appended to a linked list by walking through the whole
list, causing excessive CPU usage when the list became large enough.
Fixed by changing struct message_part_envelope to use struct
message_address_list, which stores also linked list tail pointers. This
allows quickly appending to the end of the linked list.

22 months agolib-mail: Add message_address_parse_full() and struct message_address_list
Timo Sirainen [Tue, 30 Jan 2024 20:17:38 +0000 (22:17 +0200)] 
lib-mail: Add message_address_parse_full() and struct message_address_list

22 months agolib-mail: Change message_address to be doubly linked list
Timo Sirainen [Sat, 3 Feb 2024 22:26:57 +0000 (00:26 +0200)] 
lib-mail: Change message_address to be doubly linked list

22 months agolib-mail: test-imap-envelope - Use test_assert_idx() where possible
Timo Sirainen [Tue, 30 Jan 2024 20:42:50 +0000 (22:42 +0200)] 
lib-mail: test-imap-envelope - Use test_assert_idx() where possible

22 months agolib: Add DLLIST2_JOIN()
Timo Sirainen [Thu, 8 Feb 2024 22:33:00 +0000 (00:33 +0200)] 
lib: Add DLLIST2_JOIN()

22 months agolib: test-llist - Fix dllist2 test name
Timo Sirainen [Thu, 8 Feb 2024 22:32:39 +0000 (00:32 +0200)] 
lib: test-llist - Fix dllist2 test name

22 months agolib-lua: Actually get proxy_url from Lua
Aki Tuomi [Wed, 14 Aug 2024 07:16:11 +0000 (10:16 +0300)] 
lib-lua: Actually get proxy_url from Lua

Broken in 85449f6a6cf3f0df1d63728ab107413436595b49

22 months agolib-lua: Ensure invalid settings are caught in HTTP client initialization
Aki Tuomi [Sat, 10 Aug 2024 21:47:17 +0000 (00:47 +0300)] 
lib-lua: Ensure invalid settings are caught in HTTP client initialization

22 months agolib-storage: Fix settings leak when mailbox list iteration fails in settings lookup
Timo Sirainen [Mon, 12 Aug 2024 04:18:31 +0000 (07:18 +0300)] 
lib-storage: Fix settings leak when mailbox list iteration fails in settings lookup

Broken by 48df71ee56482db1d2631f6b34fabbb434563545

22 months agolib-dcrypt, lib-ssl-iostream: Don't use strerror() when OpenSSL error queue is empty
Timo Sirainen [Thu, 8 Aug 2024 13:05:54 +0000 (16:05 +0300)] 
lib-dcrypt, lib-ssl-iostream: Don't use strerror() when OpenSSL error queue is empty

This shouldn't be necessary, and there is no guarantee that the current
errno value has anything to do with what had failed.

22 months agolib-dcrypt: dcrypt_ctx_hmac_init() - Clean up properly in error code paths
Timo Sirainen [Thu, 8 Aug 2024 20:42:48 +0000 (23:42 +0300)] 
lib-dcrypt: dcrypt_ctx_hmac_init() - Clean up properly in error code paths

22 months agolib-dcrypt: dcrypt_ctx_hmac_destroy() - Fix memory leak with OpenSSL 3
Timo Sirainen [Thu, 8 Aug 2024 20:40:00 +0000 (23:40 +0300)] 
lib-dcrypt: dcrypt_ctx_hmac_destroy() - Fix memory leak with OpenSSL 3

22 months agoquota: Fix detecting invalid quota_mailbox_message_count value
Timo Sirainen [Fri, 2 Aug 2024 08:57:29 +0000 (11:57 +0300)] 
quota: Fix detecting invalid quota_mailbox_message_count value

22 months agolib-dcrypt: ostream-encrypt - Fix dcrypt_ctx_hmac_init() error handling
Timo Sirainen [Fri, 2 Aug 2024 11:18:13 +0000 (14:18 +0300)] 
lib-dcrypt: ostream-encrypt - Fix dcrypt_ctx_hmac_init() error handling