]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
sergey.kitov [Wed, 3 May 2023 11:35:18 +0000 (14:35 +0300)]
lib-storage: Whitespace cleanup.
Aki Tuomi [Thu, 24 Aug 2023 09:26:44 +0000 (12:26 +0300)]
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.
Aki Tuomi [Thu, 24 Aug 2023 19:16:36 +0000 (22:16 +0300)]
login-common: If authentication is aborted, clear out final response.
Timo Sirainen [Thu, 24 Aug 2023 19:50:43 +0000 (15:50 -0400)]
doveadm: Simplify writing out command usage output
This reduces data stack usage, which helps avoid unnecessary data stack
growth warnings in tests.
Aki Tuomi [Mon, 21 Aug 2023 20:27:30 +0000 (23:27 +0300)]
lib-dcrypt: Force compressed point format in ec_key_get_pub_point_hex
Aki Tuomi [Tue, 22 Aug 2023 05:59:20 +0000 (08:59 +0300)]
lib-dcrypt: Ensure param is found in dcrypt_openssl_private_to_public_key
Aki Tuomi [Mon, 21 Aug 2023 06:59:49 +0000 (09:59 +0300)]
lib-dcrypt: Fix error handling in load_jwk_ec_key
Avoid clobbering error.
Timo Sirainen [Thu, 10 Aug 2023 13:46:07 +0000 (16:46 +0300)]
doveadm log errors: Fix sorting output
The log lines from master process weren't always correctly sorted among the
log lines from config process.
Broken by
1cac11c115383a00f54642ca9d9717f443daaccc
Timo Sirainen [Thu, 10 Aug 2023 13:46:58 +0000 (16:46 +0300)]
doveadm log errors: Fix potential hang
Timo Sirainen [Thu, 3 Aug 2023 21:31:30 +0000 (00:31 +0300)]
auth: db-ldap - Fix deleting wrong LDAP request when ldap_search() or ldap_bind() failed
This mainly means that if an invalid LDAP filter was used, wrong request
could have become deleted. Fixes:
Error: ldap(...): Reply with unknown msgid 2
Panic: file db-ldap.c: line 1343 (db_ldap_conn_close): assertion failed: (request->msgid != -1)
Timo Sirainen [Wed, 9 Aug 2023 09:13:08 +0000 (12:13 +0300)]
doveadm: Fix enabling all debug logging with -D parameter
The event's debug logging was set before the -D parameter was parsed.
Also, -v parameter shouldn't enable debugging.
Broken by
03392bbff711f91b6f8c7f8582e213f76c1a009a
Timo Sirainen [Wed, 26 Jul 2023 09:12:20 +0000 (12:12 +0300)]
lib-sql: Fix duration logging in sql_query_finished_event() calls
C has no sequence point between function parameters, so the duration may
have been uninitialized when logging it.
Broken by
09cf741d6632f3f5a2be3eff95ce0de4c16c228e &
f492f4a73172f1189c3121e87141582fec122fad
Stephan Bosch [Wed, 28 Jun 2023 23:04:08 +0000 (01:04 +0200)]
.gitignore - Fix ignore for imap-urlauth-login binary.