]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
4 years agolib-storage: mail-duplicate - Move acquirement of dotlock for DB file into mail_dupli...
Stephan Bosch [Fri, 17 Sep 2021 09:11:21 +0000 (11:11 +0200)] 
lib-storage: mail-duplicate - Move acquirement of dotlock for DB file into mail_duplicate_read().

4 years agolib-storage: mail-duplicate - Implement per-ID locking.
Stephan Bosch [Mon, 20 Sep 2021 09:58:12 +0000 (11:58 +0200)] 
lib-storage: mail-duplicate - Implement per-ID locking.

4 years agolib-storage: mail-duplicate - Allow calling mail_duplicate_read() more than once...
Stephan Bosch [Fri, 17 Sep 2021 09:16:39 +0000 (11:16 +0200)] 
lib-storage: mail-duplicate - Allow calling mail_duplicate_read() more than once in a transaction.

4 years agolib-storage: mail-duplicate - Record an entry for both checked and marked IDs.
Stephan Bosch [Tue, 13 Jul 2021 21:22:52 +0000 (23:22 +0200)] 
lib-storage: mail-duplicate - Record an entry for both checked and marked IDs.

Still only write the marked IDs to the file. The in-memory record is needed for
the locking introduced in a later commit.

4 years agolib-storage: mail-duplicate - Add debug messages for transaction.
Stephan Bosch [Tue, 13 Jul 2021 03:03:02 +0000 (05:03 +0200)] 
lib-storage: mail-duplicate - Add debug messages for transaction.

4 years agolib-storage: mail-duplicate - Add debug messages for database.
Stephan Bosch [Tue, 13 Jul 2021 03:07:39 +0000 (05:07 +0200)] 
lib-storage: mail-duplicate - Add debug messages for database.

4 years agolib-storage: mail-duplicate - Add event to transaction object.
Stephan Bosch [Tue, 13 Jul 2021 02:40:24 +0000 (04:40 +0200)] 
lib-storage: mail-duplicate - Add event to transaction object.

4 years agolib-storage: mail-duplicate - Add event to database object.
Stephan Bosch [Tue, 13 Jul 2021 02:53:11 +0000 (04:53 +0200)] 
lib-storage: mail-duplicate - Add event to database object.

4 years agolib-storage: mail-duplicate - Restructure API to make it transaction-based.
Stephan Bosch [Tue, 8 Jun 2021 01:51:10 +0000 (03:51 +0200)] 
lib-storage: mail-duplicate - Restructure API to make it transaction-based.

4 years agolib-storage: mail-duplicate - Change mail_duplicate_check() return type from bool...
Stephan Bosch [Tue, 13 Jul 2021 02:03:42 +0000 (04:03 +0200)] 
lib-storage: mail-duplicate - Change mail_duplicate_check() return type from bool to enum.

4 years agolib-storage: Reformat mail-duplicate.c.
Stephan Bosch [Fri, 17 Sep 2021 09:04:55 +0000 (11:04 +0200)] 
lib-storage: Reformat mail-duplicate.c.

4 years agolib-storage: mail-user - Add mail_user_get_volatile_dir().
Stephan Bosch [Sat, 7 Aug 2021 13:43:35 +0000 (15:43 +0200)] 
lib-storage: mail-user - Add mail_user_get_volatile_dir().

4 years agolib: file-lock - Adjust API to allow EDEADLK to be used by application.
Stephan Bosch [Mon, 20 Sep 2021 00:45:23 +0000 (02:45 +0200)] 
lib: file-lock - Adjust API to allow EDEADLK to be used by application.

It always caused a Dovecot panic before when returned from kernel.

4 years agolib: file-lock - Rework API to make it extensible.
Stephan Bosch [Sun, 19 Sep 2021 11:09:29 +0000 (13:09 +0200)] 
lib: file-lock - Rework API to make it extensible.

4 years agolib: file-lock - Rename file_{wait,try}_lock_error() to file_{wait,try}_lock().
Stephan Bosch [Mon, 20 Sep 2021 00:39:08 +0000 (02:39 +0200)] 
lib: file-lock - Rename file_{wait,try}_lock_error() to file_{wait,try}_lock().

