]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
2 months agoauth: Rename non-standard SASL mech-* source files to auth-sasl-mech-*
Stephan Bosch [Thu, 5 Oct 2023 17:03:36 +0000 (19:03 +0200)] 
auth: Rename non-standard SASL mech-* source files to auth-sasl-mech-*

2 months agoauth: Rename standard SASL mech-* source files to sasl-server-mech-*
Stephan Bosch [Fri, 3 Mar 2023 22:45:01 +0000 (23:45 +0100)] 
auth: Rename standard SASL mech-* source files to sasl-server-mech-*

2 months agoauth: Use designated initializers in mech-*
Stephan Bosch [Fri, 3 Mar 2023 22:45:43 +0000 (23:45 +0100)] 
auth: Use designated initializers in mech-*

2 months agoauth: auth-sasl - Add auth_sasl_ prefix to newly copied mechanism code
Stephan Bosch [Sat, 18 Mar 2023 14:12:14 +0000 (15:12 +0100)] 
auth: auth-sasl - Add auth_sasl_ prefix to newly copied mechanism code

Now the naming conflict is gone and it is added to the build of the auth service.

2 months agoauth: auth-sasl - Drop copied unused mechanism module fields
Stephan Bosch [Sat, 18 Mar 2023 14:29:39 +0000 (15:29 +0100)] 
auth: auth-sasl - Drop copied unused mechanism module fields

Others will replace these in later commits.

2 months agoauth: auth-sasl - Some minor formatting changes
Stephan Bosch [Sat, 28 Oct 2023 06:25:57 +0000 (08:25 +0200)] 
auth: auth-sasl - Some minor formatting changes

2 months agoauth: auth-sasl - Copy global mechanism registration code from mech.c
Stephan Bosch [Sat, 18 Mar 2023 14:07:28 +0000 (15:07 +0100)] 
auth: auth-sasl - Copy global mechanism registration code from mech.c

2 months agoauth: mech-digest-md5 - Refactor mech_digest_md5_auth_continue()
Stephan Bosch [Sun, 5 Oct 2025 05:04:32 +0000 (07:04 +0200)] 
auth: mech-digest-md5 - Refactor mech_digest_md5_auth_continue()

2 months agoauth: mech-digest-md5 - Handle authentication result in verify_credentials()
Stephan Bosch [Sat, 4 Oct 2025 23:34:37 +0000 (01:34 +0200)] 
auth: mech-digest-md5 - Handle authentication result in verify_credentials()

2 months agoauth: mech-cram-md5 - Log parse errors directly
Stephan Bosch [Sat, 4 Oct 2025 22:27:01 +0000 (00:27 +0200)] 
auth: mech-cram-md5 - Log parse errors directly

2 months agoauth: mech-cram-md5 - Refactor mech_cram_md5_auth_continue()
Stephan Bosch [Sat, 4 Oct 2025 22:24:00 +0000 (00:24 +0200)] 
auth: mech-cram-md5 - Refactor mech_cram_md5_auth_continue()

2 months agoauth: mech-cram-md5 - Handle authentication result in verify_credentials()
Stephan Bosch [Sat, 4 Oct 2025 20:48:26 +0000 (22:48 +0200)] 
auth: mech-cram-md5 - Handle authentication result in verify_credentials()

2 months agoauth: mech-cram-md5 - Make struct auth_request available in verify_credentials()
Stephan Bosch [Sat, 4 Oct 2025 21:06:26 +0000 (23:06 +0200)] 
auth: mech-cram-md5 - Make struct auth_request available in verify_credentials()

2 months agoauth: mech-otp - Don't log client protocol violations as errors
Stephan Bosch [Sat, 4 Oct 2025 20:20:55 +0000 (22:20 +0200)] 
auth: mech-otp - Don't log client protocol violations as errors

2 months agoauth: mech-winbind - Remove useless pool field in struct winbind_auth_request
Stephan Bosch [Sun, 29 Oct 2023 13:23:03 +0000 (14:23 +0100)] 
auth: mech-winbind - Remove useless pool field in struct winbind_auth_request

2 months agoauth: mech-winbind - Use container_of()
Stephan Bosch [Sun, 31 Aug 2025 19:50:11 +0000 (21:50 +0200)] 
auth: mech-winbind - Use container_of()

2 months agoauth: mech-winbind - Change do_auth_continue() to use struct winbind_auth_request...
Stephan Bosch [Sun, 31 Aug 2025 19:52:19 +0000 (21:52 +0200)] 
auth: mech-winbind - Change do_auth_continue() to use struct winbind_auth_request directly

