]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Mon, 3 Jul 2023 10:57:25 +0000 (13:57 +0300)]
mdbox: Replace mdbox_storage_set_corrupted() with mdbox_set_mailbox_corrupted() where possible
Timo Sirainen [Mon, 3 Jul 2023 10:52:01 +0000 (13:52 +0300)]
mdbox: If mdbox_sync_begin() fail with corruption, make sure storage corruption reason is set
Timo Sirainen [Mon, 3 Jul 2023 10:45:28 +0000 (13:45 +0300)]
dbox: Add reason parameter to dbox_storage_vfuncs.set_mailbox_corrupted()
Timo Sirainen [Mon, 3 Jul 2023 10:40:36 +0000 (13:40 +0300)]
dbox: Add reason parameter to dbox_storage_vfuncs.set_file_corrupted()
Timo Sirainen [Mon, 3 Jul 2023 10:23:52 +0000 (13:23 +0300)]
mdbox: Change mdbox_storage.corrupted boolean to reason string
Timo Sirainen [Mon, 3 Jul 2023 10:19:32 +0000 (13:19 +0300)]
mdbox: Log reason when rebuilding indexes
Already include the reason also as bitmask in preparation for a later commit
using it.
Timo Sirainen [Mon, 3 Jul 2023 09:12:03 +0000 (12:12 +0300)]
mdbox: Remove unused MDBOX_SYNC_FLAG_NO_PURGE
Timo Sirainen [Mon, 3 Jul 2023 09:10:41 +0000 (12:10 +0300)]
mdbox: Rebuild storage in its own atomic context
This guarantees that the atomic context is fully committed after rebuild,
instead of rolled back due to sync failing later on.
Timo Sirainen [Mon, 3 Jul 2023 09:06:07 +0000 (12:06 +0300)]
mdbox: Move storage rebuild handling to mdbox_sync()
This simplifies the code, since it's the only place that can actually
rebuild the storage. Also will be needed for following commit.
Timo Sirainen [Mon, 3 Jul 2023 20:46:32 +0000 (23:46 +0300)]
lib-index: mail_index_unset_fscked() - Fix to use the latest index header
The flags field was updated using the view's header, which may have been
out-of-date. This could have resulted in more than the FSCKD flag update,
and most importantly it could have meant that the FSCKD flag wasn't
actually removed when it should have been.
Aki Tuomi [Wed, 4 Oct 2023 05:50:12 +0000 (08:50 +0300)]
doveadm: Add doveadm stats reopen
Aki Tuomi [Wed, 4 Oct 2023 05:50:04 +0000 (08:50 +0300)]
stats: Add REOPEN command
Aki Tuomi [Wed, 4 Oct 2023 05:34:02 +0000 (08:34 +0300)]
stats: transport file - Add unix socket support
Aki Tuomi [Tue, 3 Oct 2023 12:01:56 +0000 (15:01 +0300)]
stats: Add file transport
Aki Tuomi [Wed, 4 Oct 2023 11:41:21 +0000 (14:41 +0300)]
stats: Add transport_context for exporter
Can be used by transporters
Marco Bettini [Wed, 25 Oct 2023 12:30:16 +0000 (12:30 +0000)]
doveadm index: Fix for fts crashing on virtual folders
Broken by:
d1be7f323f (implemented in indexer but not in doveadm)
Timo Sirainen [Wed, 25 Oct 2023 17:54:15 +0000 (20:54 +0300)]
cassandra: Clarify the minimum responses needed log message
With "n/m responses received" it looks as if "m" is the total number of
responses that could be received. Using "n of minimum m responses received"
should be clearer.
Stephan Bosch [Tue, 24 Oct 2023 19:41:04 +0000 (21:41 +0200)]
lib-oauth2: test-oauth2-jwt - Allow running test from paths other than current directory
Aki Tuomi [Fri, 13 Oct 2023 06:43:53 +0000 (09:43 +0300)]
lib-oauth2: Fix recursive field copying
Now arrays are properly copied, and fields are
prefixed with object keys when nested.
Timo Sirainen [Fri, 20 Oct 2023 09:21:25 +0000 (12:21 +0300)]
lib-dict: Avoid passing uninitialized pointer as function parameter
It wasn't actually dereferencing the pointer, but it seems this was still
causing valgrind to sometimes log an error.
Stephan Bosch [Mon, 2 Oct 2023 23:29:25 +0000 (01:29 +0200)]
auth: Move all final SASL response handling to login-common
Success response was still handled in auth service, which makes little sense.
Stephan Bosch [Fri, 20 Oct 2023 02:41:11 +0000 (04:41 +0200)]
login-common: sasl-server - Move nologin flag from local variable to client struct
Stephan Bosch [Tue, 10 Oct 2023 00:23:58 +0000 (02:23 +0200)]
login-common: sasl-server - Split off sasl_server_auth_success_finish()
Stephan Bosch [Tue, 10 Oct 2023 00:15:27 +0000 (02:15 +0200)]
login-common: client-common-auth - Move all direct (initial) auth client activity to sasl-server.c
This improves separation of concerns and clarity of the code.
Stephan Bosch [Tue, 10 Oct 2023 00:03:17 +0000 (02:03 +0200)]
login-common: client-common-auth - Move delayed final reply handling fully to sasl-server.c
Stephan Bosch [Sat, 7 Oct 2023 23:21:47 +0000 (01:21 +0200)]
login-common: client-common-auth - Use safe_memset() to clear auth response
Stephan Bosch [Sat, 7 Oct 2023 23:16:00 +0000 (01:16 +0200)]
login-common: client-common-auth - Centralize calling client_auth_respond() to client_auth_input
This makes sure the auth response data is always cleared after.
Stephan Bosch [Sat, 7 Oct 2023 22:54:09 +0000 (00:54 +0200)]
login-common: client-common-auth - Move SASL response pre-checks to client_auth_response()
This fixes Submission and ManageSieve not calling
sasl_server_auth_delayed_final().
Stephan Bosch [Sat, 7 Oct 2023 22:48:41 +0000 (00:48 +0200)]
login-common: client-common-auth - Remove io first in client_auth_respond()
Stephan Bosch [Sun, 8 Oct 2023 01:37:21 +0000 (03:37 +0200)]
submission-login: client - Properly use client event as event parent for SMTP server
This fixes using "submission" event category for debug logging submission login
STMP activity.
Stephan Bosch [Mon, 9 Oct 2023 00:08:56 +0000 (02:08 +0200)]
lib-smtp: smtp-server-connection - Call connnection_deinit() before conn_free() callback to prevent NULL dereference
The callback may destroy stuff that e.g. the event logging depends on. The
connection_deinit() call will cause event logging, which would cause trouble if
it is called after conn_free().
Stephan Bosch [Thu, 5 Oct 2023 00:26:40 +0000 (02:26 +0200)]
doveadm: doveadm-auth - Hide resp field from output
Stephan Bosch [Mon, 2 Oct 2023 23:28:44 +0000 (01:28 +0200)]
lib-smtp: smtp-server-cmd-auth - Clear potentially secret authentication data asap
Stephan Bosch [Mon, 2 Oct 2023 23:27:29 +0000 (01:27 +0200)]
lib-smtp: smtp-command-parser - Always safely clear potentially secret authentication data
Stephan Bosch [Tue, 10 Oct 2023 00:07:16 +0000 (02:07 +0200)]
login-common: Reformat sasl-server.c
Stephan Bosch [Mon, 2 Oct 2023 23:25:25 +0000 (01:25 +0200)]
lib-smtp: Reformat smtp-server-cmd-auth.c
Karl Fleischmann [Fri, 20 Oct 2023 14:35:01 +0000 (16:35 +0200)]
auth/db-ldap: Replace obsolete ldap_search()
Replace deprecated ldap_search() with suggested ldap_search_ext()
function call. Rename error messages which function failed accordingly.
Stephan Bosch [Mon, 16 Oct 2023 00:14:14 +0000 (02:14 +0200)]
lib-imap-urlauth: imap-urlauth - Retry non-matching URL userid in with userdb lookup for generate and local fetch.
This way, post-login user name changes that are not visible to the user can be accounted for.
Stephan Bosch [Mon, 16 Oct 2023 21:11:03 +0000 (23:11 +0200)]
lib-imap-urlauth: imap-urlauth - Produce better user permission error message in imap_urlauth_fetch*().
Stephan Bosch [Tue, 27 Jun 2023 10:02:19 +0000 (12:02 +0200)]
lib-imap-urlauth: imap-urlauth - Produce better user permission error message in imap_urlauth_generate().
Aki Tuomi [Thu, 12 Oct 2023 11:10:26 +0000 (14:10 +0300)]
lib-auth-client: If auth client is not connected, call callback with AUTH_REQUEST_INTERNAL_FAILURE
Aki Tuomi [Fri, 13 Oct 2023 10:25:12 +0000 (13:25 +0300)]
lib-auth-client: Expose auth_server_reconnect_timeout()
Aki Tuomi [Thu, 12 Oct 2023 10:57:20 +0000 (13:57 +0300)]
lib-auth-client: Copy connection mechs to client
This way they are available when connection is not.
Aki Tuomi [Mon, 2 Oct 2023 07:18:04 +0000 (10:18 +0300)]
lib-auth-client: Mention cancel when failing to send cancel request
Aki Tuomi [Mon, 2 Oct 2023 07:14:03 +0000 (10:14 +0300)]
lib-auth-client: Make auth_client_deinit(&NULL) no-op
Aki Tuomi [Mon, 2 Oct 2023 07:12:33 +0000 (10:12 +0300)]
lib-auth-client: Make auth_client_connection_deinit(&NULL) no-op
Aki Tuomi [Tue, 19 Sep 2023 11:50:39 +0000 (14:50 +0300)]
lib-auth-client: Do not crash if auth server is unexpectedly lost
Aki Tuomi [Tue, 19 Sep 2023 11:46:58 +0000 (14:46 +0300)]
auth: Make auth_request_handler_unref(&NULL) no-op
Marco Bettini [Tue, 17 Oct 2023 09:57:07 +0000 (09:57 +0000)]
fts: indexer - Don't fail if torn down without actually indexing anything.
Marco Bettini [Tue, 17 Oct 2023 09:37:36 +0000 (09:37 +0000)]
fts: indexer - Make index_mailbox_precache_virtual() recursive
This is required for virtual-attachments plugin
Marco Bettini [Mon, 16 Oct 2023 12:18:43 +0000 (12:18 +0000)]
fts: fts_backend_is_uid_indexed() - Remove stray line
Timo Sirainen [Mon, 16 Oct 2023 13:18:32 +0000 (16:18 +0300)]
cassandra: Log more details in failed query error messages
Timo Sirainen [Mon, 16 Oct 2023 13:08:53 +0000 (16:08 +0300)]
cassandra: Log consistency for finished queries
Timo Sirainen [Mon, 16 Oct 2023 13:05:36 +0000 (16:05 +0300)]
cassandra: Log an error if cass_statement_set_consistency() fails
The current implementation can't actually fail, but do it just to be safe.
Aki Tuomi [Fri, 6 Oct 2023 06:59:38 +0000 (09:59 +0300)]
virtual: Add and use virtual_sync_deinit() to free the context
This makes sure the memory is always freed.
Marco Bettini [Wed, 13 Sep 2023 15:23:27 +0000 (15:23 +0000)]
fts: struct fts_transaction_context - Assert not indexing rather than do it conditionally
Marco Bettini [Wed, 13 Sep 2023 15:22:42 +0000 (15:22 +0000)]
fts: struct fts_transaction_context - Remove field next_index_seq
Marco Bettini [Wed, 13 Sep 2023 15:17:54 +0000 (15:17 +0000)]
fts: Remove fts_mail_precache_range()
Marco Bettini [Wed, 6 Sep 2023 15:31:58 +0000 (15:31 +0000)]
fts: fts_index_get_header() - Open the mailbox to access the index if not opened yet
Marco Bettini [Thu, 24 Aug 2023 12:28:57 +0000 (12:28 +0000)]
fts: fts_search_get_first_missing_uid() - Avoid using box->view as now it can be unopened yet
Marco Bettini [Thu, 24 Aug 2023 12:24:31 +0000 (12:24 +0000)]
fts: Expose fts_mailbox_get_status() in fts-storage.h
Marco Bettini [Thu, 3 Aug 2023 09:16:42 +0000 (09:16 +0000)]
fts: fts_mailbox_search_is_virtual_seq_indexed() - Cache known indexed uids per backend box
Marco Bettini [Tue, 1 Aug 2023 10:53:25 +0000 (10:53 +0000)]
fts: fts_mailbox_search_next_update_seq() - Check indexing of virtual mailboxes
Marco Bettini [Mon, 31 Jul 2023 15:55:12 +0000 (15:55 +0000)]
indexer: cmd_index_box_precache() - Avoid opening the mailbox when unnecessary
Marco Bettini [Mon, 31 Jul 2023 15:54:43 +0000 (15:54 +0000)]
indexer: index_mailbox_precache_real() - Avoid opening the mailbox when unnecessary
Marco Bettini [Mon, 31 Jul 2023 09:09:35 +0000 (09:09 +0000)]
lib-storage: struct mailbox_status - Replace last_cached_seq with fts_last_indexed_uid
Doveadm index behavior is changed so that now it is intended to be used only
for adding missing mails to fts, and no longer adds missing mails to dovecot.index.cache.
STATUS_FIRST_RECENT_UID is replaced by STATUS_FTS_LAST_INDEXED_UID
last_cached_seq s replaced by fts_last_indexed_uid
Marco Bettini [Mon, 11 Sep 2023 08:16:03 +0000 (08:16 +0000)]
fts: fts_search_get_first_missing_uid() - Set last_indexed_uid_r also when uid is found
Previously last_indexed_uid_r was set only if uid was not found.
Now we set it to the uid provided in input (the functions invoked
do not provide the information).
Marco Bettini [Mon, 11 Sep 2023 08:14:25 +0000 (08:14 +0000)]
fts: fts_backend_is_uid_indexed() - Set last_indexed_uid_r also when uid is found
Previously last_indexed_uid_r was set only if uid was not found.
Now we set it to the uid provided in input (the functions invoked
do not provide the information).
Marco Bettini [Thu, 27 Jul 2023 08:45:05 +0000 (08:45 +0000)]
fts: storage - Remove no longer needed virtual handlings
Marco Bettini [Wed, 26 Jul 2023 12:39:29 +0000 (12:39 +0000)]
indexer: Handle virtual folders in the indexer itself
(rather than relying on code elsewhere to enumerate the
backends of the virtual folder)
Marco Bettini [Tue, 18 Jul 2023 08:00:34 +0000 (08:00 +0000)]
fts: fts_backend_is_uid_indexed() - Handle virtual folders specifically
Marco Bettini [Thu, 13 Jul 2023 13:51:15 +0000 (13:51 +0000)]
fts: fts_backend_is_uid_indexed() - Flatten the code
Marco Bettini [Fri, 28 Jul 2023 12:53:59 +0000 (12:53 +0000)]
virtual: struct virtual_mailbox_vfuncs - Add get_real_mail_uid()
Marco Bettini [Fri, 21 Jul 2023 10:41:59 +0000 (10:41 +0000)]
virtual: struct virtual_mailbox_vfuncs - Add get_virtual_backend_last_uid()
Marco Bettini [Thu, 7 Sep 2023 14:24:08 +0000 (14:24 +0000)]
virtual: virtual_mailbox_vfuncs - Use designated initializers
Marco Bettini [Tue, 18 Jul 2023 07:59:07 +0000 (07:59 +0000)]
fts: fts_backend_refresh() - Refresh also underlying backends for virtual mailboxes
Marco Bettini [Fri, 29 Sep 2023 09:25:07 +0000 (09:25 +0000)]
fts: fts_build_mail() - Update comment in header file
Marco Bettini [Fri, 8 Sep 2023 08:51:21 +0000 (08:51 +0000)]
fts: multi_add_lookup_result() - Add stack frame
Marco Bettini [Fri, 8 Sep 2023 10:28:43 +0000 (10:28 +0000)]
doveadm: cmd_index_box_precache() - Return error when mailbox_get_metadata() fails
Marco Bettini [Fri, 25 Aug 2023 08:48:08 +0000 (08:48 +0000)]
fts: Remove stray line
Timo Sirainen [Thu, 8 Jun 2023 07:22:13 +0000 (10:22 +0300)]
auth: Fix "nodelay" field to work again
Broken by
31633d676642b83305b8d46da495d9bb4e2d1ff8
Aki Tuomi [Fri, 6 Oct 2023 06:24:38 +0000 (09:24 +0300)]
lib-dict: dict-fs - Allocate key from iteration pool
Path gets allocated from stack memory, which causes it to
become invalidated before used by clients.
Broken in
32e8bd5b5a9d5bc04e5ac6c65ac132ba5c386d64
Marco Bettini [Wed, 20 Sep 2023 13:19:25 +0000 (13:19 +0000)]
lib-storage - maildir_uidlist_lock_timeout() - Handle readonly storage
Marco Bettini [Wed, 20 Sep 2023 12:54:10 +0000 (12:54 +0000)]
lib-storage: index_storage_expunged_sync_begin() - Handle readonly storage
Marco Bettini [Mon, 18 Sep 2023 14:12:50 +0000 (14:12 +0000)]
lib-storage: mailbox_list_index_refresh_force() - Handle readonly storage
Marco Bettini [Mon, 18 Sep 2023 14:12:12 +0000 (14:12 +0000)]
lib-storage: mailbox_list_index_set_index_error() - Propagate error_code to struct mailbox_list_index
Marco Bettini [Fri, 15 Sep 2023 09:12:24 +0000 (09:12 +0000)]
lib-index: mail_transaction_log_file_lock() - Set last_error.error on readonly indexes
Marco Bettini [Fri, 15 Sep 2023 09:11:21 +0000 (09:11 +0000)]
lib-index: mail_transaction_log_file_lock() - Consolidate index = file->log->index
Marco Bettini [Tue, 25 Jul 2023 13:46:47 +0000 (13:46 +0000)]
lib-index: Replace mail_index_get_error_message() with mail_index_get_last_error()
Marco Bettini [Tue, 25 Jul 2023 13:43:44 +0000 (13:43 +0000)]
lib-index: Add MAIL_INDEX_NO_ACCESS to enum mail_index_errors
Marco Bettini [Fri, 22 Sep 2023 08:56:17 +0000 (08:56 +0000)]
lib-index: Add mail_index_set_error_code()
Marco Bettini [Tue, 25 Jul 2023 13:42:38 +0000 (13:42 +0000)]
lib-index: Convert mail_index_error.nodiskspace into an enum
Marco Bettini [Tue, 25 Jul 2023 10:05:35 +0000 (10:05 +0000)]
virtual: Replace EACCES with ENOACCESS
Marco Bettini [Tue, 25 Jul 2023 10:05:25 +0000 (10:05 +0000)]
plugins: acl - Replace EACCES with ENOACCESS
Marco Bettini [Tue, 4 Jul 2023 13:06:16 +0000 (13:06 +0000)]
lib-storage: Replace EACCES with ENOACCESS
Marco Bettini [Tue, 4 Jul 2023 13:05:47 +0000 (13:05 +0000)]
lib-index: Replace EACCES with ENOACCESS
Aki Tuomi [Thu, 11 May 2023 10:39:25 +0000 (13:39 +0300)]
lib: eaccess-error - Handle EROFS too
This simplifies code since we can now call this
if ENOACCESS macro return TRUE.
Aki Tuomi [Thu, 11 May 2023 10:34:08 +0000 (13:34 +0300)]
lib-storage: Handle EROFS in mail_error_from_errno()
Aki Tuomi [Thu, 25 Nov 2021 08:52:53 +0000 (10:52 +0200)]
lib-storage: Use faccessat2 instead of access
This allows checking with effective credentials.
Timo Sirainen [Fri, 6 Oct 2023 12:59:32 +0000 (15:59 +0300)]
lib: Fix sha2 functions to not produce wrong results with >500MB input