4 years agolib: file-lock - Remove file_{wait,try}_lock().
Stephan Bosch [Mon, 20 Sep 2021 00:29:55 +0000 (02:29 +0200)] 
lib: file-lock - Remove file_{wait,try}_lock().

4 years agoglobal: Avoid use of file_{wait,try}_lock().
Stephan Bosch [Mon, 20 Sep 2021 00:26:46 +0000 (02:26 +0200)] 
global: Avoid use of file_{wait,try}_lock().

Use the file_{wait,try}_lock_error() variants instead.

4 years agolib-http: test-http-client-errors - Allow more relaxed timeouts for connect retry...
Timo Sirainen [Wed, 22 Sep 2021 14:36:27 +0000 (17:36 +0300)] 
lib-http: test-http-client-errors - Allow more relaxed timeouts for connect retry tests

With max_connect_attempts=3 the connects come at (0ms, 100ms, 300ms).
Before the 3rd attempt a timeout at 250ms must have triggered, so there
was only 50ms time for it to trigger. This wasn't always enough when
running with valgrind on an overloaded system. Solve this by increasing
max_connect_attempts=4 so the 4th attempt comes at 700ms, giving the
timeout 450ms to trigger.

4 years agolib: Add most data_stack_grow event fields before checking if event is wanted
Timo Sirainen [Wed, 22 Sep 2021 09:14:08 +0000 (12:14 +0300)] 
lib: Add most data_stack_grow event fields before checking if event is wanted

This allows using e.g. "event=data_stack_grow and alloc_size > 32768" as
an event filter.

4 years agoconfig: Add data stack frame
Timo Sirainen [Tue, 21 Sep 2021 15:27:29 +0000 (18:27 +0300)] 
config: Add data stack frame

4 years agodoveconf: Avoid unnecessary data stack use when writing output
Timo Sirainen [Tue, 21 Sep 2021 15:26:53 +0000 (18:26 +0300)] 
doveconf: Avoid unnecessary data stack use when writing output

4 years agomaster: Create each service in its own data stack frame
Timo Sirainen [Tue, 21 Sep 2021 15:21:54 +0000 (18:21 +0300)] 
master: Create each service in its own data stack frame

4 years agodoveadm: Call each run() in its own data stack frame
Timo Sirainen [Tue, 21 Sep 2021 14:52:15 +0000 (17:52 +0300)] 
doveadm: Call each run() in its own data stack frame

4 years agodsync: Add data stack frames to mailbox loops
Timo Sirainen [Tue, 21 Sep 2021 14:14:44 +0000 (17:14 +0300)] 
dsync: Add data stack frames to mailbox loops

4 years agodsync: Split off dsync_brain_recv_mailbox_tree_add()
Timo Sirainen [Tue, 21 Sep 2021 14:10:56 +0000 (17:10 +0300)] 
dsync: Split off dsync_brain_recv_mailbox_tree_add()

4 years agoacl: Code cleanup - Remove pointless while-loop
Timo Sirainen [Tue, 21 Sep 2021 14:50:32 +0000 (17:50 +0300)] 
acl: Code cleanup - Remove pointless while-loop

4 years agoacl: acllist rebuild - Move data stack frame to caller's loop
Timo Sirainen [Tue, 21 Sep 2021 14:03:45 +0000 (17:03 +0300)] 
acl: acllist rebuild - Move data stack frame to caller's loop

4 years agoacl: Add data stack frame when iterating mailboxes
Timo Sirainen [Tue, 21 Sep 2021 13:14:12 +0000 (16:14 +0300)] 
acl: Add data stack frame when iterating mailboxes

Avoids wasting memory when there are a lot of mailboxes.

4 years agolib-storage: mail_user_unref() - Add data stack frame
Timo Sirainen [Tue, 21 Sep 2021 14:51:15 +0000 (17:51 +0300)] 
lib-storage: mail_user_unref() - Add data stack frame