2 months agoauth: mech-scram - Remove pool field from mechanism request struct
Stephan Bosch [Sun, 5 Mar 2023 16:08:06 +0000 (17:08 +0100)] 
auth: mech-scram - Remove pool field from mechanism request struct

2 months agoauth: mech-scram - Remove unused definition
Stephan Bosch [Thu, 23 Mar 2023 00:00:06 +0000 (01:00 +0100)] 
auth: mech-scram - Remove unused definition

2 months agoauth: mech-otp - Remove pool field from mechanism request struct
Stephan Bosch [Sun, 5 Mar 2023 16:06:02 +0000 (17:06 +0100)] 
auth: mech-otp - Remove pool field from mechanism request struct

2 months agoauth: mech-gssapi - Remove pool field from mechanism request struct
Stephan Bosch [Sun, 5 Mar 2023 16:02:49 +0000 (17:02 +0100)] 
auth: mech-gssapi - Remove pool field from mechanism request struct

2 months agoauth: mech-digest-md5 - Remove pool field from mechanism request struct
Stephan Bosch [Sun, 5 Mar 2023 15:58:40 +0000 (16:58 +0100)] 
auth: mech-digest-md5 - Remove pool field from mechanism request struct

2 months agoauth: mech-cram-md5 - Remove pool field from mechanism request struct
Stephan Bosch [Sun, 5 Mar 2023 15:51:52 +0000 (16:51 +0100)] 
auth: mech-cram-md5 - Remove pool field from mechanism request struct

2 months agoauth: mech-gssapi - Add local variables for struct auth_request
Stephan Bosch [Tue, 7 Mar 2023 21:00:02 +0000 (22:00 +0100)] 
auth: mech-gssapi - Add local variables for struct auth_request

2 months agoauth: mech-gssapi - Make request struct usage and naming consistent
Stephan Bosch [Sun, 5 Mar 2023 05:36:47 +0000 (06:36 +0100)] 
auth: mech-gssapi - Make request struct usage and naming consistent

Use struct gssapi_auth_request as function parameter as much as possible.
Make request variable and parameter naming consistent.

2 months agoauth: mech-gssapi - Move mech_gssapi_initialize()
Stephan Bosch [Sat, 4 Mar 2023 17:08:46 +0000 (18:08 +0100)] 
auth: mech-gssapi - Move mech_gssapi_initialize()

2 months agoauth: mech-otp - Set lock flag in otp_try_lock()
Stephan Bosch [Sun, 5 Mar 2023 15:31:47 +0000 (16:31 +0100)] 
auth: mech-otp - Set lock flag in otp_try_lock()

2 months agoauth: mech-otp - Make request struct usage and naming consistent
Stephan Bosch [Sun, 5 Mar 2023 15:27:14 +0000 (16:27 +0100)] 
auth: mech-otp - Make request struct usage and naming consistent

Use struct otp_auth_request as function parameter as much as possible.
Make request variable and parameter naming consistent.

2 months agoauth: mech-otp - Merge mech-otp-common.c into mech-otp.c
Stephan Bosch [Sat, 4 Mar 2023 16:46:21 +0000 (17:46 +0100)] 
auth: mech-otp - Merge mech-otp-common.c into mech-otp.c

Separate file is not useful and structure is confusing.

2 months agoauth: mech-digest-md5 - Use container_of()
Stephan Bosch [Tue, 7 Mar 2023 03:25:03 +0000 (04:25 +0100)] 
auth: mech-digest-md5 - Use container_of()

2 months agoauth: mech-digest-md5 - Move types to source file
Stephan Bosch [Sat, 4 Mar 2023 16:21:37 +0000 (17:21 +0100)] 
auth: mech-digest-md5 - Move types to source file

These were exposed for testing, but exposing the whole struct is excessive.
Putting the struct in the source file is consistent with the other mechanisms
and this test is going to be restructured so that this internal access is no
longer needed.

2 months agoauth: mech-cram-md5 - Use container_of()
Stephan Bosch [Tue, 7 Mar 2023 14:05:51 +0000 (15:05 +0100)] 
auth: mech-cram-md5 - Use container_of()

2 months agoauth: mech-apop - Use container_of()
Stephan Bosch [Sun, 29 Oct 2023 13:16:53 +0000 (14:16 +0100)] 
auth: mech-apop - Use container_of()

2 months agoauth: mech-oauth2 - Rename super request struct field
Stephan Bosch [Wed, 22 Mar 2023 23:19:59 +0000 (00:19 +0100)] 
auth: mech-oauth2 - Rename super request struct field

