Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found
in /home/monara/public_html/test.athavaneng.com/themes.php on line 99
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 226
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 227
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 228
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 229
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 230
Warning: Cannot modify header information - headers already sent by (output started at /home/monara/public_html/test.athavaneng.com/themes.php:1) in /home/monara/public_html/test.athavaneng.com/themes.php on line 231
2024-08-09 12:24:39 +0300 Aki Tuomi (d492236fa0)
configure: Update version
M configure.ac
2024-08-08 15:13:19 +0300 Aki Tuomi (9a69ceda23)
NEWS: Add news for 2.3.21.1
M NEWS
2024-04-24 10:45:46 +0000 Marco Bettini (ce88c33abc)
lib-mail: message-parser - Limit headers total count to 50MB by default
(including top headers and all mime-sections headers)
M src/lib-mail/message-parser-private.h
M src/lib-mail/message-parser.c
M src/lib-mail/message-parser.h
M src/lib-mail/test-message-parser.c
2024-04-12 15:06:43 +0000 Marco Bettini (f020e139c5)
lib-mail: message-header-parser - Limit header block to 10MB by default
M src/lib-mail/message-header-parser.c
M src/lib-mail/message-header-parser.h
M src/lib-mail/test-message-header-parser.c
2024-02-09 00:57:12 +0200 Timo Sirainen (1481c04f02)
lib-mail, lib-imap: Optimize parsing large number of address headers
Every header was appended to a linked list by walking through the whole
list, causing excessive CPU usage when the list became large enough. Fixed
by changing struct message_part_envelope to use struct message_address_list,
which stores also linked list tail pointers. This allows quickly appending
to the end of the linked list.
M src/lib-imap/imap-envelope.c
M src/lib-mail/message-part-data.c
M src/lib-mail/message-part-data.h
M src/lib-storage/index/index-search-mime.c
2024-01-30 22:17:38 +0200 Timo Sirainen (da61d20311)
lib-mail: Add message_address_parse_full() and struct message_address_list
M src/lib-mail/message-address.c
M src/lib-mail/message-address.h
M src/lib-mail/test-message-address.c
2024-02-04 00:26:57 +0200 Timo Sirainen (a1c9b04094)
lib-mail: Change message_address to be doubly linked list
M src/lib-imap/imap-envelope.c
M src/lib-mail/message-address.c
M src/lib-mail/message-address.h
M src/lib-mail/test-message-address.c
2024-01-30 22:42:50 +0200 Timo Sirainen (0bae091859)
lib-mail: test-imap-envelope - Use test_assert_idx() where possible
M src/lib-imap/test-imap-envelope.c
2024-02-09 00:33:00 +0200 Timo Sirainen (cee08202c7)
lib: Add DLLIST2_JOIN()
M src/lib/llist.h
M src/lib/test-llist.c
2024-02-09 00:32:39 +0200 Timo Sirainen (8e4c42dbb3)
lib: test-llist - Fix dllist2 test name
M src/lib/test-llist.c
2024-03-26 14:13:42 +0200 Aki Tuomi (57ee018642)
auth: mech-oauth2 - Use the iterated passdb in oauth2_find_oidc_url()
Fixes a crash when oauth2 passdb is not first. Broken in
59647f483c49c9e54c43cade168bf10f44a49292
M src/auth/mech-oauth2.c
2024-03-13 13:08:18 +0200 Timo Sirainen (b6f4074961)
login-common: Add client_vfuncs.iostream_change_pre/post()
M src/login-common/client-common.c
M src/login-common/client-common.h
2023-10-06 15:59:32 +0300 Timo Sirainen (955bff2155)
lib: Fix sha2 functions to not produce wrong results with >500MB input
M src/lib/sha2.c
M src/lib/sha2.h
M src/lib/test-hash-method.c
2023-10-03 13:11:49 +0000 Marco Bettini (ac2bc5da92)
oauth: Accept multiple entries in aud field
M src/auth/db-oauth2.c
M src/lib-oauth2/oauth2-jwt.c
2023-08-28 15:27:09 +0000 Marco Bettini (47349e2482)
mail-crypt: mail_crypt_mailbox_allocated() - Force cross-user copies to
(de,re)encrypt the contents
M src/plugins/mail-crypt/mail-crypt-plugin.c
2023-09-06 15:04:49 +0300 Aki Tuomi (aaaa810590)
NEWS: Update NEWS with changes
M NEWS
2023-09-06 08:34:51 +0300 Aki Tuomi (bafdc83211)
lib-sql: driver-mysql - Use API state to check if there is connection
db->mysql cannot be NULL.
Broken in 542877c08eb8130733567e5b718933bc3cdc8426
M src/lib-sql/driver-mysql.c
2023-09-05 13:39:40 +0300 Aki Tuomi (21927de9f4)
dsync: Destroy name128_remotesep_hash in dsync_mailbox_tree_deinit()
Forgotten in 678d0463849ba777106eb7875f27db07a5d8e3df
M src/doveadm/dsync/dsync-mailbox-tree.c
2023-09-02 17:50:55 +1000 Ted Phelps (6901e5fc1c)
dsync: Fix an infinite loop
Be sure to update 'name' when traversing the components of a path in
convert_name_to_remote_sep. Otherwise we end up allocating a lot of memory
and failing.
M src/doveadm/dsync/dsync-mailbox-tree.c
2023-08-30 13:19:47 +0300 Aki Tuomi (542877c08e)
lib-sql: driver-mysql - Initialize MYSQL struct once
Calling initialize more than once will leak memory.
M src/lib-sql/driver-mysql.c
2023-08-30 13:21:12 +0300 Aki Tuomi (939e47c94e)
lib-sql: driver-mysql - Use driver_mysql_disconnect() in deinit
This ensures we call mysql_close() only in one place.
M src/lib-sql/driver-mysql.c
2023-08-29 15:04:04 +0300 Aki Tuomi (f55acdc81c)
lib-sql: driver-mysql - Use container_of instead of blind cast
M src/lib-sql/driver-mysql.c
2023-07-17 10:36:32 +0300 Aki Tuomi (34f597596e)
lib-sql: Disconnect SQL connection on error
M src/lib-sql/driver-mysql.c
2023-06-22 10:48:13 +0300 Timo Sirainen (648b5a3a6e)
mdbox: Fix crash still if fdatasync_path() fails
Broken still in a8424a71d70e2f5c54d9e2aab8338cf9547b15b4
M src/lib-storage/index/dbox-multi/mdbox-save.c
2023-08-30 15:46:20 +0300 Aki Tuomi (02bf7bd126)
configure: Update version
M configure.ac
2023-08-30 15:45:45 +0300 Aki Tuomi (c658ae5288)
NEWS: Add news for 2.3.21
M NEWS
2023-06-15 13:32:11 +0200 Karl Fleischmann (daff6f22c1)
stats: Allow empty event exporters when registering metrics
M src/stats/stats-metrics.c
2023-08-29 10:13:34 +0000 Marco Bettini (c7a8868882)
fts: doveadm - Add missing pool initialization in cmd_search_box()
Broken by: 467a664b5fce33f3d47a3e1171ecacb508968d1a
M src/plugins/fts/doveadm-fts.c
2023-08-24 12:26:44 +0300 Aki Tuomi (526b66635d)
auth: db-oauth2 - Set default value for active_attribute and active_value to
empty string
Otherwise it will always require this attribute to be present when not
configured.
M src/auth/db-oauth2.c
2023-08-24 22:16:36 +0300 Aki Tuomi (476e03f65b)
login-common: If authentication is aborted, clear out final response.
M src/login-common/sasl-server.c
2023-06-01 10:47:50 +0000 Marco Bettini (bfb698553f)
auth: db-oauth2 - Handle the case for check on attribute presence only
M src/auth/db-oauth2.c
2023-06-01 08:37:56 +0000 Marco Bettini (b6e310356f)
auth: db_oauth2_user_is_enabled() - Flatten the code
M src/auth/db-oauth2.c
2022-05-17 15:19:49 -0400 Steve Mokris (7969d5be1d)
auth: db-oauth2 - Fail login if active_attribute is missing
If active_attribute is required by config, we should fail to login when it's
missing.
M src/auth/db-oauth2.c
2023-05-12 11:48:25 +0300 Aki Tuomi (f3e85d8f51)
lib-oauth2: Do not send empty client_id or client_secret
M src/lib-oauth2/oauth2-request.c
2023-05-12 11:47:41 +0300 Aki Tuomi (9ad55e6c04)
lib-oauth2: Do not send client_id and client_secret as parameters in POST
queries
They need to be configured in the URL as Basic auth instead.
M src/lib-oauth2/oauth2-request.c
2023-05-12 08:59:50 +0300 Aki Tuomi (e449757553)
lib-oauth2: Do not send client_id & client_secret as POST parameters when
doing introspection
M src/lib-oauth2/oauth2-request.c
2023-05-08 08:38:20 +0300 Aki Tuomi (8623cb0319)
lib-oauth2: Validate scope when configured
M src/lib-oauth2/oauth2-jwt.c
M src/lib-oauth2/test-oauth2-jwt.c
2023-05-08 08:23:39 +0300 Aki Tuomi (9c7f5a74a7)
lib-oauth2: Remove typ check
It is not really useful. And mostly just keeps breaking when people invent
new kty values.
M src/lib-oauth2/oauth2-jwt.c
2023-05-08 08:21:43 +0300 Aki Tuomi (63e0c9ede4)
lib-oauth2: Ensure aud field has client_id when set.
OpenID Connect 1.0 specification says that "aud" field must contain OAuth
2.0 client_id of the Relying Party as an audience value.
M src/lib-oauth2/oauth2-jwt.c
2023-05-15 13:49:58 +0300 Aki Tuomi (18576fde01)
auth: mech-oauth2 - Always fail with protocol specific error
M src/auth/mech-oauth2.c
2023-05-15 11:51:19 +0300 Aki Tuomi (59647f483c)
auth: mech-oauth2 - Look for openid configuration URL if missing
M src/auth/mech-oauth2.c
M src/auth/passdb-oauth2.c
M src/auth/passdb.h
2023-05-04 15:44:15 +0300 Aki Tuomi (3db58fd809)
lib-oauth2: Return failure instead of crash with invalid or missing token
M src/lib-oauth2/oauth2-request.c
2022-12-14 10:10:12 +0200 Aki Tuomi (d6ff43f766)
auth: db-oauth2 - Add accessor for OpenID configuration URL
M src/auth/db-oauth2.c
M src/auth/db-oauth2.h
2023-06-02 14:20:08 +0300 Aki Tuomi (77e2d55092)
auth: db-oauth2 - Store request username
M src/auth/db-oauth2.c
2023-05-15 12:41:39 +0300 Aki Tuomi (3a69b83a35)
auth: Add auth_request_fail_with_reply()
M src/auth/auth-request.c
M src/auth/auth-request.h
2023-05-15 13:49:41 +0300 Aki Tuomi (d8fdd193f0)
auth: Pass along final response with failure
M src/auth/auth-request-handler.c
2023-05-15 12:28:53 +0300 Aki Tuomi (78b8d7c861)
lib-auth: Move auth_client_request_continue() lower
Simplifies next commit
M src/lib-auth/auth-client-request.c
2023-05-15 14:27:55 +0300 Aki Tuomi (7e5c9ad6da)
login-common: Serve final response for client on failure
M src/login-common/client-common-auth.c
M src/login-common/client-common.c
M src/login-common/client-common.h
M src/login-common/sasl-server.c
M src/login-common/sasl-server.h
2023-05-15 13:49:51 +0300 Aki Tuomi (dbb801a8f0)
login-common: Ignore resp when present
M src/login-common/client-common-auth.c
2023-05-03 14:35:54 +0300 sergey.kitov (5061e0c48a)
acl: Fix wrong \HasChildren flags for parent mailboxes containing '*' and
'%'
'*' in mailbox name is replaced with '%' while child mailboxes still have
'*' in their path, this results in wrong \HasNoChildren flag.
M src/plugins/acl/acl-mailbox-list.c
2023-05-03 14:35:18 +0300 sergey.kitov (f2e50d5676)
lib-storage: Whitespace cleanup.
M src/lib-storage/list/mailbox-list-iter.c
2023-05-09 07:22:15 +0000 Marco Bettini (50af4232c1)
lib-storage: Add mail_get_message_id_no_validation()
M src/lib-storage/mail-storage.h
M src/lib-storage/mail.c
2023-05-16 09:40:55 +0000 Marco Bettini (06aecd2b95)
lib-dict: redis_reply_callback() - Don't crash if there is no callback
M src/lib-dict/dict-redis.c
2023-04-18 00:08:40 +0300 Timo Sirainen (175043954c)
lib-index: Delete dovecot.index.cache during purging if it becomes too large
This only happens if the file was already too large before the purging
happens. This mainly fixes assert-crashes caused by old huge >1GB cache
files.
Fixes: Panic: file mail-index-util.c: line 10 (mail_index_uint32_to_offset):
assertion failed: (offset < 0x40000000)
M src/lib-index/mail-cache-purge.c
2022-05-17 12:31:40 +0200 Timo Sirainen (9f903ee879)
lib-master: Use ssl_require_crl setting only for server-side SSL settings
We don't currently properly support checking CRLs when acting as SSL client.
The CRL would have to be stored as part of the CAs, which isn't commonly
done. This bug has been in the code ever since it was added in
30c5c1fc3608ae575f11960281d3e338b6bf7bc8, but it became more noticeable with
recent changes that started using lib-master for getting all SSL client
settings, e.g. 1e5324b5805bf7299cd8196f7b659fe935f027bd
M src/lib-master/master-service-ssl-settings.c
2023-04-06 09:04:35 +0200 Karl Fleischmann (08528c38e1)
stats: stats_metrics_add_dynamic() - Validate event exporter
M src/stats/stats-metrics.c
2023-03-23 15:37:28 +0000 Marco Bettini (b3981ea5c6)
lib-master: stats_client_deinit() - Ensure conn.output is flushed before
returning
This prevents losing exported events still waiting in buffers while the
process exits.
M src/lib-master/stats-client.c
2023-03-27 08:19:38 +0000 Marco Bettini (e52db68ff4)
lib-master: stats_event_callback() - Skip if conn.output is already closed
This also prevents further errors from happening on the closed stream.
M src/lib-master/stats-client.c
2023-03-24 14:04:00 +0000 Marco Bettini (9c3e210f1e)
lib-master: stats_client_send_event() - Also flush conn.output and check for
errors
M src/lib-master/stats-client.c
2023-03-23 15:35:49 +0000 Marco Bettini (6231b7af67)
lib-master: stats_event_write() - Don't accumulate more than IO_BLOCK_SIZE
bytes in str buffer
M src/lib-master/stats-client.c
2023-02-24 14:06:14 +0200 Timo Sirainen (d6c67f24c4)
lib: event-filter-parser.y - Add workaround for nerrs being unused warning
Fixes with clang-17: warning: variable 'event_filter_parser_nerrs' set but
not used
M src/lib/event-filter-parser.y
2023-02-24 14:02:01 +0200 Timo Sirainen (6c22f4dc1f)
global: Remove dead code
M src/lib-dict/test-dict-client.c
M src/lib-master/test-event-stats.c
M src/lib/test-mempool-allocfree.c
2021-12-31 11:29:02 +0200 Timo Sirainen (7c73ba5364)
lib-dict: test-dict-client - Handle shutdown cleanly with ctrl-c
M src/lib-dict/test-dict-client.c
2022-07-07 13:58:02 +0300 Aki Tuomi (4c06fee481)
login-common: Handle missing ssl_iostream in get_var_expand_table()
It can be missing during connection disconnection when connection is lost
uncleanly.
M src/login-common/client-common.c
2023-04-04 11:51:22 +0300 Timo Sirainen (b0fd628d56)
notify-status: Fix crash if user initialization fails
The deinit code crashed if mail_namespaces_created hook hadn't been called
before user was deinitialized.
M src/plugins/notify-status/notify-status-plugin.c
2023-06-29 13:40:24 +0300 Aki Tuomi (2340275fad)
lib-sql: pgsql - Use orig_ioloop instead of local variable
orig_ioloop is used later, leaving it NULL here causes problems when timeout
is added by sqlpool.
Broken in 8981a973987c237552e46b68075b64caa8c1f5bb
M src/lib-sql/driver-pgsql.c
2023-06-26 10:43:00 +0000 Marco Bettini (4c3ae0468e)
dbox: Fix for dangling pointer being passed to cleanup_interval()
Broken in 88eee28fd86d619b26ce6aebadca5b18e748dc6f
M src/lib-storage/index/dbox-common/dbox-storage.c
M src/lib-storage/index/dbox-common/dbox-storage.h
M src/lib-storage/index/dbox-multi/mdbox-map.c
2023-06-20 18:58:13 +0300 Timo Sirainen (7268e169ec)
mdbox: Optimize mail_temp_scan_interval storage/ scanning
Use the generic dbox scanning code, which avoids stat()ing the directory by
keeping the timestamp in index header. Also do the scanning while at session
deinit instead of startup, so the latency isn't visible to clients.
M src/lib-storage/index/dbox-multi/mdbox-map.c
2023-06-20 18:58:00 +0300 Timo Sirainen (37ddfe8efb)
lib-storage: Split off index_mailbox_view_update_last_temp_file_scan()
M src/lib-storage/index/index-storage.c
M src/lib-storage/index/index-storage.h
2023-06-20 22:28:35 +0300 Timo Sirainen (6b4a3f8e7b)
dbox: mail_temp_scan_interval - Fix deleted temp file prefix
dbox files are always created with DBOX_TEMP_FILE_PREFIX, not the mailbox
list-specific prefix. This was a problem only if dbox was used with
LAYOUT=Maildir++, which nobody was likely to do. Other layouts had identical
temp file prefixes to DBOX_TEMP_FILE_PREFIX.
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-06-20 18:54:49 +0300 Timo Sirainen (41ddf30762)
dbox: Split off dbox_mailbox_list_cleanup()
M src/lib-storage/index/dbox-common/dbox-storage.c
M src/lib-storage/index/dbox-common/dbox-storage.h
2023-06-20 18:44:52 +0300 Timo Sirainen (58028ecbcf)
mdbox: Don't do temp file scanning for mailbox directories
The intention was to delete any temporary mail files that have been left
behind by crashed processes, but mail files are written to storage/
directory.
M src/lib-storage/index/dbox-common/dbox-storage.c
M src/lib-storage/index/dbox-common/dbox-storage.h
M src/lib-storage/index/dbox-single/sdbox-storage.c
2023-06-20 18:24:34 +0300 Timo Sirainen (a8424a71d7)
mdbox: Fix fdatasync() path when saving mails
It was supposed to be called on the parent directory of where mails were
written, i.e. storage/ directory. The previous code was instead calling it
on the mailbox-specific directory (similarly to sdbox) where nothing was
written.
M src/lib-storage/index/dbox-multi/mdbox-save.c
2023-06-20 18:21:38 +0300 Timo Sirainen (c6935e5ef2)
mdbox: Fix crash if fdatasync_path() fails
There is no dest_mail anymore at this stage of transaction.
M src/lib-storage/index/dbox-multi/mdbox-save.c
2023-04-12 12:06:52 +0300 sergey.kitov (7bb46f7e89)
lib-storage: Rollback save transaction when transaction commit fails.
M src/lib-storage/index/index-transaction.c
2023-02-05 20:51:12 +0200 Timo Sirainen (ac81ce75a6)
sdbox: Fix panic due to leaked mail_index_view if sync fails
Fixes: Panic: Leaked view for index .../dbox-Mails/dovecot.index: Opened in
mail-index-sync.c:445
M src/lib-storage/index/dbox-single/sdbox-sync.c
2023-02-05 20:50:06 +0200 Timo Sirainen (aae93d3ea7)
lib-index: Don't update log_file_tail_offset on sync if reading
dovecot.index.log failed
This is more of a theoretical issue, since dovecot.index.log read failure is
very unlikely.
M src/lib-index/mail-index-sync-update.c
2023-02-05 20:47:08 +0200 Timo Sirainen (830a7db7c0)
lib-index: Don't update max_tail_offset if write to dovecot.index.log fails
The max_tail_offset didn't actually increase in that situation. This fixes
wrongly updating mail_index_header.log_file_tail_offset after write to
dovecot.index.log failed (due to out of disk space), which in turn can cause
some unexpected errors.
M src/lib-index/mail-transaction-log-append.c
2023-02-05 20:46:34 +0200 Timo Sirainen (08740f7902)
lib-index: Fix event leak if purging dovecot.index.cache fails
M src/lib-index/mail-cache-purge.c
2022-11-02 15:56:54 +0200 Aki Tuomi (6d5eb29761)
lib-oauth2: jwt - Allow missing 'typ' field
M src/lib-oauth2/oauth2-jwt.c
M src/lib-oauth2/test-oauth2-jwt.c
2020-05-28 15:05:08 +0300 Aki Tuomi (9f528295d1)
lib-oauth2: test-oauth2-jwt - Ensure we ignore 'none' algorithm
M src/lib-oauth2/test-oauth2-jwt.c
2023-04-14 11:35:30 +0300 Timo Sirainen (3ea25161a3)
lib-login: Don't update process title if verbose_proctitle=no
Broken by 4fcd7f497577af361fc3313fbc07a61c14e17715
M src/lib-master/master-login.c
2023-03-24 03:26:33 +0200 Timo Sirainen (1e8d0face3)
global: Enable login_server_settings.update_proctitle
M src/imap-urlauth/imap-urlauth.c
M src/imap/main.c
M src/pop3/main.c
M src/submission/main.c
2023-03-24 03:26:11 +0200 Timo Sirainen (2a9b8c4e3a)
lib-login: Add login_server_settings.update_proctitle
Update the current login state in process title when enabled.
M src/lib-master/master-login.c
M src/lib-master/master-login.h
2023-03-24 04:02:28 +0200 Timo Sirainen (5266019fbb)
lib-login: Keep connection in server's linked list until it's fully freed
Otherwise the connection isn't accessible from any global variables.
M src/lib-master/master-login.c
2023-03-24 02:29:39 +0200 Timo Sirainen (af6edaef3f)
imap: Update process title while unhibernating
Previously the process title stayed as [idling] even though the process was
busy waiting on the imap-hibernate process to finish sending the
unhibernation request.
M src/imap/imap-master-client.c
M src/imap/imap-master-client.h
M src/imap/main.c
2023-03-24 02:00:37 +0200 Timo Sirainen (ed42bc9c0f)
lib-master: Set process title to [initializing] until
master_service_init_finish()
M src/lib-master/master-service.c
2023-03-24 02:02:58 +0200 Timo Sirainen (d591711cdb)
lib: Add process_title_get_counter()
M src/lib/process-title.c
M src/lib/process-title.h
2023-03-24 01:53:43 +0200 Timo Sirainen (c7cf91d863)
master: Set VERBOSE_PROCTITLE environment to child processes
This is needed for updating process title during initialization before
settings are read.
M src/lib-master/master-interface.h
M src/master/service-process.c
2023-03-24 01:15:21 +0200 Timo Sirainen (f89dec342d)
imap: Disconnect imap-master client if it's not sending anything for 25
seconds
M src/imap/imap-master-client.c
2023-03-24 01:45:34 +0200 Timo Sirainen (61e4e19d06)
imap: Improve disconnection log message if it happens immediately after
unhibernation
The "No commands sent after unhibernation" can mean that imap-hibernate
process saw a timeout while unhibernating and shutdown the connection. Or it
can also mean just that the client itself disconnected.
M src/imap/imap-client.c
2023-03-24 01:41:37 +0200 Timo Sirainen (8eb93d1c41)
imap-hibernate: If unhibernation fails, make sure imap process won't finish
it later on
Especially if unhibernation fails due to a connection timeout to imap
process due to high load, it's possible that the imap process will
eventually finish the unhibernation and continue with the client. This is
rather confusing, since imap-hibernate process already logged that the
client got disconnected.
M src/imap-hibernate/imap-client.c
2022-01-13 16:54:18 +0200 Timo Sirainen (e4d6c8055e)
imap: Add client.unhibernated boolean
M src/imap/imap-client.c
M src/imap/imap-client.h
M src/imap/imap-common.h
M src/imap/imap-master-client.c
M src/imap/main.c
M src/imap/test-imap-client-hibernate.c
2023-05-05 15:20:34 +0000 Marco Bettini (80ddfb7b30)
auth: mech_gssapi_unwrap() - Release gss_release_buffe(outbuf) before
returning
M src/auth/mech-gssapi.c
2023-03-23 22:23:39 +0200 Timo Sirainen (7566d8783f)
master: Fix service { idle_kill } to work better on busy servers
The previous behavior was to kill a process once it had idled for idle_kill
seconds. However, on a busy server the new connections are picked up
somewhat randomly by all the idling processes, so there's never any single
process idling for a long time. This effectively prevents the idle_kill from
killing any processes, even if there are unnecessarily many of them.
The new behavior here tracks the lowest number of idling processes during
idle_kill time interval. Then it kills that many processes. If the load
stays the same, this should shrink the number of processes to the number
that is needed to handle the load, but no more.
M src/master/service-monitor.c
M src/master/service-process.c
M src/master/service.h
2023-03-23 16:07:26 +0200 Timo Sirainen (d0e74ddac0)
master: Replace per-process idle_kill timeout with per-service
This is much more efficient, since it doesn't have to keep updating the
timeout constantly for busy processes.
This change still preserves the original way the idle_kill setting behaves.
M src/master/service-monitor.c
M src/master/service-process.c
M src/master/service-process.h
M src/master/service.h
2023-03-23 16:37:08 +0200 Timo Sirainen (008622eb2c)
master: Add asserts to make sure counters don't wrap
M src/master/service-process.c
2023-03-23 16:36:10 +0200 Timo Sirainen (6cfee1e183)
master: Add service.process_idling to count number of idling processes
M src/master/service-monitor.c
M src/master/service-process.c
M src/master/service.h
2023-03-23 15:09:43 +0200 Timo Sirainen (a4e9e0c9b3)
master: Split processes list to busy and idling processes
Keep the idling processes sorted by idle_start time. This will be needed by
the next commit.
M src/master/main.c
M src/master/master-client.c
M src/master/service-monitor.c
M src/master/service-process.c
M src/master/service-process.h
M src/master/service.c
M src/master/service.h
2023-02-28 12:05:44 +0000 Marco Bettini (3b67507e97)
dbox: dbox_cleanup_temp_files() - Fuzz scan interval adding 0..+30% based on
username hash
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-02-28 11:45:43 +0000 Marco Bettini (c3756423f0)
dbox: dbox_cleanup_temp_files() - Reformat code
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-02-28 11:44:48 +0000 Marco Bettini (5fcf0da179)
dbox: dbox_cleanup_temp_files() - Remove unnecessary else/else if after
returns
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-02-28 11:30:22 +0000 Marco Bettini (e91d8309f5)
dbox: dbox_mailbox_open() - Drop unused ctime
M src/lib-storage/index/dbox-common/dbox-storage.c
M src/lib-storage/index/dbox-common/dbox-storage.h
M src/lib-storage/index/dbox-multi/mdbox-storage.c
M src/lib-storage/index/dbox-single/sdbox-storage.c
2023-02-28 11:21:10 +0000 Marco Bettini (4bf0ee1814)
dbox: dbox_mailbox_open() - Move dbox_cleanup_temp_files() to
dbox_mailbox_close()
M src/lib-storage/index/dbox-common/dbox-storage.c
M src/lib-storage/index/dbox-common/dbox-storage.h
M src/lib-storage/index/dbox-multi/mdbox-storage.c
M src/lib-storage/index/dbox-single/sdbox-storage.c
2023-02-28 10:15:50 +0000 Marco Bettini (f18b8e9f46)
dbox: dbox_mailbox_open() - Infer last_temp_file_scan from dir's atime if 0
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-02-28 10:14:26 +0000 Marco Bettini (4ddb4f7656)
dbox: dbox_mailbox_create() - Update last_temp_file_scan
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-03-03 16:15:17 +0000 Marco Bettini (119d496acd)
lib-storage: dbox_cleanup_temp_files() - Fix inverted check for ENOENT
M src/lib-storage/index/dbox-common/dbox-storage.c
2023-03-24 08:53:27 +0200 Aki Tuomi (eab9fd0154)
stats: openmetrics - Set field always when used
Satisfied static analysers.
Broken in ba19a18d54cb7cf7de93d6a235862a408cfe5828
M src/stats/stats-service-openmetrics.c
2023-01-26 08:15:29 +0200 Aki Tuomi (8aef0ce5ea)
stats: openmetrics - Create metrics for all specified fields
M src/stats/stats-service-openmetrics.c
2023-04-04 00:43:55 +0300 Timo Sirainen (4c74cf89f6)
dsync: Fix handling mailboxes with % character when BROKENCHAR isn't
explicitly set in config
When vname_escape_char (= BROKENCHAR) isn't explicitly set in configuration,
'%' character (or if it was hierarchy separator, '~') was used as the
default internal escape character. However, this was used inconsistently
between local and remote mailbox trees. The remote tree stored the mailbox
names unescaped, while the local mailbox names were escaped. This
inconsistency caused dsync to do unnecessary mailbox renames, which might
have ended up failing.
This especially fixes dsync failures when mailbox name ended with the '%'
character.
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
M src/doveadm/dsync/dsync-mailbox-tree-fill.c
M src/doveadm/dsync/dsync-mailbox-tree.h
2023-04-04 00:43:04 +0300 Timo Sirainen (e69f52d697)
dsync: Refactor dsync_brain_mailbox_to_parts() into
dsync_mailbox_name_to_parts()
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
M src/doveadm/dsync/dsync-mailbox-tree.c
M src/doveadm/dsync/dsync-mailbox-tree.h
2023-03-20 14:00:48 +0000 Marco Bettini (37f46933cf)
virtual: virtual_backend_box_lookup() - Enforce callers to check if the call
succeeded
M src/plugins/virtual/virtual-mail.c
M src/plugins/virtual/virtual-storage.c
M src/plugins/virtual/virtual-storage.h
M src/plugins/virtual/virtual-sync.c
2023-03-24 13:50:29 +0000 Marco Bettini (f861c0be75)
virtual: virtual_sync_apply_existing_expunges() - Don't crash if the backend
mailbox has been removed
M src/plugins/virtual/virtual-sync.c
2023-01-02 10:23:43 +0200 Timo Sirainen (c29eccb64e)
lib-index: Fix assert-crash when header's log_file_seq/offset shrinks
mail_index_sync_set_log_view() is also missing this check, but it doesn't
seem to actually happen. It's likely handled by mail_index_map() already.
Fixes: Panic: file mail-transaction-log-view.c: line 165
(mail_transaction_log_view_set): assertion failed: (min_file_seq <=
max_file_seq)
M src/lib-index/mail-index-sync.c
2022-03-21 12:22:38 +0100 Stephan Bosch (d3aa3d876a)
lib-http: http-server-connection - Fix segfault occurring when output is
resumed on closed connection.
M src/lib-http/http-server-connection.c
2023-03-07 15:53:06 +0200 Timo Sirainen (7b60aa05af)
man: Add doveadm fts check fast/full
M doc/man/doveadm-fts.1.in
2023-02-09 17:04:22 +0200 Timo Sirainen (5b6f678009)
lib-imap-client: Fix/clarify selection state handling
The old code assumed that selected_box would be non-NULL while a new mailbox
is being selected. That's not true though, the imapc-storage code closes the
old mailbox before selecting the next one. So the QRESYNC-specific code for
tracking selected-state was never being used. Fixed this, and clarified in
general how the selected-state is supposed to work.
M src/lib-imap-client/imapc-client.c
M src/lib-imap-client/imapc-connection.c
M src/lib-imap-client/imapc-connection.h
2023-02-09 17:03:00 +0200 Timo Sirainen (2d6514adf9)
lib-imap-client: Rename imapc_connection.selecting_box to
qresync_selecting_box
It's only used when QRESYNC extension is enabled.
M src/lib-imap-client/imapc-connection.c
2023-02-09 16:21:24 +0200 Timo Sirainen (dbe23ac284)
imapc: Fix handling EXISTS reply to previous mailbox while selecting new
mailbox
For example if the communication was:
C: a SELECT box1
... C: b SELECT box2 S: * 10 EXISTS S: * 1 EXISTS S: * OK [UIDVALIDITY
1675948459] UIDs valid S: ... S: b OK
The first EXISTS is meant for box1, not box2. Fixed by not starting a FETCH
(FLAGS) for the mailbox being selected until the tagged reply is received.
M src/lib-storage/index/imapc/imapc-mailbox.c
2023-02-09 16:12:35 +0200 Timo Sirainen (a11c232854)
imapc: Don't process untagged replies in mailbox that isn't fully selected
yet
For example if the communication was:
C: a SELECT box1
... C: b SELECT box2 S: * 1 EXPUNGE S: * 1 EXISTS S: * OK [UIDVALIDITY
1675948459] UIDs valid S: ... S: b OK
The expunge was intended for box1, not box2. This caused: Warning:
imapc(...): Mailbox '...' state corrupted: EXPUNGE received for empty
mailbox - reconnecting
Fixed this by ignoring untagged EXPUNGE, FETCH, SEARCH and ESEARCH replies
when the UIDVALIDITY reply hasn't been yet received for a mailbox.
M src/lib-storage/index/imapc/imapc-mailbox.c
M src/lib-storage/index/imapc/imapc-storage.h
2023-02-08 20:40:41 +0200 Aki Tuomi (cf7d19e729)
auth: test-lua - Check that password is returned in lookup
M src/auth/test-lua.c
2023-02-08 20:32:57 +0200 Aki Tuomi (0cc4207a33)
auth: test-lua - Test bad keynames end up ignored
M src/auth/test-lua.c
2023-02-01 13:58:42 +0200 Aki Tuomi (97e121bb6d)
lib-storage: mail-user - Add event_ prefixed values from userdb as event
fields
M src/lib-storage/mail-storage-service.c
M src/lib-storage/mail-user.c
M src/lib-storage/mail-user.h
2023-02-01 13:53:42 +0200 Aki Tuomi (01263527d5)
login-common: Add event_ prefixed values from auth as event fields
M src/lib-auth/auth-client-request.c
M src/login-common/client-common-auth.c
M src/login-common/sasl-server.c
2023-02-06 21:23:48 +0200 Aki Tuomi (bb8fbcc60a)
auth: db-lua - Skip invalid keys and values on field export
M src/auth/db-lua.c
2023-01-20 16:41:47 +0100 Markus Valentin (0e3b992877)
maildir: maildir_mailbox_open() - Split off maildir_is_selectable()
M src/lib-storage/index/maildir/maildir-storage.c
2023-01-20 16:40:22 +0100 Markus Valentin (7522de9385)
maildir: maildir_mailbox_open() - If the namespace root or INBOX has any
subdir create others as well
M src/lib-storage/index/maildir/maildir-storage.c
2023-01-20 08:50:48 +0100 Markus Valentin (d669ab7d1b)
maildir: maildir_mailbox_open() - Disable maildir subdirectory creation for
INBOX
This was added in 522925f6e9ff8fe9592511c2221b3d6526d4cbf4. In the meantime
autocreate code changed so this is no longer valid.
M src/lib-storage/index/maildir/maildir-storage.c
2023-01-09 15:10:47 +0100 Markus Valentin (dc1d871a38)
welcome-plugin: Remove welcome_open_box()
M src/plugins/welcome/welcome-plugin.c
2023-01-09 15:06:54 +0100 Markus Valentin (171295bdef)
welcome-plugin: Move script_execute() to welcome_create_box()
The welcome script was executed while opening the INBOX only when the same
session had created it. This could have led to unexpectedly not executing
welcome when not opening the mailbox right after it was created.
The original code delayed the welcome script run because mailbox creation
wasn't finished until the mailbox was opened. This seems to have become
fixed at some point.
M src/plugins/welcome/welcome-plugin.c
2023-01-17 08:44:55 +0200 Timo Sirainen (cb666c441a)
lib-http: server - Fix potential crash with previous change on client
disconnect
Broken by 1418d1e9018fc34287722467c6ee506f3e378e1a
M src/lib-http/http-server-response.c
2023-01-11 14:32:20 +0200 Timo Sirainen (1414b26044)
lib-http: test-http-payload - Use ostream-final-trickle for server
connections
M src/lib-http/test-http-payload.c
2023-01-11 14:31:55 +0200 Timo Sirainen (72de31a36e)
lib-http: test-http-payload - Add filenames to data mismatch error messages
M src/lib-http/test-http-payload.c
2023-01-11 14:26:53 +0200 Timo Sirainen (b0801787b2)
lib-test: Add ostream-final-trickle
M src/lib-test/Makefile.am
A src/lib-test/ostream-final-trickle.c
A src/lib-test/ostream-final-trickle.h
2023-01-11 16:02:38 +0200 Timo Sirainen (d3a0ff0ef3)
lib: Add connection_vfuncs.init()
M src/lib/connection.c
M src/lib/connection.h
2023-01-12 12:23:31 +0200 Timo Sirainen (e72869b16a)
lib-http: server - Don't disconnect client before response is fully sent
This could happen at least when the payload is empty and the final LF was
buffered.
M src/lib-http/http-server-response.c
2023-01-11 00:44:40 +0200 Timo Sirainen (a5bd8e1bc5)
lib-http: server - Don't disconnect client before payload is fully sent
M src/lib-http/http-server-response.c
2023-01-12 17:17:29 +0200 Timo Sirainen (ec90c65b92)
lib-storage: Add mail_storage_service_input.unexpanded_set_parser
M src/lib-storage/mail-storage-service.c
M src/lib-storage/mail-storage-service.h
2022-11-23 09:21:10 +0200 Aki Tuomi (90ac2496ca)
NEWS: Update news
M NEWS
2022-12-28 12:19:11 +0200 Aki Tuomi (ed402ee9a7)
auth: Fix auth_request_password_verify() result handling
Pass the result directly to caller, as auth_request_password_verify()
returns passdb result already.
M src/auth/auth-worker-client.c
M src/auth/passdb-cache.c
M src/auth/passdb-dict.c
M src/auth/passdb-ldap.c
M src/auth/passdb-lua.c
M src/auth/passdb-passwd-file.c
M src/auth/passdb-passwd.c
M src/auth/passdb-sql.c
M src/auth/passdb-static.c
2022-12-28 12:05:39 +0200 Aki Tuomi (65d5b77f0e)
auth: Change auth_request_password_verify() to return enum passdb_result
This does not break anything, because PASSDB_RESULT_OK is 1 and mismatch is
0.
M src/auth/auth-request.c
M src/auth/auth-request.h
2022-12-26 23:48:27 +0200 Timo Sirainen (8832f6c002)
lib-storage: Fix unnecessary data stack growth when iterating mailboxes
When listing mailbox list indexes, it was possible that each iteration
increased the data stack memory usage. It was all freed at the end though,
so this didn't cause any permanent leaks.
Broken by 4fdb040d2471c6e5006579bef1dd0586f89c8570
M src/lib-storage/list/mailbox-list-index-iter.c
2022-12-14 15:07:38 +0200 Aki Tuomi (1fc7d5465f)
lib-lua: http - Use correct dns-client path
The current code tries to look it up from user homedir sometimes.
Broken in 5b56debd31800ec45fc0c6529b138d1ce943b0aa
M src/lib-lua/dlua-dovecot-http.c
2022-12-01 10:54:38 +0100 Markus Valentin (ea3859fd59)
lib-sql: Add sql_statement_set_no_log_expanded_values()
This allows to store no_log_expanded_values to sql_statement.
M src/lib-dict-backend/dict-sql.c
M src/lib-sql/sql-api-private.h
M src/lib-sql/sql-api.c
M src/lib-sql/sql-api.h
2022-12-01 11:13:16 +0100 Markus Valentin (dd7f5beff9)
dict: Implement DICT_PROTOCOL_CMD_HIDE_LOG_VALUES for dict and dict-proxy
M src/dict/dict-commands.c
M src/lib-dict/dict-client.c
M src/lib-dict/dict-client.h
2022-12-01 11:03:26 +0100 Markus Valentin (b94b31d5a9)
lib-dict: Add .set_hide_log_values() to dict vfuncs
This is used to set hide_log_values in dict op settings.
M src/lib-dict/dict-private.h
M src/lib-dict/dict.c
M src/lib-dict/dict.h
2022-12-05 11:58:31 +0100 Markus Valentin (0f5980d01e)
cassandra: Rename query to log_query and initialize it with
sql_statement_get_log_query()
Also add sql_statement_get_log_query() to sql-api.
M src/lib-sql/driver-cassandra.c
M src/lib-sql/sql-api-private.h
M src/lib-sql/sql-api.c
2022-12-05 11:50:30 +0100 Markus Valentin (ec9f878128)
lib-event: Add event_unset_log_message_callback()
M src/lib/lib-event.c
M src/lib/lib-event.h
2022-11-28 11:17:11 +0100 Markus Valentin (74bbb6b0e9)
fs-api: Add fs_get_event()
M src/lib-fs/fs-api.c
M src/lib-fs/fs-api.h
2022-12-01 12:37:17 +0200 Timo Sirainen (f23ca5016f)
pop3: Fix assert-crash when POP3 command name contained ':'
The cmd_ reason code now only uses valid command names.
Broken by d2ab26be6038bd53b13a3ff18c403d6c192c1d91 with incomplete fix in
1309137812424c80e63d3c1052795b43d6e19803.
Fixes: Panic: event_reason_code_prefix(): name has ':'
M src/pop3/pop3-client.c
M src/pop3/pop3-commands.c
M src/pop3/pop3-commands.h
2022-12-01 12:32:28 +0200 Timo Sirainen (cdd778233d)
pop3: Move pop3 commands to array and add pop3_command_find()
M src/pop3/pop3-commands.c
M src/pop3/pop3-commands.h
2022-11-23 09:21:10 +0200 Aki Tuomi (1f127c8a59)
NEWS: Update news
M NEWS
2022-11-14 23:27:33 +0200 Timo Sirainen (88150e0bb8)
lmtp: Fix restoring global log prefix after session is finished
Broken by 069dfd657fd91a0e2a3a9307a0cf499d795f27f2
This change also slightly changes the lmtp log prefixes in some places. It
removes "conn $ip:$port [$idx]: rcpt $user:" from some of the log messages
(but that wasn't in all of the log messages anyway), but it now always
includes mail_log_prefix in these log messages, which previously wasn't
always set at that point yet.
M src/lmtp/main.c
2022-10-21 13:32:48 +0000 Marco Bettini (805db6b027)
fts: struct fts_user - Drop data_languages
M src/plugins/fts/fts-user.c
M src/plugins/fts/fts-user.h
2022-10-21 09:15:04 +0000 Marco Bettini (74d8e389bf)
fts: fts-search-args - Fix stopwords expansion (only on multiple languges
and with stopword filter enabled)
M src/plugins/fts/fts-search-args.c
2022-10-20 14:07:23 +0000 Marco Bettini (07ec8339ee)
lib-storage: enum mail_search_arg_type - Add SEARCH_NIL
M src/lib-storage/index/imapc/imapc-search.c
M src/lib-storage/index/index-search.c
M src/lib-storage/mail-search-args-cmdline.c
M src/lib-storage/mail-search-args-imap.c
M src/lib-storage/mail-search-args-simplify.c
M src/lib-storage/mail-search-register-imap.c
M src/lib-storage/mail-search.c
M src/lib-storage/mail-search.h
M src/lib-storage/test-mail-search-args-simplify.c
2022-11-09 15:29:39 +0000 Marco Bettini (f41286b8f1)
lib-storage: mail_search_args_simplify_drop_redundant_args() - Apply
Absorptive law versus all terms, not just the 1st
M src/lib-storage/mail-search-args-simplify.c
M src/lib-storage/mail-search.c
M src/lib-storage/mail-search.h
M src/lib-storage/test-mail-search-args-simplify.c
2022-11-03 17:40:28 +0200 Timo Sirainen (8fb6b9e1b8)
dsync: Skip autocreated mailboxes that haven't been created yet
M src/doveadm/dsync/dsync-mailbox-tree-fill.c
2022-11-04 14:01:14 +0200 Timo Sirainen (b05564d157)
imapc: Fix listing INBOX when INBOX is already the namespace prefix
This especially caused problems when using dsync with imapc, resulting in
"Remote lost mailbox GUID" errors.
M src/lib-storage/index/imapc/imapc-list.c
2022-11-01 11:21:34 +0200 Timo Sirainen (142c054f85)
replicator: Fix crash when importing user not listed by userdb iteration
Broken by 31545b4f38ea85615f0111a33d630a03d92d22ab
M src/replication/replicator/replicator-queue.c
2022-08-16 23:42:51 +0300 Timo Sirainen (7286076402)
replicator: Add unit test to replicator-queue
M src/replication/replicator/Makefile.am
A src/replication/replicator/test-replicator-queue.c
2022-10-28 17:57:03 +0300 Timo Sirainen (95ec1043e0)
replicator: Add replicator_queue_count() and replicator_queue_peek()
These will be useful for the following unit test.
M src/replication/replicator/replicator-queue.c
M src/replication/replicator/replicator-queue.h
2022-10-25 15:39:39 +0300 Timo Sirainen (8190571703)
replicator: Add "next sync secs" field to doveadm replicator status
M src/doveadm/doveadm-replicator.c
M src/replication/replicator/doveadm-connection.c
2022-10-25 13:27:23 +0300 Timo Sirainen (390e5a4c3d)
replicator: Make sure to prevent request starvation
This synchronizes how priority queue is ordered vs what
replicator_queue_want_sync_now() returns. The mismatch might have caused
request starvation in some situations because they behaved differently.
Also this change makes sure that higher priority requests don't infinitely
block lower priority requests. Instead, they get a temporary boost time
(hardcoded 15-45 minutes). Afterwards lower priority requests are started to
be handled as well.
M src/replication/replicator/doveadm-connection.c
M src/replication/replicator/replicator-queue.c
M src/replication/replicator/replicator-queue.h
2022-10-25 13:11:37 +0300 Timo Sirainen (97bf10e1da)
replicator: Don't update user's last_update if priority doesn't change
This didn't actually matter, since it was only used to check if importing
should update an existing user. However, importing is only run at startup
when all users have last_update=0 anyway.
The following changes bring new use cases for last_update.
M src/replication/replicator/replicator-queue.c
M src/replication/replicator/replicator-queue.h
2022-10-25 13:08:36 +0300 Timo Sirainen (5c9f252471)
replicator: Change replicator_queue_add_sync_callback() to take user struct
This is just to clean up the API to match the previous change.
M src/replication/replicator/notify-connection.c
M src/replication/replicator/replicator-queue.c
M src/replication/replicator/replicator-queue.h
2022-10-25 12:49:03 +0300 Timo Sirainen (278d4a08f2)
replicator: Fix user placement in replication queue
Especially replicator queue importing and NOTIFY command could have placed
the user to wrong place in the queue, because they modified the last sync
timestamps afterwards.
Fixed by splitting replicator_queue_add() into get/update/add(), so all the
necessary changes can be done before replicator_queue_add() is used to place
the user into the queue.
M src/replication/replicator/doveadm-connection.c
M src/replication/replicator/notify-connection.c
M src/replication/replicator/replicator-queue-auth.c
M src/replication/replicator/replicator-queue.c
M src/replication/replicator/replicator-queue.h
2022-10-28 00:56:29 +0300 Timo Sirainen (94f620c4da)
maildir: If mailbox create fails, don't try to apply mailbox_update changes
This was especially causing problems with mailbox GUID mismatches in dsync.
The mismatch wasn't automatically fixed, because mailbox_create()
incorrectly kept updating the mailbox GUID for the already existing mailbox.
Fixes errors such as: Remote lost mailbox GUID ... (maybe it was just
deleted?)
M src/lib-storage/index/maildir/maildir-storage.c
2022-10-27 02:56:45 +0300 Timo Sirainen (29c982fe52)
lib-storage: mailbox_attribute_get*() - Fail early on with empty key lookup
This fixes using mail_attribute_dict with dict-sql.
M src/lib-storage/mailbox-attribute.c
2022-03-03 14:21:00 +0100 Markus Valentin (2aa632260b)
imapc: imapc_connection_disconnect_full() - Only conditionally abort
Only abort commands if there are no reconnect commands. Otherwise these
still will be handled and the commands memory will be freed after handling
them.
Broken by 6d16e82fa2c352974558e1415d06f07d8962fe09
M src/lib-imap-client/imapc-connection.c
2022-02-28 15:50:05 +0100 Markus Valentin (e91916ad57)
imapc: imapc_connection_disconnect_full() - Prevent leaking cmd->pool
If the imapc connection was already disconnected when calling
imapc_connection_disconnect() it didn't clean up the commands and especially
the command pools.
M src/lib-imap-client/imapc-connection.c
2022-10-12 13:26:03 +0200 Markus Valentin (b0f19c117a)
imapc: imapc_mailbox_get_status() - Implement STATUS_UNSEEN with INDEXPVT
M src/lib-storage/index/imapc/imapc-storage.c
2022-10-19 09:26:55 +0300 Martti Rannanjärvi (410acf8760)
lib-storage: mail-storage-list-index-rebuild - Don't use continue inside
T_BEGIN..T_END
Coverity doesn't like using continue there.
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-10-05 15:42:25 +0300 Aki Tuomi (ef26f7d1ef)
lib-storage: LAYOUT=index rebuild - Fix detecting duplicate mailbox GUIDs in
index
Otherwise duplicate folders are not properly cleared out.
Broken in 2fc8d7024bb161aab08031b8212a736301844858
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-10-05 15:27:31 +0300 Aki Tuomi (ce65fc1fc9)
lib-storage: LAYOUT=index rebuild - Remove existence check
It's not needed.
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-09-27 15:03:37 +0300 Aki Tuomi (8dbd0d79cc)
lib-storage: LAYOUT=index rebuild - Sort mailbox tree before creating
Try to load the mailbox original name already from storage so we can sort &
create the mailbox tree in correct order.
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-09-27 13:01:29 +0300 Aki Tuomi (1ff6f0948a)
lib-storage: LAYOUT=index rebuild - Remove first_list usage
Instead, keep track of the list where box was found.
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-10-05 15:15:17 +0300 Aki Tuomi (b5b41c5410)
lib-storage: LAYOUT=index rebuild - Remove useless check for LAYOUT=index
This is already done when collecting namespaces.
Simplifies next change.
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-09-21 11:14:40 +0300 Aki Tuomi (7c2176d18e)
lib-storage: LAYOUT=index rebuild - Fix rebuilds when using multiple
namespaces
The old code did not properly populate the mailbox list for each namespace,
but only for the first namespace. This caused mailbox storage existence
checks to always fail.
This applies for LAYOUT=index only.
Broken in 2fc8d7024bb161aab08031b8212a736301844858
M src/lib-storage/list/mail-storage-list-index-rebuild.c
2022-10-18 11:35:22 +0300 Aki Tuomi (bcdf913eb8)
lib-storage: list - Add separators to mailbox names when decoding from index
Mailbox name header decode did not add separators to name, producing only
FooBarBar, when it was supposed to give Foo/Bar/Baz.
Broken in 8216a079d8aac93e2537ed79485e301350ff3887
M src/lib-storage/list/mailbox-list-index.c
2022-10-11 11:17:11 +0300 Timo Sirainen (efafbfaad6)
lib-storage: Store mailbox names unescaped in box-name header
This header is used when rebuilding mailbox list indexes with LAYOUT=index.
The escape character is currently hardcoded for LAYOUT=index, so this
couldn't have broken anything unless the hardcoded separator was changed.
Still, this was wrong/confusing behavior.
M src/lib-storage/list/mailbox-list-index-backend.c
M src/lib-storage/list/mailbox-list-index.c
M src/lib-storage/list/mailbox-list-index.h
2022-06-15 12:19:55 +0300 Timo Sirainen (27131bdfa3)
dict-redis: Fix crash when using synchronous commit
Redis is usually used via dict proxy process, which always uses async
commit, so this didn't matter so much.
M src/lib-dict/dict-redis.c
2022-02-10 17:12:09 +0200 Timo Sirainen (a8f52eb73f)
director: Fix handling auth_master_user_separator setting
It was actually using a separate master_user_separator setting, causing
logins based on auth_master_user_separator to be hashed to wrong backends.
M src/director/director-settings.c
M src/director/director-settings.h
M src/director/login-connection.c
2022-09-27 14:28:38 +0300 Timo Sirainen (4a1b25a1c0)
doveadm: Fix assert-crash on secondary service_user failures
This mainly affected dsync when imapc authentication failed, but could have
also happened with copy and import commands.
Fixes: Panic: file lib-event.c: line 506 (event_pop_global): assertion
failed: (event == current_global_event)
M src/doveadm/doveadm-mail.c
2022-09-28 16:21:26 +0300 Timo Sirainen (069dfd657f)
lib-storage: Fix MAIL_STORAGE_SERVICE_FLAG_NO_LOG_INIT to not change log
prefix in ioloop context changes
This didn't appear to cause any visible bugs with the current code, but is
required by the next commit.
Broken by ad13ab0702141065b79a1b7e8f2833e5b93871a4
M src/lib-storage/mail-storage-service.c
2022-08-25 09:20:40 +0300 Aki Tuomi (62f388b03e)
doc/example-config: Document submissions/465 for submission-login
M doc/example-config/conf.d/10-master.conf
2022-02-22 17:47:55 +0100 Timo Sirainen (08bf01a739)
lib-storage: Avoid calling mail_set_attachment_keywords() recursively
It doesn't break, but it's unnecessary work.
M src/lib-storage/index/index-mail.c
M src/lib-storage/index/index-mail.h
2022-02-22 17:44:02 +0100 Timo Sirainen (73962c1f59)
lib-imap: imap_bodystructure_parse*() - Reset parts.data on failure
Having the data filled only to some message_parts can confuse the callers,
thinking that all the parts were successfully filled.
Fixes: Panic: file message-part-data.c: line 579
(message_part_is_attachment): assertion failed: (data != NULL)
M src/lib-imap/imap-bodystructure.c
M src/lib-imap/test-imap-bodystructure.c
2022-06-16 10:57:15 +0300 Timo Sirainen (300b5c257b)
dsync: Add more debug logging
M src/doveadm/dsync/dsync-mailbox-import.c
2022-06-16 10:55:42 +0300 Timo Sirainen (8609825d4e)
dsync: Fix dsync_features=no-header-hashes to match UIDs
Mails were previously assumed to be the same, even if their UIDs didn't
match. This caused the sync to misbehave in some situations.
M src/doveadm/dsync/dsync-mailbox-import.c
2022-02-04 09:33:34 +0200 Aki Tuomi (4c56bab522)
lib: ioloop-kqueue - Include time-util.h
Needed to compile on MacOS
M src/lib/ioloop-notify-kqueue.c
2022-05-16 11:04:10 +0200 Timo Sirainen (7accb09647)
util: dovecot-sysreport - Add timestamps before/after "ps" output
Sometimes running "ps" can take a while, so make it clear in the output if
this has happened.
M src/util/dovecot-sysreport
2022-05-16 10:52:54 +0200 Timo Sirainen (fe8710dde7)
util: dovecot-sysreport - Wait 3 seconds between "ps" outputs
This allows showing more clearly in ps_output file whether a process is
using 100% CPU.
M src/util/dovecot-sysreport
2022-06-13 09:56:13 +0300 Timo Sirainen (a5ffdc8deb)
doveadm deduplicate: Allocate memory properly for keys in hash table
This caused wrong mails to be deleted somewhat randomly. Broken by
320844f50cd669b602d30210e2e5216f65d2050f
M src/doveadm/doveadm-mail-deduplicate.c
2022-06-07 09:40:10 +0300 Martti Rannanjärvi (f0a9cbfb9d)
auth: db_oauth2_have_all_fields() - Fix auth field existence check
The correct pointer to pass on there is field, since ptr is the original
which still includes the ending }.
Broken in 9b670175445a75987a713ff899d1a945255b0b5b and incorrectly fixed in
5c2f3d0b85830d18dbb8b45b348da091e24d1b3b.
M src/auth/db-oauth2.c
2022-05-24 15:52:26 +0300 Timo Sirainen (c4086c78a8)
lib-compression: istream-decompress - Copy parent stream name
This is needed, because istream-decompress doesn't actually use the parent
stream as the istream parent.
M src/lib-compression/istream-decompress.c
2022-05-19 12:39:55 +0300 Aki Tuomi (8b3b959d0c)
stats: stats-service-openmetrics - Always clear the stack before next metric
body
If the attempt of generating output for the previous metric doesn’t
completely consume the stack, the next metric will start with a non-empty
stack, which breaks the metrics output.
M src/stats/stats-service-openmetrics.c
2022-05-19 11:24:23 +0200 Timo Sirainen (9708531c04)
doveadm: Add dsync_features=no-header-hashes
When this setting is enabled and one dsync side doesn't support mail GUIDs,
there is no fallback to using header hashes. Instead, dsync assumes that all
mails with identical IMAP UIDs contains the same mail contents. This can
significantly improve dsync performance with some IMAP servers that don't
support caching Date/Message-ID headers.
M src/doveadm/doveadm-dsync.c
M src/doveadm/doveadm-settings.c
M src/doveadm/doveadm-settings.h
M src/doveadm/dsync/dsync-brain-mailbox.c
M src/doveadm/dsync/dsync-brain-private.h
M src/doveadm/dsync/dsync-brain.c
M src/doveadm/dsync/dsync-brain.h
M src/doveadm/dsync/dsync-mailbox-import.c
M src/doveadm/dsync/dsync-mailbox-import.h
2022-05-18 11:31:44 +0300 Timo Sirainen (30e6947179)
auth: Fix assert-crash in iterating multiple userdbs
Broken by 501e17ba6b448ba3c88338596e0e8f99f0693f79
Fixes: Panic: file userdb-blocking.c: line 125 (userdb_blocking_iter_next):
assertion failed: (ctx->conn != NULL)
M src/auth/auth-master-connection.c
2022-05-02 13:12:26 +0000 Marco Bettini (e56bb5e361)
lib: Fix for clang Wstrict-bool pragma failing on unpatched clang
Note that clang recognises GCC diagnostic pragmas too, so there is no need
for distinct pragmas in this case
M src/lib/event-filter-lexer.l
M src/lib/event-filter-parser.y
2022-05-02 11:14:10 +0000 Marco Bettini (fdf4cf0d01)
quota: Fix for clang -Wstrict-bool clashing with #include
M src/plugins/quota/Makefile.am
A src/plugins/quota/rquota-pragmas.h
2022-05-02 11:13:41 +0000 Marco Bettini (2f8682fc0d)
m4: adding check for clang -Wstrict-bool availability
M configure.ac
M m4/dovecot.m4
2022-05-17 09:05:20 +0200 Timo Sirainen (39abdd9343)
submission: Don't log write() errors that fail due to ECONNRESET
These happen only if client initialization fails.
M src/submission/main.c
2022-05-17 09:03:47 +0200 Timo Sirainen (06e883ec95)
imap: Don't log write() errors that fail due to ECONNRESET
These happen only before the client is fully initialized.
M src/imap/main.c
2022-05-03 00:27:47 +0300 Timo Sirainen (a91f361d84)
fts: Fix optimizing searches in virtual mailboxes without up-to-date indexes
This could have caused header searches in virtual mailboxes to not return
all results when fts_enforced!=yes
Broken by 9705b81fb51b5bdeaba12932a390ced2cc9dcad7
M src/plugins/fts/fts-storage.c
2022-04-25 10:43:45 +0300 Aki Tuomi (97f19460a9)
lib-lua: dlua-dovecot-http - Support more settings with HTTP client
M src/lib-lua/dlua-dovecot-http.c
2022-04-25 14:27:12 +0300 Aki Tuomi (3eddd5eba5)
lib-http: Rename max_auto_retry_delay to max_auto_retry_delay_secs
M src/lib-http/http-client-request.c
M src/lib-http/http-client.c
M src/lib-http/http-client.h
2022-04-19 11:42:05 +0300 Timo Sirainen (1c6c3c320d)
auth: auth_worker_call() - Return void instead of the connection
The return value is no longer necessary, and it most likely would just be
used wrong.
M src/auth/auth-worker-server.c
M src/auth/auth-worker-server.h
2022-04-19 11:40:52 +0300 Timo Sirainen (94577c4450)
auth: Fix crash when user iteration request is queued
auth_worker_call() returns NULL when the request couldn't be handled
immediately, which would result in NULL pointer dereference later on.
M src/auth/userdb-blocking.c
2022-04-19 11:39:35 +0300 Timo Sirainen (f89c9e587e)
auth: Add connection parameter to auth_worker_callback_t
M src/auth/auth-worker-server.c
M src/auth/auth-worker-server.h
M src/auth/passdb-blocking.c
M src/auth/passdb-cache.c
M src/auth/userdb-blocking.c
2022-04-14 13:46:59 +0200 Timo Sirainen (865fb4f3c1)
doveadm: Fix hang when flushing a corked print-ostream
This could have happened at least with doveadm sync/backup command, i.e.
causing replication to hang until timeout is reached:
Error: write() failed: Timed out after 60 seconds
M src/doveadm/doveadm-print-server.c
2022-04-08 15:59:59 +0300 Timo Sirainen (0dd36a73e4)
lib-index: Always write tail offset the same as head offset
The mail_index_write() must not be called unless this is safe to do. This
prevents unnecessarily reading through dovecot.index.log between tail..head
offsets, which can be expensive due to modseq calculation.
M src/lib-index/mail-index-write.c
2022-04-08 15:10:53 +0300 Timo Sirainen (aa7d67e6d6)
lib-index: Optimize modseq scanning by using the modseq header in index
View is very commonly set to start reading new changes since dovecot.index
was last written. When reading the newer records in dovecot.index.log, the
modseq of each change is needed to be known. However, the initial modseq
calculation was usually done inefficiently by reading the whole
dovecot.index.log from the beginning of the file. This change prevents that
by using instead the "modseq" header in dovecot.index to get the initial
modseq.
M src/lib-index/mail-index-map-read.c
M src/lib-index/mail-index-modseq.c
M src/lib-index/mail-index-modseq.h
M src/lib-index/mail-index-private.h
M src/lib-index/mail-transaction-log-modseq.c
2022-04-08 13:42:55 +0300 Timo Sirainen (40e2a21f83)
lib-index: Handle 0-sized dovecot.index.log record properly
The previous behavior was to just silently ignore it and have the next write
to the transaction log silently truncate away the trailing garbage.
Now if the log file isn't locked the issue is still ignored, since it's
possible that this is just a race condition. But if the log is locked, it's
handled as corruption.
M src/lib-index/mail-transaction-log-file.c
2022-04-12 10:12:11 +0300 Aki Tuomi (36cbfb8e2b)
lib: test-event-flatten - Use __FILE__ to get correct expected filename
Fixes out of tree buids
Broken in 4f752d381c8e19dd07d1e593996d02294668c8b6
M src/lib/test-event-flatten.c
2022-03-01 10:01:06 +0200 Aki Tuomi (5c2f3d0b85)
auth: db-oauth2 - Fix off by one in oauth2 variable handling
Broken in 9b670175445a75987a713ff899d1a945255b0b5b
M src/auth/db-oauth2.c
2022-03-21 11:03:03 +0200 Timo Sirainen (dc40c6dbcf)
dsync: Properly terminate escape_chars when escaping mailbox names
Broken by 596c5a52e7e554571285e90063712cb0d37b34eb
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
2022-03-02 09:39:30 -0500 Timo Sirainen (9e7503d439)
dsync: Fix hierarchical mailbox name parts individually
For example with filesystem-based mailbox formats it's not allowed to create
"box/../child" mailbox. With previous code dsync just gave up and created
the mailbox name based on its GUID. This is now improved to instead try to
insert '_' character after each hierarchy separator so the newly fixed
mailbox name is "box/_../child".
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
2022-03-01 08:37:57 -0500 Timo Sirainen (801aae4bd5)
dsync: Escape and unescape mailbox names as needed
This should fix various issues with syncing local and remote mailbox names.
It especially avoids changing the escape character to alt_char.
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
M src/doveadm/dsync/dsync-mailbox-tree.c
M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
2022-03-01 11:51:04 -0500 Timo Sirainen (cfd1b0687f)
dsync: Track whether escape character was added just for dsync
Will be used by the following commit
M src/doveadm/doveadm-dsync.c
M src/doveadm/dsync/dsync-brain.c
M src/doveadm/dsync/dsync-brain.h
2022-03-01 08:36:55 -0500 Timo Sirainen (60ae30dd9e)
dsync: Add clarifying comment about mailbox_log_record.maibox_guid contents
M src/doveadm/dsync/dsync-mailbox-tree-fill.c
2022-03-01 08:06:14 -0500 Timo Sirainen (3864ecbfc7)
dsync: Add escape_char to dsync-mailbox-tree
This will be used by the following changes.
M src/doveadm/dsync/dsync-brain-mailbox-tree.c
M src/doveadm/dsync/dsync-brain-private.h
M src/doveadm/dsync/dsync-ibc-pipe.c
M src/doveadm/dsync/dsync-ibc-private.h
M src/doveadm/dsync/dsync-ibc-stream.c
M src/doveadm/dsync/dsync-ibc.c
M src/doveadm/dsync/dsync-ibc.h
M src/doveadm/dsync/dsync-mailbox-tree-private.h
M src/doveadm/dsync/dsync-mailbox-tree.c
M src/doveadm/dsync/dsync-mailbox-tree.h
M src/doveadm/dsync/test-dsync-mailbox-tree-sync.c
2022-03-18 09:41:37 +0200 Aki Tuomi (f95da1fa2f)
lib-test: test-subprocess - Free subprocess before forking
Otherwise it'll leak memory.
Broken in 34bdfdcbc7e3b374a219732329b6ce6d84a7666e
M src/lib-test/test-subprocess.c
2021-10-25 12:23:56 +0100 Siavash Tavakoli (25ae16cb40)
lib-lua: Add a minimal interface to lib-http
Adds the ability to
- Creating http clients
- Creating http requests
- Adding arbitrary headers and payload to the http request
- Submitting the request to remote server and getting the response
M src/lib-lua/Makefile.am
A src/lib-lua/dlua-dovecot-http.c
M src/lib-lua/dlua-dovecot.c
M src/lib-lua/dlua-script-private.h
2022-03-14 10:18:58 +0200 Aki Tuomi (e5ae6b26e9)
doveadm-who: Do not parse numbers as IP addresses
Fixes doveadm kick as well.
Broken in 381daab1e3b56a0bc94d2191cf62beba0df51af9
M src/doveadm/doveadm-who.c
2022-03-01 12:06:20 +0100 Markus Valentin (6026905b7a)
lib: test-seqset-builder - Add missing seqset_builder_deinit()
Fixes leaking memory when running tests.
M src/lib/test-seq-set-builder.c
2022-03-01 13:49:39 +0100 Markus Valentin (4540884c46)
imapc: imapc_transaction_save_rollback() - Fix NULL-check for ctx->src_mbox
Assert that unfinished context implies that ctx->src_mbox is non-NULL. Also
check for ctx->src_mbox being non-NULL before deinitializing it.
M src/lib-storage/index/imapc/imapc-save.c
2022-02-28 13:15:06 +0100 Markus Valentin (e5a07bd1c4)
imapc: imapc_mailbox_msgmap_update() - Set new_message_r
In case a message has not yet been keep the reply till syncing and do not
discard it right away.
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-02-24 15:31:39 +0100 Markus Valentin (f5fc15b1b1)
imapc: Delay fetching state after untagged exists reply
M src/lib-storage/index/imapc/imapc-mailbox.c
M src/lib-storage/index/imapc/imapc-storage.h
M src/lib-storage/index/imapc/imapc-sync.c
2021-12-16 09:11:55 +0100 Markus Valentin (173cc696f8)
imapc: imapc_copy() - Make sure capabilities are known before copying
M src/lib-storage/index/imapc/imapc-save.c
2021-11-11 16:17:35 +0100 Markus Valentin (09bfbb4cb1)
imapc: Implement rollback for failed copies
M src/lib-storage/index/imapc/imapc-save.c
M src/lib-storage/index/imapc/imapc-storage.c
M src/lib-storage/index/imapc/imapc-storage.h
2021-11-11 18:31:54 +0100 Markus Valentin (95baaaf454)
imapc: imapc_save_copyuid() deduplicate code
M src/lib-storage/index/imapc/imapc-save.c
2021-11-11 16:18:09 +0100 Markus Valentin (1e888011d0)
imapc: Enable bulk copying if remote backend has UIDPLUS capability
M src/lib-storage/index/imapc/imapc-save.c
2021-11-11 14:52:54 +0100 Markus Valentin (79b5dc6024)
imapc: Implement bulk copying for imapc
M src/lib-storage/index/imapc/imapc-save.c
M src/lib-storage/index/imapc/imapc-storage.c
M src/lib-storage/index/imapc/imapc-storage.h
2021-11-11 16:10:53 +0100 Markus Valentin (d8ac772071)
imapc: Extract imapc_copy_simple() from imapc_copy()
Keep the old one by one copying functionality as simple call. This will be
used if the remote backend does not have the UIDPLUS capability.
M src/lib-storage/index/imapc/imapc-save.c
2022-01-12 15:09:16 +0100 Markus Valentin (dd9923ed99)
lib-storage: index_save_context_free() - Add assertion on non-NULL
ctx->dest_mail
M src/lib-storage/index/index-storage.c
2021-12-08 17:17:56 +0100 Markus Valentin (ed093cb058)
lib: Add seq-set-builder and tests for it
M src/lib/Makefile.am
A src/lib/seq-set-builder.c
A src/lib/seq-set-builder.h
M src/lib/test-lib.inc
A src/lib/test-seq-set-builder.c
2022-02-10 17:37:59 +0100 Marco Bettini (0b8d22e109)
lib-storage: imapc_mailbox_close() - Remove unprocessed
untagged_fetch_contexts
M src/lib-storage/index/imapc/imapc-storage.c
2022-02-10 16:26:10 +0100 Marco Bettini (589f8b1eba)
lib-storage: Remove trainling spaces
M src/lib-storage/index/imapc/imapc-mailbox.c
M src/lib-storage/index/imapc/imapc-sync.c
2022-02-02 16:58:24 +0100 Markus Valentin (6b7a40bd5d)
imapc: imapc_sync_handle_untagged_fetches() - Commit after adding the
untagged fetch messages
The absence of the commit could have caused issues when imapc_sync_finish()
was not called as it left mbox->delayed_sync_trans initialized but
mbox->delayed_sync_view was NULL.
Broken by 55a8c2d294bb2f764209c7ce455d258b2b7506f5
M src/lib-storage/index/imapc/imapc-sync.c
2022-01-18 09:46:32 +0100 Markus Valentin (4b517a91b4)
imapc: Start to handle new untagged fetch messages in imapc_sync()
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-01-18 09:22:24 +0100 Markus Valentin (6d505f1b39)
imapc: Add imapc_sync_handle_untagged_fetches()
M src/lib-storage/index/imapc/imapc-mailbox.c
M src/lib-storage/index/imapc/imapc-storage.c
M src/lib-storage/index/imapc/imapc-storage.h
M src/lib-storage/index/imapc/imapc-sync.c
2022-01-17 15:41:25 +0100 Markus Valentin (aa26f7a231)
imapc: imapc_untagged_fetch_handle() - Change return type to bool
When calling imapc_untagged_fetch_handle() also retrieve new_message_r from
it which allows imapc_mailbox_msgmap_update() to determine if the message
just handled was already in index or not.
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-01-27 08:06:16 +0100 Markus Valentin (235f491ffe)
imapc: imapc_untagged_fetch_update_flags() - Reduce indentation
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-01-27 07:56:32 +0100 Markus Valentin (ea5eb228c7)
imapc: Split off imapc_untagged_fetch_update_flags() for handling flag
updates
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-01-17 15:00:41 +0100 Markus Valentin (4656356f1e)
imapc: Introduce imapc_untagged_fetch_ctx
M src/lib-storage/index/imapc/imapc-mailbox.c
M src/lib-storage/index/imapc/imapc-storage.h
2022-01-17 13:57:56 +0100 Markus Valentin (332c4ef1a4)
imapc: Decouple imapc_untagged_fetch parsing and handling
M src/lib-storage/index/imapc/imapc-mailbox.c
2022-03-09 02:30:12 +0100 Stephan Bosch (a987d6b01f)
submission-login: Add workaround for SMTP backend that is not Dovecot.
Adds workaround called "exotic-backend".
M src/submission-login/client-authenticate.c
M src/submission-login/submission-login-settings.c
M src/submission-login/submission-login-settings.h
M src/submission/submission-settings.c
2022-03-02 15:40:16 +0200 Aki Tuomi (f703acd4a2)
auth: auth-cache - Always use translated_username as cache key
This fixes auth cache when passdb/userdb changes the user field.
M src/auth/auth-cache.c
2022-03-02 14:57:20 +0200 Aki Tuomi (020f8d5cff)
auth: Set translated_user to requested_login_user in master login
Fixes caching issues with master logins.
M src/auth/auth-request-fields.c
2021-07-06 14:02:41 +0300 Aki Tuomi (2e5b63175d)
auth: Include cache hit/miss information in passdb/userdb lookup end events
M src/auth/auth-request.c
M src/auth/auth-request.h
M src/auth/passdb-cache.c
2022-02-28 17:12:32 +0100 Marco Bettini