The deinit code paths can sometimes eat up quite a lot of data stack.

4 years agolib-storage: mailbox_create() - Add data stack frames
Timo Sirainen [Wed, 22 Sep 2021 09:49:46 +0000 (12:49 +0300)] 
lib-storage: mailbox_create() - Add data stack frames

4 years agolib-storage: Add data stack frames to [service] user initialization
Timo Sirainen [Wed, 22 Sep 2021 09:48:18 +0000 (12:48 +0300)] 
lib-storage: Add data stack frames to [service] user initialization

Initialization steps can use a lot of data stack, so try to free it at
several checkpoints.

4 years agolib-storage: Add data stack frame when iterating mailboxes to build GUID cache
Timo Sirainen [Tue, 21 Sep 2021 14:49:34 +0000 (17:49 +0300)] 
lib-storage: Add data stack frame when iterating mailboxes to build GUID cache

4 years agolib-storage: mailbox_verify_*name() - Add data stack frames
Timo Sirainen [Tue, 21 Sep 2021 14:48:33 +0000 (17:48 +0300)] 
lib-storage: mailbox_verify_*name() - Add data stack frames

This function can eat up quite a lot of data stack.

4 years agolib-storage: str_contains_special_use() - Add data stack frame
Timo Sirainen [Tue, 21 Sep 2021 14:47:41 +0000 (17:47 +0300)] 
lib-storage: str_contains_special_use() - Add data stack frame

This function is called in a loop by namespace_find_special_use().

4 years agolib-storage: List index rebuild - Add data stack frames
Timo Sirainen [Tue, 21 Sep 2021 13:58:13 +0000 (16:58 +0300)] 
lib-storage: List index rebuild - Add data stack frames

4 years agolib-storage: List index rebuild - Split off mail_storage_list_index_find_indexed_mail...
Timo Sirainen [Tue, 21 Sep 2021 13:57:13 +0000 (16:57 +0300)] 
lib-storage: List index rebuild - Split off mail_storage_list_index_find_indexed_mailbox()

4 years agolib-storage: Don't use data stack for mailbox list index header update
Timo Sirainen [Tue, 21 Sep 2021 13:37:13 +0000 (16:37 +0300)] 
lib-storage: Don't use data stack for mailbox list index header update

There can be a lot of mailboxes, causing excessive data stack usage.

4 years agolib-index: Don't use data stack for building index header update buffer
Timo Sirainen [Tue, 21 Sep 2021 13:42:39 +0000 (16:42 +0300)] 
lib-index: Don't use data stack for building index header update buffer

The header update can be large (e.g. dovecot.list.index with many
mailboxes) and grow data stack unnecessarily.

4 years agolib: module_dir_deinit() - Call each deinit() in its own data stack frame
Timo Sirainen [Tue, 21 Sep 2021 14:51:50 +0000 (17:51 +0300)] 
lib: module_dir_deinit() - Call each deinit() in its own data stack frame

4 years agolib: test-data-stack - Make sure data stack memory usage doesn't leak
Timo Sirainen [Tue, 21 Sep 2021 13:15:54 +0000 (16:15 +0300)] 
lib: test-data-stack - Make sure data stack memory usage doesn't leak

4 years agolib: test-cpu-limit - Remove checking for CPU usage upper limit
Timo Sirainen [Tue, 21 Sep 2021 10:38:27 +0000 (13:38 +0300)] 
lib: test-cpu-limit - Remove checking for CPU usage upper limit

These tests keep randomly failing on loaded systems. It's more important
anyway to check that the minimum CPU usage is high enough than it is to
check that CPU usage isn't too high.

4 years agolib: Optimize str_tabescape()
Timo Sirainen [Fri, 17 Sep 2021 13:11:12 +0000 (16:11 +0300)] 
lib: Optimize str_tabescape()

4 years agolib: Optimize p_strsplit_tabescaped()
Timo Sirainen [Fri, 17 Sep 2021 13:10:12 +0000 (16:10 +0300)] 
lib: Optimize p_strsplit_tabescaped()