2 months agoauth: db-ldap - Move sasl code to separate module
Stephan Bosch [Sun, 12 Mar 2023 01:28:57 +0000 (02:28 +0100)] 
auth: db-ldap - Move sasl code to separate module

2 months agoauth: Reformat mech-otp.c
Stephan Bosch [Sat, 21 Oct 2023 02:45:55 +0000 (04:45 +0200)] 
auth: Reformat mech-otp.c

2 months agoauth: Reformat mech-scram.c
Stephan Bosch [Wed, 22 Mar 2023 23:58:36 +0000 (00:58 +0100)] 
auth: Reformat mech-scram.c

2 months agoauth: Reformat mech-plain.c
Stephan Bosch [Wed, 22 Mar 2023 16:45:02 +0000 (17:45 +0100)] 
auth: Reformat mech-plain.c

2 months agoauth: Reformat mech-external.c
Stephan Bosch [Wed, 22 Mar 2023 16:41:32 +0000 (17:41 +0100)] 
auth: Reformat mech-external.c

2 months agoauth: Reformat mech-gssapi.c
Stephan Bosch [Tue, 7 Mar 2023 14:42:42 +0000 (15:42 +0100)] 
auth: Reformat mech-gssapi.c

2 months agoauth: Reformat mech-cram-md5.c
Stephan Bosch [Tue, 7 Mar 2023 13:46:31 +0000 (14:46 +0100)] 
auth: Reformat mech-cram-md5.c

2 months agoauth: Reformat test-mech.c
Stephan Bosch [Sat, 28 Oct 2023 04:12:36 +0000 (06:12 +0200)] 
auth: Reformat test-mech.c

2 months agom4: want_gssapi - Add HAVE_GSSAPI conditional
Stephan Bosch [Fri, 27 Oct 2023 18:50:47 +0000 (20:50 +0200)] 
m4: want_gssapi - Add HAVE_GSSAPI conditional

2 months agom4: want_gssapi - Properly initialize have_gssapi_plugin variable
Stephan Bosch [Tue, 7 Oct 2025 15:41:26 +0000 (17:41 +0200)] 
m4: want_gssapi - Properly initialize have_gssapi_plugin variable

2 months ago.gitignore - Add auth-token-secret.dat
Stephan Bosch [Thu, 27 Feb 2025 21:25:32 +0000 (22:25 +0100)] 
.gitignore - Add auth-token-secret.dat

This is often left over from interrupted src/auth tests.

2 months agoauth: mech-oauth2 - Properly handle PASSDB_RESULT_USER_UNKNOWN result from token...
Stephan Bosch [Fri, 28 Feb 2025 01:11:31 +0000 (02:11 +0100)] 
auth: mech-oauth2 - Properly handle PASSDB_RESULT_USER_UNKNOWN result from token verification

2 months agolib-auth: auth-scram - Rename scram_scheme_parse() to auth_scram_credentials_parse()
Stephan Bosch [Thu, 27 Feb 2025 20:02:15 +0000 (21:02 +0100)] 
lib-auth: auth-scram - Rename scram_scheme_parse() to auth_scram_credentials_parse()

2 months agolib-auth: password-scheme-scram - Move scram_scheme_parse() to auth-scram
Stephan Bosch [Thu, 27 Feb 2025 19:56:20 +0000 (20:56 +0100)] 
lib-auth: password-scheme-scram - Move scram_scheme_parse() to auth-scram

2 months agoauth: main - Free global auth settings later
Stephan Bosch [Tue, 5 Aug 2025 18:53:44 +0000 (20:53 +0200)] 
auth: main - Free global auth settings later

Only then we can be truly sure it is not used anymore during cleanup of other
sub-systems.

2 months agoauth: main - Free the auths only once requests are truly gone
Stephan Bosch [Thu, 27 Feb 2025 20:42:43 +0000 (21:42 +0100)] 
auth: main - Free the auths only once requests are truly gone

2 months agoauth: mech-gssapi - Make sure service credentials are initialized before trying to...
Stephan Bosch [Thu, 7 Aug 2025 03:33:14 +0000 (05:33 +0200)] 
auth: mech-gssapi - Make sure service credentials are initialized before trying to free them

This may cause a segfault in later changes.

2 months agolib: strfuncs - Add t_strdup_until_noconst()
Stephan Bosch [Thu, 2 Oct 2025 00:32:02 +0000 (02:32 +0200)] 
lib: strfuncs - Add t_strdup_until_noconst()

2 months agolib: strfuncs - Move t_memdup() declaration to logical place in header
Stephan Bosch [Thu, 3 Oct 2024 21:02:42 +0000 (23:02 +0200)] 
lib: strfuncs - Move t_memdup() declaration to logical place in header

