]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
8 months agolib-sql: cassandra - Add data stack frame
Timo Sirainen [Thu, 5 Dec 2024 08:45:11 +0000 (10:45 +0200)] 
lib-sql: cassandra - Add data stack frame

8 months agolib-fs: Add fs_get_root_fs()
Timo Sirainen [Wed, 4 Dec 2024 11:51:47 +0000 (13:51 +0200)] 
lib-fs: Add fs_get_root_fs()

8 months agodoveadm auth: Fix potential crash when auth is aborted with a signal
Timo Sirainen [Thu, 5 Dec 2024 18:23:28 +0000 (20:23 +0200)] 
doveadm auth: Fix potential crash when auth is aborted with a signal

8 months agodict-ldap: Avoid linking to a dovecot-ldap shared library
Timo Sirainen [Mon, 2 Dec 2024 10:11:48 +0000 (12:11 +0200)] 
dict-ldap: Avoid linking to a dovecot-ldap shared library

The dict-ldap itself is the plugin, which is dynamically loaded.
There's no need for dovecot-ldap shared library to be used. This
changes the lib-ldap linking behavior to same as lib-sql.

8 months agolib-dns: dnc_client_lookup*() - Add data stack frames
Timo Sirainen [Mon, 2 Dec 2024 22:11:41 +0000 (00:11 +0200)] 
lib-dns: dnc_client_lookup*() - Add data stack frames

8 months agodoveadm: Use a separate memory pool for parsing doveadm command line parameters
Timo Sirainen [Mon, 2 Dec 2024 22:10:06 +0000 (00:10 +0200)] 
doveadm: Use a separate memory pool for parsing doveadm command line parameters

This avoids spending a lot of the data stack for the actual command
processing, causing them to grow the data stack.

8 months agodoc: Replace html documentation with redirect to documentation
Aki Tuomi [Fri, 29 Nov 2024 10:41:06 +0000 (12:41 +0200)] 
doc: Replace html documentation with redirect to documentation

8 months agoNEWS: Add news for 2.3.21.1
Aki Tuomi [Thu, 8 Aug 2024 12:13:19 +0000 (15:13 +0300)] 
NEWS: Add news for 2.3.21.1

9 months agolib-http: Add http_client_request_retrieve_headers()
Vincent Kenbeek [Thu, 10 Oct 2024 09:38:56 +0000 (11:38 +0200)] 
lib-http: Add http_client_request_retrieve_headers()

9 months agolib-sql: Link test binaries to libdovecot.la
Aki Tuomi [Thu, 28 Nov 2024 07:33:05 +0000 (09:33 +0200)] 
lib-sql: Link test binaries to libdovecot.la

Otherwise it tries to use installed one, if available.

9 months agoconfigure: Use $SED and $GREP to make sure we get correct tools
Aki Tuomi [Thu, 28 Nov 2024 07:14:48 +0000 (09:14 +0200)] 
configure: Use $SED and $GREP to make sure we get correct tools

9 months agoimap: Don't try to hibernate if it's not enabled
Aki Tuomi [Thu, 28 Nov 2024 07:53:22 +0000 (09:53 +0200)] 
imap: Don't try to hibernate if it's not enabled

9 months agoimap-hibernate: If not enabled, do not include in settings either
Kirill A. Korinsky [Thu, 26 Sep 2024 20:08:47 +0000 (22:08 +0200)] 
imap-hibernate: If not enabled, do not include in settings either

9 months agonet: net_connect_ip*() - Handle OpenBSD errors similarly to FreeBSD
Kirill A. Korinsky [Sun, 13 Oct 2024 09:07:00 +0000 (11:07 +0200)] 
net: net_connect_ip*() - Handle OpenBSD errors similarly to FreeBSD

9 months agoauth: Replace random() with proper i_rand_minmax()
Aki Tuomi [Wed, 27 Nov 2024 07:04:36 +0000 (09:04 +0200)] 
auth: Replace random() with proper i_rand_minmax()