4 years agolib: Optimize t_strsplit_tabescaped()
Timo Sirainen [Fri, 17 Sep 2021 13:06:17 +0000 (16:06 +0300)] 
lib: Optimize t_strsplit_tabescaped()

4 years agolib: Optimize t_strsplit_tabescaped_inplace()
Timo Sirainen [Fri, 17 Sep 2021 13:04:00 +0000 (16:04 +0300)] 
lib: Optimize t_strsplit_tabescaped_inplace()

4 years agolib: Optimize t_strdup*()
Timo Sirainen [Fri, 17 Sep 2021 13:02:10 +0000 (16:02 +0300)] 
lib: Optimize t_strdup*()

Avoid zeroing the allocated data stack memory just before it's going to be
filled with the duplicated string anyway.

4 years agolib: Optimize t_str_tabunescape()
Timo Sirainen [Thu, 11 Mar 2021 23:41:35 +0000 (01:41 +0200)] 
lib: Optimize t_str_tabunescape()

4 years agolib: Optimize str_tabunescape()
Timo Sirainen [Thu, 11 Mar 2021 23:38:13 +0000 (01:38 +0200)] 
lib: Optimize str_tabunescape()

4 years agolib: Optimize str_append_tabescaped()
Timo Sirainen [Thu, 11 Mar 2021 23:27:30 +0000 (01:27 +0200)] 
lib: Optimize str_append_tabescaped()

Avoid calling strlen() and replace for-loop with strcspn().

4 years agolib: Optimize str_append_tabescaped_n()
Timo Sirainen [Thu, 11 Mar 2021 23:23:04 +0000 (01:23 +0200)] 
lib: Optimize str_append_tabescaped_n()

4 years agolib: Optimize p_strndup()
Timo Sirainen [Thu, 11 Mar 2021 23:19:38 +0000 (01:19 +0200)] 
lib: Optimize p_strndup()

4 years agolib: Optimize buffer_append() and buffer_append_c()
Timo Sirainen [Thu, 11 Feb 2021 00:56:11 +0000 (02:56 +0200)] 
lib: Optimize buffer_append() and buffer_append_c()

4 years agolib: buffer_create_dynamic_max() - Fix max_size handling
Timo Sirainen [Thu, 11 Feb 2021 00:44:34 +0000 (02:44 +0200)] 
lib: buffer_create_dynamic_max() - Fix max_size handling

Never allocate buffer larger than its max_size, since it's just wasted
memory. Also clarify that the allocation can actually go up to max_size+1
because of str_c() NUL byte reservation.

4 years agolib: buffer_append_zero() - Avoid unnecessary memset()
Timo Sirainen [Thu, 11 Feb 2021 00:30:12 +0000 (02:30 +0200)] 
lib: buffer_append_zero() - Avoid unnecessary memset()

4 years agolib: buffer - Add writable_size to simplify checking if buffer needs to be grown
Timo Sirainen [Thu, 11 Feb 2021 00:21:30 +0000 (02:21 +0200)] 
lib: buffer - Add writable_size to simplify checking if buffer needs to be grown

4 years agolib: buffer - Replace casts with container_of()
Timo Sirainen [Wed, 15 Sep 2021 12:14:47 +0000 (14:14 +0200)] 
lib: buffer - Replace casts with container_of()

4 years agolib-storage: Add data stack frame for mailbox_copy and mailbox_move
Aki Tuomi [Thu, 12 Aug 2021 07:02:55 +0000 (10:02 +0300)] 
lib-storage: Add data stack frame for mailbox_copy and mailbox_move

4 years agolib-storage: Add data stack frame for mailbox_rename
Aki Tuomi [Thu, 12 Aug 2021 06:58:57 +0000 (09:58 +0300)] 
lib-storage: Add data stack frame for mailbox_rename

4 years agolib-storage: Add data stack frame for mailbox_delete
Aki Tuomi [Thu, 12 Aug 2021 06:58:41 +0000 (09:58 +0300)] 
lib-storage: Add data stack frame for mailbox_delete