Now it sits below a comment that doesn't apply to this function.

2 months agolib: strnum - Add str_parse_data_uintmax()
Stephan Bosch [Wed, 1 Oct 2025 20:49:22 +0000 (22:49 +0200)] 
lib: strnum - Add str_parse_data_uintmax()

Allows parsing numbers from generic data, rather than nul-terminated C-strings.

2 months agolib-imap-client: Link tests against lib-dovecot
Stephan Bosch [Sun, 5 Oct 2025 13:27:12 +0000 (15:27 +0200)] 
lib-imap-client: Link tests against lib-dovecot

Prevents linking issues later. Also, since lib-imap-client is not in
lib-dovecot, it should not be linking to individual convenience libraries.

2 months agolib-test: fuzzer - Properly initialize fd_pump to prevent erroneous closing of fd=0
Stephan Bosch [Sun, 5 Oct 2025 12:50:20 +0000 (14:50 +0200)] 
lib-test: fuzzer - Properly initialize fd_pump to prevent erroneous closing of fd=0

2 months agolib-test: Reformat fuzzer.c
Stephan Bosch [Wed, 3 Sep 2025 20:54:36 +0000 (22:54 +0200)] 
lib-test: Reformat fuzzer.c

2 months agolib-smtp: fuzz-smtp-server - Fix compile warning
Stephan Bosch [Sun, 5 Oct 2025 12:46:23 +0000 (14:46 +0200)] 
lib-smtp: fuzz-smtp-server - Fix compile warning

2 months ago.gitignore - Add any fuzzer binary
Stephan Bosch [Thu, 3 Oct 2024 21:13:45 +0000 (23:13 +0200)] 
.gitignore - Add any fuzzer binary

2 months agolib-dict-backend: dict-sql - Avoid data stack growth
Timo Sirainen [Sat, 4 Oct 2025 13:03:05 +0000 (16:03 +0300)] 
lib-dict-backend: dict-sql - Avoid data stack growth

2 months agovirtual: Allow mailbox_count header to be empty
Aki Tuomi [Tue, 30 Sep 2025 17:21:22 +0000 (20:21 +0300)] 
virtual: Allow mailbox_count header to be empty

If no folders match, do not error out. Fixes
Error: Mailbox INBOX: virtual index INBOX: Broken mailbox_count header

2 months agofs-crypt: Support loading fs_crypt in mail_plugins
Timo Sirainen [Sun, 5 Oct 2025 19:54:33 +0000 (22:54 +0300)] 
fs-crypt: Support loading fs_crypt in mail_plugins

This allows using it inside chroot.

2 months agofs-compress: Support loading fs_compress in mail_plugins
Timo Sirainen [Sun, 5 Oct 2025 19:53:58 +0000 (22:53 +0300)] 
fs-compress: Support loading fs_compress in mail_plugins

This allows using it inside chroot.

2 months agolib-fs: Add fs_class_unregister()
Timo Sirainen [Sun, 5 Oct 2025 19:52:37 +0000 (22:52 +0300)] 
lib-fs: Add fs_class_unregister()

Decrease fs_classes_deinit() atexit priority so it's called only after
all modules have been unloaded, which could call fs_class_unregister().

2 months agolib: module_dir_try_load_missing() - Add the wanted modules to be loaded to the error...
Timo Sirainen [Sun, 5 Oct 2025 19:51:22 +0000 (22:51 +0300)] 
lib: module_dir_try_load_missing() - Add the wanted modules to be loaded to the error string

This helps to understand what modules need to be explicitly loaded inside a
chroot.

2 months agolib: module_dir_load_real() - Allocate error_r from data stack
Timo Sirainen [Sun, 5 Oct 2025 19:50:47 +0000 (22:50 +0300)] 
lib: module_dir_load_real() - Allocate error_r from data stack

We have T_END_PASS_STR_IF() nowadays - use it.

2 months agoNEWS: Add lib-settings crash to NEWS
Aki Tuomi [Fri, 28 Mar 2025 06:15:21 +0000 (08:15 +0200)] 
NEWS: Add lib-settings crash to NEWS

2 months agoNEWS: Add NEWS for 2.4.1
Aki Tuomi [Fri, 14 Mar 2025 12:04:35 +0000 (14:04 +0200)] 
NEWS: Add NEWS for 2.4.1

2 months agolib-smtp: smtp-client-connection - Fix sending second AUTH response
Stephan Bosch [Tue, 30 Sep 2025 02:36:37 +0000 (04:36 +0200)] 
lib-smtp: smtp-client-connection - Fix sending second AUTH response

