]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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
Aki Tuomi [Wed, 6 Sep 2023 12:04:49 +0000 (15:04 +0300)]
NEWS: Update NEWS with changes
Aki Tuomi [Wed, 30 Aug 2023 12:45:45 +0000 (15:45 +0300)]
NEWS: Add news for 2.3.21
Marco Bettini [Tue, 3 Oct 2023 13:11:49 +0000 (13:11 +0000)]
oauth: Accept multiple entries in aud field
Marco Bettini [Mon, 2 Oct 2023 12:50:31 +0000 (12:50 +0000)]
utils: dovecot-sysreport: Ensure error output when gdb is needed and not available
Aki Tuomi [Wed, 27 Sep 2023 07:31:28 +0000 (10:31 +0300)]
lib-oauth2: test-oauth2-json - Increment pos more carefully
Aki Tuomi [Wed, 27 Sep 2023 07:26:07 +0000 (10:26 +0300)]
lib-oauth2: test-oauth2-json - Check that callback actually got called
Markus Valentin [Wed, 27 Sep 2023 09:21:14 +0000 (11:21 +0200)]
fs-api: fs_set_metadata() - Disallow '_' in metadata names
Aki Tuomi [Thu, 28 Sep 2023 12:58:47 +0000 (15:58 +0300)]
lib-master: Add PATH to import_environment
Lua scripts benefit from having PATH in environment,
especially if they need to execute some os commands.
Aki Tuomi [Wed, 27 Sep 2023 09:39:28 +0000 (12:39 +0300)]
lib-storage: list - Remove extra rmdir
It's unnecessary and makes deletion fail if the first rmdir
already succeeded.
Broken in
97ffd8e0b0374b9ccbbc788cf796e15d021ad090
Aki Tuomi [Wed, 20 Sep 2023 10:52:46 +0000 (13:52 +0300)]
lib-oauth2: Fail request if response has error
Stephan Bosch [Mon, 25 Sep 2023 23:47:21 +0000 (01:47 +0200)]
login-common: login-settings - Perform login_settings_read() in a new datastack frame.
It can use much datastack space and cause undue datastack growth, particularly
in ManageSieve for some reason.
Caleb Xu [Fri, 15 Sep 2023 19:00:35 +0000 (15:00 -0400)]
dbox: dbox_mailbox_open() - use ST_?TIME_SEC() macros
Caleb Xu [Fri, 15 Sep 2023 19:20:47 +0000 (15:20 -0400)]
lib/compat.h: add ST_?TIME_SEC() macros
Ruben [Fri, 15 Sep 2023 16:57:16 +0000 (17:57 +0100)]
doc: Fix broken solr-config-9.xml
Broken in
4602ea0a41abcbcce88aba7720f4a25287aa9943
Christian Göttsche [Mon, 6 Jun 2022 13:29:38 +0000 (15:29 +0200)]
lib: test-net - Avoid usage of PATH_MAX
PATH_MAX is not guaranteed by to be a compile time constant,
so avoid using it.
Christian Göttsche [Mon, 14 Aug 2023 14:25:09 +0000 (16:25 +0200)]
quota: Cleanup temporary build files
Support building twice:
dpkg-source: info: local changes detected, the modified files are:
source/src/plugins/quota/rquota.h.tmp
source/src/plugins/quota/rquota_xdr.c.tmp
Christian Göttsche [Fri, 15 Sep 2023 12:08:56 +0000 (14:08 +0200)]
auth, lib-program-client: Silence prototype conflicts
program-client.c:705:5: warning: conflicting types for 'program_client_run' due to enum/integer mismatch; have 'int(struct program_client *)' [-Wenum-int-mismatch]
705 | int program_client_run(struct program_client *pclient)
| ^~~~~~~~~~~~~~~~~~
In file included from program-client-private.h:4,
from program-client.c:17:
program-client.h:93:1: note: previous declaration of 'program_client_run' with type 'enum program_client_exit_status(struct program_client *)'
93 | program_client_run(struct program_client *pclient);
| ^~~~~~~~~~~~~~~~~~
db-lua.c:599:1: warning: conflicting types for 'auth_lua_call_password_verify' due to enum/integer mismatch; have 'enum passdb_result(struct dlua_script *, struct auth_request *, const char *, const char **)' [-Wenum-int-mismatch]
599 | auth_lua_call_password_verify(struct dlua_script *script,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from db-lua.c:28:
db-lua.h:14:5: note: previous declaration of 'auth_lua_call_password_verify' with type 'int(struct dlua_script *, struct auth_request *, const char *, const char **)'
14 | int auth_lua_call_password_verify(struct dlua_script *script,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Josh Soref [Tue, 11 Jul 2023 17:58:07 +0000 (13:58 -0400)]
lib-fts: Remove stray .
PxPert [Wed, 8 Jun 2022 11:03:20 +0000 (13:03 +0200)]
auth: Set correct passdb entry in auth_worker_handle_passw
Steve Mokris [Thu, 12 May 2022 22:31:19 +0000 (18:31 -0400)]
master: Allow child processes to setgroups()
Grant master process capabilities to children, so the children
can drop root privileges. This is enforced more strictly
by some kernels than others.
Aki Tuomi [Tue, 19 Sep 2023 07:22:11 +0000 (10:22 +0300)]
quota: quota-status - Allow empty recipient in END-OF-MESSAGE state
When a message has multiple recipients, a policy server server will receive an
empty "recipient=" list in the END-OF-MESSAGE state, which needs to be accepted
in quota-status server.
Adapted from patch made by Jesse Norell <jesse@kci.net>
Timo Sirainen [Tue, 21 Mar 2023 19:35:04 +0000 (21:35 +0200)]
lib-dict-extra: dict-fs - If iteration flag isn't supported, error out instead of panic
Timo Sirainen [Tue, 21 Mar 2023 21:08:12 +0000 (23:08 +0200)]
lib-dict-extra: dict-fs - Implement DICT_ITERATE_FLAG_EXACT_KEY
Manuel Mausz [Tue, 26 Jul 2022 08:07:31 +0000 (10:07 +0200)]
lib-dict-extra: dict-fs - Fix endless loop while iterating
Broken by
32e8bd5b5a9d5bc04e5ac6c65ac132ba5c386d64
Markus Valentin [Fri, 22 Sep 2023 08:33:44 +0000 (10:33 +0200)]
lib-master: stats_category_registered() - Increase initial string_t size
Aki Tuomi [Tue, 12 Sep 2023 11:59:30 +0000 (14:59 +0300)]
lib-master,master: Use separate environment variable for config file socket
This allows retaining the CONFIG_FILE environment variable pointing
to file always.
Aki Tuomi [Tue, 5 Sep 2023 11:16:33 +0000 (14:16 +0300)]
lib-master: Clean environment after master service has initialized
Aki Tuomi [Tue, 5 Sep 2023 11:24:54 +0000 (14:24 +0300)]
lib-master: Add macro for DOVECOT_LOG_STDERR_TIMESTAMP_ENV
Aki Tuomi [Tue, 5 Sep 2023 11:21:22 +0000 (14:21 +0300)]
lib-master: Add macro for MASTER_SERVICE_LOG_SERVICE_ENV
Aki Tuomi [Tue, 5 Sep 2023 11:17:24 +0000 (14:17 +0300)]
lib-master: Add macro for MASTER_SERVICE_SOCKET_COUNT_ENV
Marco Bettini [Fri, 15 Sep 2023 14:07:44 +0000 (14:07 +0000)]
auth: ldap_request_send_subquery() - Add handler for ldap_multi
Marco Bettini [Fri, 15 Sep 2023 13:58:59 +0000 (13:58 +0000)]
auth: ldap_request_send_subquery() - Rename table to var_expand_table
Aki Tuomi [Wed, 6 Sep 2023 05:34:51 +0000 (08:34 +0300)]
lib-sql: driver-mysql - Use API state to check if there is connection
db->mysql cannot be NULL.
Broken in
d0a2a8fd48a6c844a69381552db85fced0ae1d48
Marco Bettini [Mon, 4 Sep 2023 08:31:41 +0000 (08:31 +0000)]
lib-storage: shared_mail_user_init() - Log the error when mail_namespaces_init_location() fails
Aki Tuomi [Tue, 5 Sep 2023 10:39:40 +0000 (13:39 +0300)]
dsync: Destroy name128_remotesep_hash in dsync_mailbox_tree_deinit()
Forgotten in
678d0463849ba777106eb7875f27db07a5d8e3df
Ted Phelps [Sat, 2 Sep 2023 07:50:55 +0000 (17:50 +1000)]
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.
Aki Tuomi [Wed, 30 Aug 2023 10:19:47 +0000 (13:19 +0300)]
lib-sql: driver-mysql - Initialize MYSQL struct once
Calling initialize more than once will leak memory.
Aki Tuomi [Wed, 30 Aug 2023 10:21:12 +0000 (13:21 +0300)]
lib-sql: driver-mysql - Use driver_mysql_disconnect() in deinit
This ensures we call mysql_close() only in one place.
Aki Tuomi [Tue, 29 Aug 2023 12:04:04 +0000 (15:04 +0300)]
lib-sql: driver-mysql - Use container_of instead of blind cast
Marco Bettini [Mon, 28 Aug 2023 15:27:09 +0000 (15:27 +0000)]
mail-crypt: mail_crypt_mailbox_allocated() - Force cross-user copies to (de,re)encrypt the contents
Stephan Bosch [Tue, 15 Aug 2023 22:59:21 +0000 (00:59 +0200)]
lib-smtp: smtp-server-reply - Fix smtp_server_reply_replace_path() to update last line offset.
Before, the offset was not updated with the changes caused by replacing the
path, causing a panic once the reply was sent:
Panic: file smtp-server-reply.c: line 629 (smtp_server_reply_send_real): assertion failed: (text[0] == '-')
This occurs when multi-line replies that involve a <path> prefix before the
reply message are being forwarded in a SMTP proxy/relay scenario (e.g. RCPT
reply can have that).
Stephan Bosch [Tue, 15 Aug 2023 23:14:29 +0000 (01:14 +0200)]
lib-smtp: Reformat smtp-server-reply.c.
Marco Bettini [Tue, 29 Aug 2023 10:13:34 +0000 (10:13 +0000)]
fts: doveadm - Add missing pool initialization in cmd_search_box()
Broken by:
467a664b5fce33f3d47a3e1171ecacb508968d1a
Aki Tuomi [Mon, 28 Aug 2023 09:29:14 +0000 (12:29 +0300)]
lib: buffer - Ensure error is kept when istream read fails
Broken in
0429b4aaf581494ea89e61fd249ddc919e4f88fc
sergey.kitov [Wed, 3 May 2023 11:35:54 +0000 (14:35 +0300)]
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.