4 years agoacl: acl_backend_vfile_has_acl() - Simplify code
Timo Sirainen [Thu, 16 Sep 2021 16:32:02 +0000 (19:32 +0300)] 
acl: acl_backend_vfile_has_acl() - Simplify code

4 years agoacl: acl_backend_vfile_has_acl() - Open mailbox to check if it exists
Timo Sirainen [Thu, 16 Sep 2021 16:13:09 +0000 (19:13 +0300)] 
acl: acl_backend_vfile_has_acl() - Open mailbox to check if it exists

This is a bit more expensive than the previous behavior, but it's done only
when creating or renaming mailboxes which are pretty rare operations.

This fixes copying parent ACLs with obox when the parent mailbox doesn't
exist in local metacache.

4 years agoacl: acl_backend_vfile_has_acl() - Avoid unnecessary local ACL file check
Timo Sirainen [Thu, 16 Sep 2021 16:26:07 +0000 (19:26 +0300)] 
acl: acl_backend_vfile_has_acl() - Avoid unnecessary local ACL file check

The local ACL file can't exist if its mailbox doesn't exist.

4 years agoacl: acl_backend_vfile_has_acl() - Check first if global ACL exists
Timo Sirainen [Thu, 16 Sep 2021 16:22:41 +0000 (19:22 +0300)] 
acl: acl_backend_vfile_has_acl() - Check first if global ACL exists

Global ACL can be checked more efficiently. If it exists, there's no need
anymore to access the local mailbox ro ACL files.

4 years agoacl: Consistently determine whether ACL files are in control or mailbox directory
Timo Sirainen [Thu, 16 Sep 2021 15:05:04 +0000 (18:05 +0300)] 
acl: Consistently determine whether ACL files are in control or mailbox directory

Add mail_storage_get_acl_list_path_type() that is used for it. This fixes
ACL inheritance with obox.

4 years agolib-lua: Add function for restricting global variable definition
Siavash Tavakoli [Sun, 5 Sep 2021 23:49:06 +0000 (00:49 +0100)] 
lib-lua: Add function for restricting global variable definition

Add "dovecot.restrict_global_variables()" with a boolean argument to mitigate
unintended variable assignments and to prevent unnecessarily populating
global namespace.

If enabled, variables can only be defined local to the script but global
functions are still allowed.

4 years agolib-lua: Use rawget to check presence of functions in scripts
Siavash Tavakoli [Tue, 7 Sep 2021 14:03:37 +0000 (15:03 +0100)] 
lib-lua: Use rawget to check presence of functions in scripts

With the restricted global variables in next commit, checking for
undeclared functions results in error. Use rawget to avoid metamethods.

4 years agolib-lua: Build test-dict-lua only with Lua 5.3+
Timo Sirainen [Fri, 17 Sep 2021 09:26:35 +0000 (12:26 +0300)] 
lib-lua: Build test-dict-lua only with Lua 5.3+

Fixes building with Lua 5.1

4 years agolib-compression: bench-compress - Ensure we have both istream and ostream constructor
Aki Tuomi [Tue, 14 Sep 2021 07:33:50 +0000 (10:33 +0300)] 
lib-compression: bench-compress - Ensure we have both istream and ostream constructor

After 6e5ae5ef0f0f31acd7bde0db53980a708c81eced we have read-only compression
mechanism, that leads to null pointer crash in bench-compress.

4 years agoNEWS: Add news for 2.3.16
Timo Sirainen [Thu, 16 Sep 2021 17:12:13 +0000 (20:12 +0300)] 
NEWS: Add news for 2.3.16

4 years agolib-lua: Add test-dict-lua
Timo Sirainen [Fri, 10 Sep 2021 12:52:43 +0000 (15:52 +0300)] 
lib-lua: Add test-dict-lua

4 years agodict-lua: Change dict:lookup() to actually return nil if key isn't found
Timo Sirainen [Fri, 10 Sep 2021 12:47:47 +0000 (15:47 +0300)] 
dict-lua: Change dict:lookup() to actually return nil if key isn't found