9 months agodsync: Use correct format for time_t in dsync_brain_recv_mailbox_tree_deletes()
Aki Tuomi [Wed, 27 Nov 2024 07:04:22 +0000 (09:04 +0200)] 
dsync: Use correct format for time_t in dsync_brain_recv_mailbox_tree_deletes()

9 months agoconfigure: Split grep into multiple -e expressions
Aki Tuomi [Tue, 26 Nov 2024 20:44:35 +0000 (22:44 +0200)] 
configure: Split grep into multiple -e expressions

This is more portable.

9 months agolib-ssl-iostream,lib-dcrypt: Raise minimum OpenSSL compatibility level to 1.1.1
Aki Tuomi [Tue, 26 Nov 2024 12:32:08 +0000 (14:32 +0200)] 
lib-ssl-iostream,lib-dcrypt: Raise minimum OpenSSL compatibility level to 1.1.1

But retain compatibility with LibreSSL.

9 months agolib: mkdir_parents() - Avoid unnecessary syscalls when uid/gid doesn't change
Timo Sirainen [Tue, 26 Nov 2024 20:35:02 +0000 (22:35 +0200)] 
lib: mkdir_parents() - Avoid unnecessary syscalls when uid/gid doesn't change

There's no need to open() + fchown() the directory after mkdir(), if neither
uid nor gid changes.

9 months agolib-settings: Fix variable type mismatches
Timo Sirainen [Tue, 26 Nov 2024 14:57:01 +0000 (16:57 +0200)] 
lib-settings: Fix variable type mismatches

Just use size_t everywhere since it points to mmap()ed memory.

9 months agoauth: Fix userdb auth cache with username changes
Timo Sirainen [Thu, 21 Nov 2024 10:23:46 +0000 (12:23 +0200)] 
auth: Fix userdb auth cache with username changes

The problem was for example when userdb lookup uses only the username part
of the username@domain lookup. Then:

 * "username" lookup caches the results for "username". Since the username
   didn't change, it doesn't store in the cache the "user" field.
 * "username@domain" lookup looks up "username" from cache. Since there is
   no "user" field, the code didn't think the username had changed.

Fix this by saving the "user" field to auth cache, regardless of whether
it's the same as the current username.

9 months agomdbox: Fix crash if resync fails because of an early failure
Timo Sirainen [Wed, 20 Nov 2024 13:16:00 +0000 (15:16 +0200)] 
mdbox: Fix crash if resync fails because of an early failure

This mainly happened if dovecot.map.index.log was locked and resync timed
out waiting for it.

9 months agolib-lua: test-lua-http-client - Prevent HTTP client context from traversing fork
Stephan Bosch [Tue, 19 Nov 2024 22:21:54 +0000 (23:21 +0100)] 
lib-lua: test-lua-http-client - Prevent HTTP client context from traversing fork

The children will start fighting over the connection FDs and the test will
panic out:

DNS: Panic: epoll_ctl(mod, 8) failed: No such file or directory
CLIENT: Panic: epoll_ctl(mod, 8) failed: No such file or directory

This happens very infrequently.

9 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

9 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.

9 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.

9 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

9 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

9 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

9 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)

10 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

10 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.

10 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.

10 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.

10 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)

10 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.

10 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.

10 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.

10 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()

10 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

10 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.

10 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

10 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

10 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

10 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()

10 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

10 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

10 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

10 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.

10 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

11 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

11 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

11 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

11 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

11 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

11 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.

11 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

11 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

11 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.

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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

11 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().

11 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.

11 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

11 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

11 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.

11 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.

11 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

11 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.

11 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.

11 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

11 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()

12 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

12 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

12 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

12 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()

12 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

12 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

12 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

12 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

12 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

12 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.

12 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

12 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

12 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

12 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.

12 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.

12 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

12 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.

12 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.

12 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.

12 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

12 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.

12 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"