]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
Timo Sirainen [Tue, 20 Jun 2023 12:35:34 +0000 (15:35 +0300)]
dict-redis: Fix error handling for failed synchronous commits
An error was logged if a synchronous commit failed, but the commit callback
was called with success instead of failure.
Timo Sirainen [Tue, 20 Jun 2023 12:33:09 +0000 (15:33 +0300)]
dict-redis: Fix logging connect() failures for transactions
Immediate connect() failures were logged without details, followed by
"Disconnected during transaction". Delayed connect() failures logged only
"Disconnected during transaction".
Timo Sirainen [Tue, 20 Jun 2023 12:18:09 +0000 (15:18 +0300)]
dict-redis: Handle commit timeout without waiting for dict_wait()
For example with last_login_dict this meant that the commit timeout wasn't
logged until dict_wait() was called when the session ended.
Timo Sirainen [Tue, 20 Jun 2023 12:03:46 +0000 (15:03 +0300)]
lib-dict: Fix corrupted error message when istream read fails
i_stream_get_error() return value may point to memory allocated from
istream. redis_disconnected() calls connection_disconnect(), which frees
this memory. The error is still used, but now it's corrupted.
Markus Valentin [Thu, 22 Jun 2023 08:01:39 +0000 (10:01 +0200)]
sdbox: sdbox_mailbox_open() - Force rebuild if index directory is not found but mailbox appears to exist
This prevents losing mails if a separate index directory was configured
and the mail index has been lost.
Markus Valentin [Thu, 22 Jun 2023 08:00:12 +0000 (10:00 +0200)]
dbox: dbox_mailbox_check_existence() - Return 1 if a separate INDEX dir has an existing index
This allows taking actions if the separate INDEX dir does not have an existing
index file for a mailbox.
Markus Valentin [Thu, 22 Jun 2023 07:58:08 +0000 (09:58 +0200)]
dbox: dbox_mailbox_check_existence() - Do always check for index_path existence
Marco Bettini [Tue, 18 Jul 2023 10:31:09 +0000 (10:31 +0000)]
fts-flatcurve: fts_flatcurve_build_query_arg_term() - Use move constructor when available
Found by coverity
Marco Bettini [Tue, 18 Jul 2023 08:35:12 +0000 (08:35 +0000)]
lib: test_istream_jsonstr_partial() - Rearrange code to prevent unspecified order of evaluation
Found by Coverity
Aki Tuomi [Mon, 17 Jul 2023 07:36:32 +0000 (10:36 +0300)]
lib-sql: Disconnect SQL connection on error
Aki Tuomi [Fri, 14 Jul 2023 10:10:37 +0000 (13:10 +0300)]
doc: Add Solr 9.x compatible config and schema
Marco Bettini [Wed, 28 Jun 2023 14:12:55 +0000 (14:12 +0000)]
lib-storage: maildir - Use mail_metadata_accessed_event()
Marco Bettini [Wed, 28 Jun 2023 14:12:46 +0000 (14:12 +0000)]
lib-storage: dbox - Use mail_metadata_accessed_event()
Marco Bettini [Wed, 28 Jun 2023 14:11:39 +0000 (14:11 +0000)]
lib-storage: Add mail_metadata_accessed_event()
Aki Tuomi [Fri, 7 Jul 2023 11:20:16 +0000 (14:20 +0300)]
stats: test-client-reader - Fix error in test
It has never worked right. Previously it would just stop at
'test' because it would stop processing at first unknown group_by field,
and alpha would never be reached.
Aki Tuomi [Thu, 6 Jul 2023 07:49:48 +0000 (10:49 +0300)]
stats: Do not break submetrics is field is missing
If the field does not exist, emulate it as empty field, and continue
submetrics.