It was previously returning an empty table, although the comment said it
should have returned nil.

4 years agolib-dict: dict-lua - Add set_timestamp()
Timo Sirainen [Fri, 10 Sep 2021 09:49:50 +0000 (12:49 +0300)] 
lib-dict: dict-lua - Add set_timestamp()

4 years agolib-dict: dict-lua - Add unset()
Timo Sirainen [Wed, 1 Sep 2021 16:33:49 +0000 (19:33 +0300)] 
lib-dict: dict-lua - Add unset()

4 years agoindexer: Remove the concept of a "busy" connection
Timo Sirainen [Tue, 7 Sep 2021 14:00:07 +0000 (17:00 +0300)] 
indexer: Remove the concept of a "busy" connection

All the connections are busy, since they are created for a new request and
they are disconnected when the request is done.

4 years agoindexer: Handle more requests whenever indexer-worker connection closes
Timo Sirainen [Tue, 7 Sep 2021 13:56:16 +0000 (16:56 +0300)] 
indexer: Handle more requests whenever indexer-worker connection closes

Previously this was done only when worker process sent a "request finished"
notification. Crashing worker processes could have caused the queue to get
stuck until more requests were added to the queue.

4 years agoindexer: Disconnect from worker after each request
Timo Sirainen [Tue, 7 Sep 2021 13:52:40 +0000 (16:52 +0300)] 
indexer: Disconnect from worker after each request

service_count won't be tracked correctly otherwise.

4 years agoindexer: Fix tracking indexer-worker's process_limit
Timo Sirainen [Tue, 7 Sep 2021 12:47:23 +0000 (15:47 +0300)] 
indexer: Fix tracking indexer-worker's process_limit

After recent changes, the process_limit was too often thought to be 1.

4 years agoindexer: Change status callback to take struct indexer_request parameter
Timo Sirainen [Tue, 31 Aug 2021 09:14:15 +0000 (12:14 +0300)] 
indexer: Change status callback to take struct indexer_request parameter

4 years agoindexer: Don't free worker_connection too early
Timo Sirainen [Tue, 31 Aug 2021 09:12:49 +0000 (12:12 +0300)] 
indexer: Don't free worker_connection too early

There's no need for the status callback anymore to free the connection.
It will be tracked automatically.

4 years agoindexer: Use a separate indexer_queue_callback_t type for indexer-queue callback
Timo Sirainen [Tue, 31 Aug 2021 09:08:32 +0000 (12:08 +0300)] 
indexer: Use a separate indexer_queue_callback_t type for indexer-queue callback

4 years agolib: Remove connect_finished_time field from connection event.
sergey.kitov [Tue, 14 Sep 2021 12:33:50 +0000 (15:33 +0300)] 
lib: Remove connect_finished_time field from connection event.

4 years agolib: ENUM_NEGATE() - Disable runtime sizeof() check with STATIC_CHECKER
Timo Sirainen [Fri, 10 Sep 2021 16:00:09 +0000 (19:00 +0300)] 
lib: ENUM_NEGATE() - Disable runtime sizeof() check with STATIC_CHECKER

This is to avoid "Dangerous variable-length array (VLA) declaration"
errors with clang 12 scan-build, which happen because scan-build keeps
thinking that the enums can become larger than 2147483647.

4 years agodoveadm: Flush data to server client asynchronously
Aki Tuomi [Tue, 31 Aug 2021 12:44:20 +0000 (15:44 +0300)] 
doveadm: Flush data to server client asynchronously

4 years agovirtual: Add storage flag for secondary index
Markus Valentin [Tue, 13 Jul 2021 11:32:09 +0000 (13:32 +0200)] 
virtual: Add storage flag for secondary index

4 years agolib-storage: Add storage_class_flag for secondary index
Markus Valentin [Tue, 13 Jul 2021 11:28:43 +0000 (13:28 +0200)] 
lib-storage: Add storage_class_flag for secondary index