Due to a copy-paste error it was again using the now freed sasl_ir field for
composing the response.

2 months agolib-smtp: smtp-client-command - Allow sending empty AUTH line
Stephan Bosch [Tue, 30 Sep 2025 02:35:01 +0000 (04:35 +0200)] 
lib-smtp: smtp-client-command - Allow sending empty AUTH line

2 months agodoveadm: test-doveadm-util - Remove duplicate symbol
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.

2 months agolib-auth-client: Link tests to all library dependencies
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.

2 months agolib-auth: Link libauth to libotp dependency
Timo Sirainen [Wed, 1 Oct 2025 06:53:41 +0000 (09:53 +0300)] 
lib-auth: Link libauth to libotp dependency

2 months agolib-storage: Don't try to add attachment flags for readonly mailboxes
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

2 months agolib-storage: Fix mail_attachment_detection_options=no-flags-on-fetch
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.

2 months agolib-storage: Don't ignore mailbox list index refresh error when updating STATUS info
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

2 months agolib-storage: mailbox_list_index_refresh() - Don't skip refresh if index opening failed
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

2 months agolib-master: Assert-crash if master_service_init_log*() is called before master_getopt()
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.

2 months agoauth, *-login: Fix using -L parameter to log directly
Timo Sirainen [Fri, 31 Mar 2023 12:30:59 +0000 (15:30 +0300)] 
auth, *-login: Fix using -L parameter to log directly

2 months agolib-settings: Don't add proxy_session_established to @metric_defaults/proxy until...
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

2 months agoconfig: Support settings change tracking for named list filters
Timo Sirainen [Mon, 29 Sep 2025 11:10:53 +0000 (14:10 +0300)] 
config: Support settings change tracking for named list filters

2 months agoconfig: Assume dovecot_config_version=0.0.0 is the same as the latest version
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.

2 months agoimap: LSUB - Hide MAILBOX_NOSELECT flag if returned by mailbox listing
Timo Sirainen [Thu, 25 Sep 2025 11:47:01 +0000 (14:47 +0300)] 
imap: LSUB - Hide MAILBOX_NOSELECT flag if returned by mailbox listing

2 months agolib-storage: Fix children flags when listing mailbox subscriptions with nonexistent...
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

2 months agolib-storage: Fix subscription listing showing parent namespace prefix
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.

2 months agolib-storage: Subscription notifications - Fix crash if initial subscription refresh...
Timo Sirainen [Thu, 25 Sep 2025 08:01:56 +0000 (11:01 +0300)] 
lib-storage: Subscription notifications - Fix crash if initial subscription refresh failed

2 months agolib-storage: Remove unused mailbox_list_set_subscription_flags()
Timo Sirainen [Thu, 25 Sep 2025 07:55:58 +0000 (10:55 +0300)] 
lib-storage: Remove unused mailbox_list_set_subscription_flags()

2 months agoacl: Fix potential crash when listing shared mailbox subscriptions
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)

2 months agolib-storage: Fix subscription listing hiding public/shared namespace prefixes
Timo Sirainen [Thu, 25 Sep 2025 07:41:49 +0000 (10:41 +0300)] 
lib-storage: Fix subscription listing hiding public/shared namespace prefixes

2 months agolib-storage: mailbox_list_ns_prefix_return() - Move subscription checks to be last
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.

2 months agolib-storage, acl: Move hiding non-listable public/shared mailboxes to lib-storage
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.

2 months agolib-storage: mailbox_list_iter_update() - Don't set mailbox list children-flags
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.

2 months agoimapc: Set children-flags manually using the mailbox list output
Timo Sirainen [Thu, 25 Sep 2025 10:22:27 +0000 (13:22 +0300)] 
imapc: Set children-flags manually using the mailbox list output

2 months agolib-storage: Fix subscription refresh when it autocreates a namespace
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/.

2 months agolib-storage: mailbox_list_subscriptions_fill() - Remove unused default_nonexistent...
Timo Sirainen [Wed, 24 Sep 2025 14:12:32 +0000 (17:12 +0300)] 
lib-storage: mailbox_list_subscriptions_fill() - Remove unused default_nonexistent parameter

2 months agolib-storage: Remove unused struct mailbox_list_iter_update_context.update_only
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.

2 months agolib-storage: Fix listing nonexistent subscriptions with children
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.

2 months agolib-storage: fs layout listing - Don't return both MAILBOX_SELECT and MAILBOX_NOSELEC...
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

2 months agolib-storage: Send mail_opened event only once per mail
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.

2 months agolib-settings: Change v3.1.1 default settings to v3.2.0
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