]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Wed, 1 Oct 2025 06:59:13 +0000 (09:59 +0300)]
doveadm: test-doveadm-util - Remove duplicate symbol
5beff56913f57c42597687e871109e095738946c changed the tests to be linked to
libmaster, which added this duplication.
Timo Sirainen [Wed, 1 Oct 2025 06:54:11 +0000 (09:54 +0300)]
lib-auth-client: Link tests to all library dependencies
Now that test-auth-master links to libmaster, remove duplicate symbols from
it. And since it's now using the real master_service_is_killed(),
master_service must be non-NULL.
Timo Sirainen [Wed, 1 Oct 2025 06:53:41 +0000 (09:53 +0300)]
lib-auth: Link libauth to libotp dependency
Timo Sirainen [Fri, 12 May 2023 15:50:19 +0000 (18:50 +0300)]
lib-storage: Don't try to add attachment flags for readonly mailboxes
Timo Sirainen [Fri, 12 May 2023 15:48:58 +0000 (18:48 +0300)]
lib-storage: Fix mail_attachment_detection_options=no-flags-on-fetch
The attachment flag was still added if message body was parsed.
Timo Sirainen [Fri, 1 Oct 2021 11:40:32 +0000 (14:40 +0300)]
lib-storage: Don't ignore mailbox list index refresh error when updating STATUS info
Timo Sirainen [Fri, 1 Oct 2021 11:40:00 +0000 (14:40 +0300)]
lib-storage: mailbox_list_index_refresh() - Don't skip refresh if index opening failed
Timo Sirainen [Fri, 31 Mar 2023 12:32:17 +0000 (15:32 +0300)]
lib-master: Assert-crash if master_service_init_log*() is called before master_getopt()
This makes sure that -L parameter will work for all services.
Timo Sirainen [Fri, 31 Mar 2023 12:30:59 +0000 (15:30 +0300)]
auth, *-login: Fix using -L parameter to log directly
Timo Sirainen [Mon, 29 Sep 2025 12:06:41 +0000 (15:06 +0300)]
lib-settings: Don't add proxy_session_established to @metric_defaults/proxy until dovecot_config_version is changed
Timo Sirainen [Mon, 29 Sep 2025 11:10:53 +0000 (14:10 +0300)]
config: Support settings change tracking for named list filters
Timo Sirainen [Mon, 29 Sep 2025 11:09:42 +0000 (14:09 +0300)]
config: Assume dovecot_config_version=0.0.0 is the same as the latest version
It's used for git builds.
Timo Sirainen [Thu, 25 Sep 2025 11:47:01 +0000 (14:47 +0300)]
imap: LSUB - Hide MAILBOX_NOSELECT flag if returned by mailbox listing
Timo Sirainen [Thu, 25 Sep 2025 09:19:43 +0000 (12:19 +0300)]
lib-storage: Fix children flags when listing mailbox subscriptions with nonexistent mailboxes
Timo Sirainen [Thu, 25 Sep 2025 08:36:46 +0000 (11:36 +0300)]
lib-storage: Fix subscription listing showing parent namespace prefix
If e.g. shared/user/box was subscribed, LSUB "" % didn't list shared
namespace prefix.
Timo Sirainen [Thu, 25 Sep 2025 08:01:56 +0000 (11:01 +0300)]
lib-storage: Subscription notifications - Fix crash if initial subscription refresh failed
Timo Sirainen [Thu, 25 Sep 2025 07:55:58 +0000 (10:55 +0300)]
lib-storage: Remove unused mailbox_list_set_subscription_flags()
Timo Sirainen [Thu, 11 Sep 2025 15:52:45 +0000 (18:52 +0300)]
acl: Fix potential crash when listing shared mailbox subscriptions
This code is obsolete now that subscriptions handling was moved to
lib-storage.
Using IMAP LIST (SUBSCRIBED) resulted in a crash:
Panic: file acl-mailbox-list.c: line 384 (acl_mailbox_list_info_is_visible): assertion failed: ((info->flags & PRESERVE_MAILBOX_FLAGS) != 0)
Timo Sirainen [Thu, 25 Sep 2025 07:41:49 +0000 (10:41 +0300)]
lib-storage: Fix subscription listing hiding public/shared namespace prefixes
Timo Sirainen [Thu, 25 Sep 2025 07:40:40 +0000 (10:40 +0300)]
lib-storage: mailbox_list_ns_prefix_return() - Move subscription checks to be last
This will be needed by the following changes.
Timo Sirainen [Thu, 11 Sep 2025 19:00:30 +0000 (22:00 +0300)]
lib-storage, acl: Move hiding non-listable public/shared mailboxes to lib-storage
The subscriptions handling is now in lib-storage code, and ACL code doesn't
know about it. Change this so that if public/shared namespace has
subscriptions=yes (i.e. shared across all users), any nonexistent mailboxes'
subscriptions are hidden. This assumes that the user doesn't have enough
ACL rights to list the mailboxes, so they also don't want subscriptions for
them.
Timo Sirainen [Wed, 24 Sep 2025 14:13:27 +0000 (17:13 +0300)]
lib-storage: mailbox_list_iter_update() - Don't set mailbox list children-flags
Especially when it's used with subscriptions, the existence of subscription
tree nodes has nothing to do with whether the nodes contain existing
mailboxes.
Timo Sirainen [Thu, 25 Sep 2025 10:22:27 +0000 (13:22 +0300)]
imapc: Set children-flags manually using the mailbox list output
Timo Sirainen [Thu, 11 Sep 2025 18:37:38 +0000 (21:37 +0300)]
lib-storage: Fix subscription refresh when it autocreates a namespace
If there's a shared/user/foo subscription, it might create shared/user/
namespace. In that case the subscription should go to shared/user/
namespace, not shared/.
Timo Sirainen [Wed, 24 Sep 2025 14:12:32 +0000 (17:12 +0300)]
lib-storage: mailbox_list_subscriptions_fill() - Remove unused default_nonexistent parameter
Timo Sirainen [Wed, 24 Sep 2025 11:21:51 +0000 (14:21 +0300)]
lib-storage: Remove unused struct mailbox_list_iter_update_context.update_only
It was always FALSE.
Timo Sirainen [Thu, 25 Sep 2025 11:46:04 +0000 (14:46 +0300)]
lib-storage: Fix listing nonexistent subscriptions with children
If both A and A/B were subscribed, but nonexistent, the A/B listing marked A
as having been listed already, so it wasn't returned.
Timo Sirainen [Thu, 25 Sep 2025 11:45:17 +0000 (14:45 +0300)]
lib-storage: fs layout listing - Don't return both MAILBOX_SELECT and MAILBOX_NOSELECT flags
Timo Sirainen [Fri, 26 Sep 2025 11:39:51 +0000 (14:39 +0300)]
lib-storage: Send mail_opened event only once per mail
The first time mail is opened it is read into cache, while the following
reads are likely to be using the cache. Sending a mail_opened event for the
following reads just confuses statistics.
Timo Sirainen [Mon, 29 Sep 2025 09:12:36 +0000 (12:12 +0300)]
lib-settings: Change v3.1.1 default settings to v3.2.0
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)