4 years agoman: doveadm director flush - The parameter is -F, not -f
Bernhard M. Wiedemann [Fri, 10 Sep 2021 04:47:21 +0000 (06:47 +0200)] 
man: doveadm director flush - The parameter is -F, not -f

4 years agodoveadm: doveadm-stats - Allocate field_types
Aki Tuomi [Wed, 8 Sep 2021 06:53:12 +0000 (09:53 +0300)] 
doveadm: doveadm-stats - Allocate field_types

field_types was function local variable that got used outside
of function. Change to use datastack allocation instead to
keep it valid after leaving function.

Broken in e9a46e3a6df2edd6cb68a8fc04a5e8e4564a9d5e

4 years agolib-storage: Move (un)deleting debug message to mailbox_mark_index_deleted
Aki Tuomi [Tue, 31 Aug 2021 09:48:38 +0000 (12:48 +0300)] 
lib-storage: Move (un)deleting debug message to mailbox_mark_index_deleted

4 years agolib-storage: mailbox-list - Detect duplicate GUIDs
Aki Tuomi [Mon, 9 Aug 2021 08:56:17 +0000 (11:56 +0300)] 
lib-storage: mailbox-list - Detect duplicate GUIDs

This is only done for LAYOUT=INDEX.

4 years agolib-storage: mailbox-list - Add duplicate pool for duplicate detection
Aki Tuomi [Thu, 19 Aug 2021 14:10:31 +0000 (17:10 +0300)] 
lib-storage: mailbox-list - Add duplicate pool for duplicate detection

4 years agolib-storage: maildir - Use mail_storage_index_list_rebuild
Aki Tuomi [Mon, 16 Aug 2021 11:38:47 +0000 (14:38 +0300)] 
lib-storage: maildir - Use mail_storage_index_list_rebuild

4 years agolib-storage: maildir - Allow creating existing folder when rebuilding list index
Aki Tuomi [Fri, 20 Aug 2021 08:43:27 +0000 (11:43 +0300)] 
lib-storage: maildir - Allow creating existing folder when rebuilding list index

4 years agolib-storage: dbox - Use mailbox_list_index_rebuild
Aki Tuomi [Mon, 9 Aug 2021 11:23:13 +0000 (14:23 +0300)] 
lib-storage: dbox - Use mailbox_list_index_rebuild

4 years agolib-storage: dbox - Allow creating existing folder when rebuilding list index
Aki Tuomi [Mon, 9 Aug 2021 12:47:28 +0000 (15:47 +0300)] 
lib-storage: dbox - Allow creating existing folder when rebuilding list index

4 years agolib-storage: Add list index rebuild code
Aki Tuomi [Fri, 13 Aug 2021 11:18:21 +0000 (14:18 +0300)] 
lib-storage: Add list index rebuild code

4 years agolib-storage: Populate mailboxes_fs if needed
Aki Tuomi [Fri, 27 Aug 2021 09:59:59 +0000 (12:59 +0300)] 
lib-storage: Populate mailboxes_fs if needed

4 years agolib-storage: mailbox-list - Try to get GUID from mailbox path
Aki Tuomi [Fri, 20 Aug 2021 11:30:46 +0000 (14:30 +0300)] 
lib-storage: mailbox-list - Try to get GUID from mailbox path

4 years agolib-storage: Add fields to mail_storage needed for list rebuild
Aki Tuomi [Fri, 13 Aug 2021 07:29:59 +0000 (10:29 +0300)] 
lib-storage: Add fields to mail_storage needed for list rebuild

4 years agolib-storage: Fix changing mailbox GUID with LAYOUT=index
Aki Tuomi [Wed, 30 Jun 2021 05:44:33 +0000 (08:44 +0300)] 
lib-storage: Fix changing mailbox GUID with LAYOUT=index

The old path would generate Mail/mailboxes/mailboxes/<guid>

4 years agodoveadm-stats: Add doveadm stats add/remove documentation
sergey.kitov [Tue, 22 Jun 2021 12:59:25 +0000 (15:59 +0300)] 
doveadm-stats: Add doveadm stats add/remove documentation