]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Wed, 30 Jul 2025 10:22:41 +0000 (13:22 +0300)]
imap, pop3, submission: Remove non-working environment variable handling
Remove support for IP, LOCAL_IP and CLIENT_INPUT environments. These were
originally used by Dovecot v1.x for passing these fields from master
process. They are no longer useful, and they haven't been working anyway.
Also for imap remove support for IMAPLOGINTAG environment.
Timo Sirainen [Wed, 30 Jul 2025 10:20:23 +0000 (13:20 +0300)]
imap, pop3, submission, imap-urlauth: Fix using USER environment when running standalone
Stephan Bosch [Sun, 8 Nov 2020 09:55:56 +0000 (10:55 +0100)]
lmtp: lmtp-client - Support command pipelining
Stephan Bosch [Mon, 9 Nov 2020 17:07:15 +0000 (18:07 +0100)]
lmtp: lmtp-local - Correctly return -1 in lmtp_local_rcpt() upon quota error
This not extremely important, but original code was confusing.
Stephan Bosch [Wed, 27 Aug 2025 15:03:19 +0000 (17:03 +0200)]
lib-smtp: smtp-server-cmd-data - Properly block pipeline upon final DATA/BDAT command
Never process the next transaction from the input when the current one is not
finished.
Stephan Bosch [Wed, 27 Aug 2025 17:42:15 +0000 (19:42 +0200)]
lib-smtp: smtp-server - Drop smtp_server_reply_early()
Pipeline handling revised in previous commit makes this functionality
superfluous.
Stephan Bosch [Wed, 27 Aug 2025 17:28:53 +0000 (19:28 +0200)]
lib-smtp: smtp-server-connection - Fix handling of data commands blocking the pipeline
Data commands would cause the server to hang upon blocking the pipeline if a
reply was submitted while data was still pending from input.
Stephan Bosch [Wed, 27 Aug 2025 17:27:25 +0000 (19:27 +0200)]
lib-smtp: smtp-command-parser - Allow skipping data from previous command without reading the next
Stephan Bosch [Fri, 26 Sep 2025 01:37:58 +0000 (03:37 +0200)]
lib-smtp: smtp-server-command - Make smtp_server_command_pipeline_(un)block() debug logging consistent
Timo Sirainen [Mon, 22 Sep 2025 09:31:11 +0000 (12:31 +0300)]
config: @metric_defaults=proxy - Add proxy_session_established
This shows post-auth latency for actually logging into backend.
Aki Tuomi [Tue, 23 Sep 2025 09:58:07 +0000 (12:58 +0300)]
lib-var-expand: regex - Support older back references
Timo Sirainen [Tue, 16 Sep 2025 19:13:28 +0000 (22:13 +0300)]
virtual: If index file has UIDs out-of-order, mark the index corrupted
The next open will rebuild the index.
Timo Sirainen [Thu, 11 Sep 2025 12:29:46 +0000 (15:29 +0300)]
auth: passwd-file - Avoid assert-crash when using "=value" or "userdb_=value" extra field
Timo Sirainen [Thu, 11 Sep 2025 12:27:52 +0000 (15:27 +0300)]
auth: ldap - Avoid assert-crash when using %{ldap:} or %{ldap_multi:} with empty attribute name
Timo Sirainen [Thu, 11 Sep 2025 12:25:25 +0000 (15:25 +0300)]
auth: Avoid assert-crash if returning ":default" passdb or userdb extra field
Timo Sirainen [Thu, 11 Sep 2025 12:21:55 +0000 (15:21 +0300)]
auth: auth_request_import() - Avoid crash with "passdb_" or "userdb_" field
Timo Sirainen [Thu, 11 Sep 2025 12:20:26 +0000 (15:20 +0300)]
auth: auth_fields_import_*() - Handle empty key without crashing
Timo Sirainen [Thu, 11 Sep 2025 12:14:16 +0000 (15:14 +0300)]
auth: auth_request_set_userdb_field() - Add assert that name can't be empty
Timo Sirainen [Thu, 18 Sep 2025 19:35:48 +0000 (22:35 +0300)]
acl: Add acl_dict_index setting to rebuild ACL dict without iterating the whole dict
Timo Sirainen [Thu, 18 Sep 2025 20:25:47 +0000 (23:25 +0300)]
acl: struct acl_backend_vfile - Remove unused set
Timo Sirainen [Thu, 11 Sep 2025 08:02:40 +0000 (11:02 +0300)]
lib-auth, auth: Include auth_allow_weak_schemes setting in related log messages
Makes it easier to understand how to change the behavior.
Aki Tuomi [Thu, 11 Sep 2025 07:51:51 +0000 (10:51 +0300)]
plugins/acl: doveadm acl - Fix crash if ACLs not enabled
Ensure ACLs are actually enabled when opening mailbox.
Fixes Panic: Module context acl_storage_module missing
Stephan Bosch [Mon, 8 Sep 2025 03:01:36 +0000 (05:01 +0200)]
auth: mech-winbind - GSS-SPNEGO mechanism is erroneously marked as not accepting NUL
Stephan Bosch [Fri, 5 Sep 2025 14:33:18 +0000 (16:33 +0200)]
lib-http: http-url - Preserve significant path percent encoding through parse and create
Previously, %2f in the path part of the URL was parsed to '/' and not encoded
back to %2f when the (normalized) URL was written back to a string using
http_url_create(). Now, an encoded version of the path is preserved in struct
http_url, so that the distinction between real delimiters and encoded literals
is always preserved.
Aki Tuomi [Thu, 4 Sep 2025 05:46:06 +0000 (08:46 +0300)]
m4: Fix how pcre2_substitute_callout_block is checked
The old way was very wrong
Timo Sirainen [Wed, 3 Sep 2025 13:03:41 +0000 (16:03 +0300)]
doveadm: Clarify "Failed to communicate to doveadm server" error message
Timo Sirainen [Wed, 3 Sep 2025 13:02:02 +0000 (16:02 +0300)]
doveadm: If commands are aborted by signal, log them as "Shutting down"
Timo Sirainen [Wed, 3 Sep 2025 13:00:46 +0000 (16:00 +0300)]
doveadm: Replace master_service_is_killed() calls with doveadm_is_killed()
Timo Sirainen [Wed, 3 Sep 2025 13:00:06 +0000 (16:00 +0300)]
doveadm: Move doveadm_is_killed() to doveadm-util
Timo Sirainen [Wed, 3 Sep 2025 13:57:03 +0000 (16:57 +0300)]
doveadm: Link test programs against the whole libdovecot
Needed for the following commit.
Timo Sirainen [Wed, 3 Sep 2025 12:52:31 +0000 (15:52 +0300)]
doveadm: Fix mail server command failure handling with restart_request_count>1
If communication failed with doveadm server, or there was simply a
redirection, the next doveadm command handled by the process failed as well.
Timo Sirainen [Wed, 3 Sep 2025 12:49:02 +0000 (15:49 +0300)]
doveadm: mail-server - Rename internal_failure to server_connect_failure
This describes it better.
Timo Sirainen [Wed, 3 Sep 2025 10:58:28 +0000 (13:58 +0300)]
doveadm: For Pro edition, default to service_restart_request_count=1000
Michael M Slusarz [Mon, 17 Mar 2025 00:59:38 +0000 (17:59 -0700)]
fts-flatcurve: Ensure that mailbox parameters are always truncated before changing
Timo Sirainen [Wed, 3 Sep 2025 06:59:46 +0000 (09:59 +0300)]
imapc: Fix imapc_features=guid-forced GUID generation
It was supposed to be only from header, but in some situations it included
the body as well.
Timo Sirainen [Tue, 2 Sep 2025 10:28:44 +0000 (13:28 +0300)]
lib-mail: istream-header-filter - Fix potential assert-crash
In some situations multiple snapshots were created, which broke the logic
of using a single snapshot_pending boolean. Changed it to refcount.
Fixes:
Panic: file istream-header-filter.c: line 665 (i_stream_header_filter_snapshot_free): assertion failed: (snapshot->mstream->snapshot_pending)
Aki Tuomi [Mon, 1 Sep 2025 12:21:12 +0000 (15:21 +0300)]
lib-regex: Fail if PCRE2_SUBSTITUTE_LITERAL is not supported by pcre2
Aki Tuomi [Mon, 1 Sep 2025 12:20:48 +0000 (15:20 +0300)]
lib-regex: Only use pcre2_substitute_callout_block() if it's available
Stephan Bosch [Sat, 30 Aug 2025 15:59:20 +0000 (17:59 +0200)]
lib-auth-client: auth-client-request - Fix panic occurring upon channel binding failure
Panic was:
imap-login: Panic: Can't create multiple passthrough events - finish the earlier with ->event()
Stephan Bosch [Fri, 21 Feb 2025 03:13:02 +0000 (04:13 +0100)]
auth: mech-oauth2 - Use lib-auth/auth-gs2
Stephan Bosch [Fri, 21 Feb 2025 03:12:54 +0000 (04:12 +0100)]
lib-sasl: mech-oauthbearer - Use lib-auth/auth-gs2
Stephan Bosch [Fri, 21 Feb 2025 01:14:35 +0000 (02:14 +0100)]
lib-auth: auth-scram-server - Use auth-gs2
Stephan Bosch [Fri, 21 Feb 2025 00:38:36 +0000 (01:38 +0100)]
lib-auth: auth-scram-client - Use auth-gs2
Stephan Bosch [Wed, 8 Mar 2023 20:31:09 +0000 (21:31 +0100)]
lib-auth: Add auth-gs2 API
Stephan Bosch [Fri, 21 Feb 2025 16:54:48 +0000 (17:54 +0100)]
lib-sasl: mech-oauthbearer - Use container_of()
Stephan Bosch [Fri, 21 Feb 2025 16:44:56 +0000 (17:44 +0100)]
auth: mech-oauth2 - Rename continued data to reponse data/payload
Makes more sense in SASL overall
Stephan Bosch [Sat, 22 Feb 2025 21:20:01 +0000 (22:20 +0100)]
auth: mech-oauth2 - Send openid-configuration result field only when available
Stephan Bosch [Mon, 20 Nov 2023 15:53:05 +0000 (16:53 +0100)]
auth: mech-oauth2 - Rework error handling
Treat passdb errors as "invalid_token" and treat request decoding problems as
"invalid_request" status, which makes more sense. Also simplify the overall
structure.
Stephan Bosch [Tue, 31 Oct 2023 16:08:28 +0000 (17:08 +0100)]
auth: mech-oauth2 - Don't send payload for internal error
Stephan Bosch [Fri, 21 Feb 2025 16:19:19 +0000 (17:19 +0100)]
auth: mech-oauth2 - Reorder mechanism functions
Makes more sense this way.
Stephan Bosch [Sun, 4 Aug 2024 21:33:05 +0000 (23:33 +0200)]
auth: mech-oauth2 - Rename oauth2_send_failure() to oauth2_fail()
Makes more sense; it also fails the request.
Stephan Bosch [Sun, 4 Aug 2024 12:59:15 +0000 (14:59 +0200)]
auth: mech-oauth2 - Improve use of json-ostream
Stephan Bosch [Wed, 7 Aug 2024 00:33:20 +0000 (02:33 +0200)]
auth: mech-oauth2 - Use str functions rather than direct access to underlying buffer_t
Stephan Bosch [Sun, 4 Aug 2024 12:51:27 +0000 (14:51 +0200)]
auth: mech-oauth2 - Rename reply buffer in oauth2_send_failure()
Stephan Bosch [Fri, 21 Feb 2025 16:51:35 +0000 (17:51 +0100)]
lib-sasl: Reformat mech-oauthbearer.c
Stephan Bosch [Tue, 7 Mar 2023 13:48:04 +0000 (14:48 +0100)]
auth: Reformat mech-oauth2.c
Timo Sirainen [Mon, 1 Sep 2025 11:14:39 +0000 (14:14 +0300)]
lib: test-istream-multiplex - Fix randomly trying to create 0 length variable array
Fixes:
test-istream-multiplex.c:184:29: runtime error: variable length array bound evaluates to non-positive value 0
Aki Tuomi [Mon, 1 Sep 2025 07:54:08 +0000 (10:54 +0300)]
dovecot-config: Add lib-regex
Marco Bettini [Tue, 26 Aug 2025 14:03:59 +0000 (14:03 +0000)]
fts: Change default fts_search_read_fallback=no for Pro
Karl Fleischmann [Thu, 28 Aug 2025 15:44:03 +0000 (17:44 +0200)]
config: import_environment - Allow spaces in values by separating them with tabs
Karl Fleischmann [Fri, 15 Aug 2025 12:47:59 +0000 (14:47 +0200)]
config: doveconf - Don't store unused import_environment
Karl Fleischmann [Fri, 15 Aug 2025 12:47:28 +0000 (14:47 +0200)]
config: config_connection_request() - Don't store unused import_environment
Marco Bettini [Thu, 28 Aug 2025 15:09:56 +0000 (15:09 +0000)]
acl: Fix crash when group ACLs are used, but user's acl_groups is empty
Aki Tuomi [Fri, 1 Aug 2025 09:20:23 +0000 (12:20 +0300)]
lib: macros - Prevent using libc regex
Aki Tuomi [Fri, 1 Aug 2025 09:17:49 +0000 (12:17 +0300)]
lib-var-expand: Use lib-regex instead of libc regex
Aki Tuomi [Fri, 1 Aug 2025 09:17:36 +0000 (12:17 +0300)]
lib-dovecot: Add lib-regex
Aki Tuomi [Wed, 23 Jul 2025 10:06:43 +0000 (13:06 +0300)]
lib-regex: Add regex matching library
Aki Tuomi [Wed, 23 Jul 2025 08:04:30 +0000 (11:04 +0300)]
autoconf: Add libcpre2 detection
Aki Tuomi [Thu, 28 Aug 2025 09:46:08 +0000 (12:46 +0300)]
lib: macros - Use __typeof__ instead of typeof from C11 onwards
typeof and __typeof__ are not standard until C23, and C11
requires using __typeof__.
Stephan Bosch [Thu, 28 Aug 2025 11:26:13 +0000 (13:26 +0200)]
lib-auth-client: auth-master - Remove useless NULL check in auth_master_connection_output()
Found by Coverity (#41969)
Stephan Bosch [Thu, 28 Aug 2025 11:19:17 +0000 (13:19 +0200)]
lib-auth-client: auth-master - Fix potential segfault in auth_master_wait()
Found by Coverity (#41970).
Stephan Bosch [Thu, 28 Aug 2025 03:26:25 +0000 (05:26 +0200)]
lib-auth-client: test-auth-master - Add tests for parallel requests
Stephan Bosch [Thu, 28 Aug 2025 03:40:09 +0000 (05:40 +0200)]
lib-auth-client: auth-master - Fix handling of parallel replies
Timo Sirainen [Wed, 27 Aug 2025 06:50:05 +0000 (09:50 +0300)]
doveadm: Print table formatter - Print empty values as "-"
It's more readable to see empty values as "-" in a table.
Timo Sirainen [Wed, 27 Aug 2025 06:46:07 +0000 (09:46 +0300)]
doveadm: Add named initializers to print drivers
Stephan Bosch [Wed, 20 Aug 2025 18:43:38 +0000 (20:43 +0200)]
lib-auth-client: auth-master - Improve some of the connection failure messages returned to caller
Stephan Bosch [Sun, 2 Mar 2025 18:32:53 +0000 (19:32 +0100)]
lib-auth-client: auth-master - Drop AUTH_MASTER_FLAG_NO_INNER_IOLOOP flag
It is no longer needed for testing, as async requests can be used instead.
Stephan Bosch [Sun, 2 Mar 2025 18:32:30 +0000 (19:32 +0100)]
lib-auth-client: test-auth-master - Add tests for asynchronous userdb/passdb lookups
Stephan Bosch [Tue, 19 May 2020 09:02:53 +0000 (11:02 +0200)]
lib-auth-client: auth-master - Allocate passdb/userdb lookup structs on default pool
Stephan Bosch [Sat, 3 Mar 2018 00:20:29 +0000 (01:20 +0100)]
lib-auth-client: auth-master - Make asynchronous userdb and passdb lookups available
Stephan Bosch [Mon, 18 May 2020 23:56:31 +0000 (01:56 +0200)]
lib-auth-client: auth-master - Define sub-class structure for userdb lookup
Stephan Bosch [Mon, 18 May 2020 23:52:34 +0000 (01:52 +0200)]
lib-auth-client: auth-master - Split off auth_master_user_lookup_start() from auth_master_user_lookup()
Stephan Bosch [Mon, 18 May 2020 21:57:38 +0000 (23:57 +0200)]
lib-auth-client: auth-master - Split off auth_master_user_lookup_finished() from auth_master_user_lookup()
Stephan Bosch [Mon, 18 May 2020 23:40:25 +0000 (01:40 +0200)]
lib-auth-client: auth-master - Define sub-class structure for passdb lookup
Stephan Bosch [Mon, 18 May 2020 23:29:59 +0000 (01:29 +0200)]
lib-auth-client: auth-master - Split off auth_master_pass_lookup_start() from auth_master_pass_lookup()
Stephan Bosch [Mon, 18 May 2020 21:46:54 +0000 (23:46 +0200)]
lib-auth-client: auth-master - Split off auth_master_pass_lookup_finished() from auth_master_pass_lookup()
Stephan Bosch [Mon, 18 May 2020 21:25:20 +0000 (23:25 +0200)]
lib-auth-client: auth-master - Introduce local variable for result in auth_lookup_reply_callback()
Stephan Bosch [Sun, 11 Mar 2018 23:44:39 +0000 (00:44 +0100)]
lib-auth-client: auth-master - Add internal support for initiating invalid requests
This avoids the need to return a NOTFOUND code at request creation when the
request is already known to fail. This is a means to handle this asynchronously.
Stephan Bosch [Sun, 11 Mar 2018 23:05:09 +0000 (00:05 +0100)]
lib-auth-client: auth-master - Make sending of requests fully asynchronous
Stephan Bosch [Sun, 11 Mar 2018 21:23:57 +0000 (22:23 +0100)]
lib-auth-client: auth-master - Add debug messages
Stephan Bosch [Sun, 11 Mar 2018 18:18:06 +0000 (19:18 +0100)]
lib-auth-client: auth-master - Add support for request destroy callback
Stephan Bosch [Sun, 11 Mar 2018 13:49:50 +0000 (14:49 +0100)]
lib-auth-client: auth-master - Implement auth_master_wait()
This allows waiting until all submitted requests are finished.
Stephan Bosch [Sat, 7 May 2016 12:53:29 +0000 (14:53 +0200)]
lib-auth-client: auth-master - Make request reply handling asynchronous
Stephan Bosch [Wed, 3 Jun 2020 19:59:14 +0000 (21:59 +0200)]
lib-auth-client: auth-master-request - Use request struct as argument for auth_master_request_send()
Stephan Bosch [Wed, 3 Jun 2020 18:29:41 +0000 (20:29 +0200)]
lib-auth-client: auth-master - Use new struct auth_master_request for request handling
Stephan Bosch [Sat, 23 Jul 2022 23:29:18 +0000 (01:29 +0200)]
lib-auth-client: auth-master - Allow duplicate calls to auth_master_unset_io()
Stephan Bosch [Wed, 3 Jun 2020 10:42:42 +0000 (12:42 +0200)]
lib-auth-client: auth-master - Handle connection failures in auth_master_connection_failure()
Stephan Bosch [Wed, 3 Jun 2020 10:08:48 +0000 (12:08 +0200)]
lib-auth-client: auth-master - Improve debug logging in auth_lookup_reply_callback()
Stephan Bosch [Sat, 5 Jan 2019 14:08:59 +0000 (15:08 +0100)]
lib-auth-client: auth-master - Compose command line at a single location
Stephan Bosch [Wed, 3 Jun 2020 08:53:43 +0000 (10:53 +0200)]
lib-auth-client: auth-master - Drop unnecessary and confusing additional connection events
Only use conn->conn.event instead.