]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
2 years agofts: fts_index_get_header() - Open the mailbox to access the index if not opened yet
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

2 years agofts: fts_search_get_first_missing_uid() - Avoid using box->view as now it can be...
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

2 years agofts: Expose fts_mailbox_get_status() in fts-storage.h
Marco Bettini [Thu, 24 Aug 2023 12:24:31 +0000 (12:24 +0000)] 
fts: Expose fts_mailbox_get_status() in fts-storage.h

2 years agofts: fts_mailbox_search_is_virtual_seq_indexed() - Cache known indexed uids per backe...
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

2 years agofts: fts_mailbox_search_next_update_seq() - Check indexing of virtual mailboxes
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

2 years agoindexer: cmd_index_box_precache() - Avoid opening the mailbox when unnecessary
Marco Bettini [Mon, 31 Jul 2023 15:55:12 +0000 (15:55 +0000)] 
indexer: cmd_index_box_precache() - Avoid opening the mailbox when unnecessary

2 years agoindexer: index_mailbox_precache_real() - 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

2 years agolib-storage: struct mailbox_status - Replace last_cached_seq with fts_last_indexed_uid
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

2 years agofts: fts_search_get_first_missing_uid() - Set last_indexed_uid_r also when uid is...
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).

2 years agofts: fts_backend_is_uid_indexed() - Set last_indexed_uid_r also when uid is found
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).

2 years agofts: storage - Remove no longer needed virtual handlings
Marco Bettini [Thu, 27 Jul 2023 08:45:05 +0000 (08:45 +0000)] 
fts: storage - Remove no longer needed virtual handlings

2 years agoindexer: Handle virtual folders in the indexer itself
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)

2 years agofts: fts_backend_is_uid_indexed() - Handle virtual folders specifically
Marco Bettini [Tue, 18 Jul 2023 08:00:34 +0000 (08:00 +0000)] 
fts: fts_backend_is_uid_indexed() - Handle virtual folders specifically

2 years agofts: fts_backend_is_uid_indexed() - Flatten the code
Marco Bettini [Thu, 13 Jul 2023 13:51:15 +0000 (13:51 +0000)] 
fts: fts_backend_is_uid_indexed() - Flatten the code

2 years agovirtual: struct virtual_mailbox_vfuncs - Add get_real_mail_uid()
Marco Bettini [Fri, 28 Jul 2023 12:53:59 +0000 (12:53 +0000)] 
virtual: struct virtual_mailbox_vfuncs - Add get_real_mail_uid()

2 years agovirtual: struct virtual_mailbox_vfuncs - Add get_virtual_backend_last_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()

2 years agovirtual: virtual_mailbox_vfuncs - Use designated initializers
Marco Bettini [Thu, 7 Sep 2023 14:24:08 +0000 (14:24 +0000)] 
virtual: virtual_mailbox_vfuncs - Use designated initializers

2 years agofts: fts_backend_refresh() - Refresh also underlying backends for virtual mailboxes
Marco Bettini [Tue, 18 Jul 2023 07:59:07 +0000 (07:59 +0000)] 
fts: fts_backend_refresh() - Refresh also underlying backends for virtual mailboxes

2 years agofts: fts_build_mail() - Update comment in header file
Marco Bettini [Fri, 29 Sep 2023 09:25:07 +0000 (09:25 +0000)] 
fts: fts_build_mail() - Update comment in header file

2 years agofts: multi_add_lookup_result() - Add stack frame
Marco Bettini [Fri, 8 Sep 2023 08:51:21 +0000 (08:51 +0000)] 
fts: multi_add_lookup_result() - Add stack frame

2 years agodoveadm: cmd_index_box_precache() - Return error when mailbox_get_metadata() fails
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

2 years agofts: Remove stray line
Marco Bettini [Fri, 25 Aug 2023 08:48:08 +0000 (08:48 +0000)] 
fts: Remove stray line

2 years agoauth: Fix "nodelay" field to work again
Timo Sirainen [Thu, 8 Jun 2023 07:22:13 +0000 (10:22 +0300)] 
auth: Fix "nodelay" field to work again

Broken by 31633d676642b83305b8d46da495d9bb4e2d1ff8

2 years agolib-dict: dict-fs - Allocate key from iteration pool
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

2 years agolib-storage - maildir_uidlist_lock_timeout() - Handle readonly storage
Marco Bettini [Wed, 20 Sep 2023 13:19:25 +0000 (13:19 +0000)] 
lib-storage - maildir_uidlist_lock_timeout() - Handle readonly storage

2 years agolib-storage: index_storage_expunged_sync_begin() - 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

2 years agolib-storage: mailbox_list_index_refresh_force() - 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

2 years agolib-storage: mailbox_list_index_set_index_error() - Propagate error_code to struct...
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

2 years agolib-index: mail_transaction_log_file_lock() - Set last_error.error on readonly indexes
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

2 years agolib-index: mail_transaction_log_file_lock() - Consolidate index = file->log->index
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

2 years agolib-index: Replace mail_index_get_error_message() with mail_index_get_last_error()
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()

2 years agolib-index: Add MAIL_INDEX_NO_ACCESS to enum mail_index_errors
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

2 years agolib-index: Add mail_index_set_error_code()
Marco Bettini [Fri, 22 Sep 2023 08:56:17 +0000 (08:56 +0000)] 
lib-index: Add mail_index_set_error_code()

2 years agolib-index: Convert mail_index_error.nodiskspace into an enum
Marco Bettini [Tue, 25 Jul 2023 13:42:38 +0000 (13:42 +0000)] 
lib-index: Convert mail_index_error.nodiskspace into an enum

2 years agovirtual: Replace EACCES with ENOACCESS
Marco Bettini [Tue, 25 Jul 2023 10:05:35 +0000 (10:05 +0000)] 
virtual: Replace EACCES with ENOACCESS

2 years agoplugins: acl - Replace EACCES with ENOACCESS
Marco Bettini [Tue, 25 Jul 2023 10:05:25 +0000 (10:05 +0000)] 
plugins: acl - Replace EACCES with ENOACCESS

2 years agolib-storage: Replace EACCES with ENOACCESS
Marco Bettini [Tue, 4 Jul 2023 13:06:16 +0000 (13:06 +0000)] 
lib-storage: Replace EACCES with ENOACCESS

2 years agolib-index: Replace EACCES with ENOACCESS
Marco Bettini [Tue, 4 Jul 2023 13:05:47 +0000 (13:05 +0000)] 
lib-index: Replace EACCES with ENOACCESS

2 years agolib: eaccess-error - Handle EROFS too
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.

2 years agolib-storage: Handle EROFS in mail_error_from_errno()
Aki Tuomi [Thu, 11 May 2023 10:34:08 +0000 (13:34 +0300)] 
lib-storage: Handle EROFS in mail_error_from_errno()

2 years agolib-storage: Use faccessat2 instead of access
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.

2 years agolib: Fix sha2 functions to not produce wrong results with >500MB input
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

2 years agoNEWS: Update NEWS with changes
Aki Tuomi [Wed, 6 Sep 2023 12:04:49 +0000 (15:04 +0300)] 
NEWS: Update NEWS with changes

2 years agoNEWS: Add news for 2.3.21
Aki Tuomi [Wed, 30 Aug 2023 12:45:45 +0000 (15:45 +0300)] 
NEWS: Add news for 2.3.21

2 years agooauth: Accept multiple entries in aud field
Marco Bettini [Tue, 3 Oct 2023 13:11:49 +0000 (13:11 +0000)] 
oauth: Accept multiple entries in aud field

2 years agoutils: dovecot-sysreport: Ensure error output when gdb is needed and not available
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

2 years agolib-oauth2: test-oauth2-json - Increment pos more carefully
Aki Tuomi [Wed, 27 Sep 2023 07:31:28 +0000 (10:31 +0300)] 
lib-oauth2: test-oauth2-json - Increment pos more carefully

2 years agolib-oauth2: test-oauth2-json - Check that callback actually got called
Aki Tuomi [Wed, 27 Sep 2023 07:26:07 +0000 (10:26 +0300)] 
lib-oauth2: test-oauth2-json - Check that callback actually got called

2 years agofs-api: fs_set_metadata() - Disallow '_' in metadata names
Markus Valentin [Wed, 27 Sep 2023 09:21:14 +0000 (11:21 +0200)] 
fs-api: fs_set_metadata() - Disallow '_' in metadata names

2 years agolib-master: Add PATH to import_environment
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.

2 years agolib-storage: list - Remove extra rmdir
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

2 years agolib-oauth2: Fail request if response has error
Aki Tuomi [Wed, 20 Sep 2023 10:52:46 +0000 (13:52 +0300)] 
lib-oauth2: Fail request if response has error

2 years agologin-common: login-settings - Perform login_settings_read() in a new datastack frame.
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.

2 years agodbox: dbox_mailbox_open() - use ST_?TIME_SEC() macros
Caleb Xu [Fri, 15 Sep 2023 19:00:35 +0000 (15:00 -0400)] 
dbox: dbox_mailbox_open() - use ST_?TIME_SEC() macros

2 years agolib/compat.h: add 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

2 years agodoc: Fix broken solr-config-9.xml
Ruben [Fri, 15 Sep 2023 16:57:16 +0000 (17:57 +0100)] 
doc: Fix broken solr-config-9.xml

Broken in 4602ea0a41abcbcce88aba7720f4a25287aa9943

2 years agolib: test-net - Avoid usage of PATH_MAX
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.

2 years agoquota: Cleanup temporary build files
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

2 years agoauth, lib-program-client: Silence prototype conflicts
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,
          |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2 years agolib-fts: Remove stray .
Josh Soref [Tue, 11 Jul 2023 17:58:07 +0000 (13:58 -0400)] 
lib-fts: Remove stray .

2 years agoauth: Set correct passdb entry in auth_worker_handle_passw
PxPert [Wed, 8 Jun 2022 11:03:20 +0000 (13:03 +0200)] 
auth: Set correct passdb entry in auth_worker_handle_passw

2 years agomaster: Allow child processes to setgroups()
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.

2 years agoquota: quota-status - Allow empty recipient in END-OF-MESSAGE state
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>

2 years agolib-dict-extra: dict-fs - If iteration flag isn't supported, error out instead of...
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

2 years agolib-dict-extra: dict-fs - Implement DICT_ITERATE_FLAG_EXACT_KEY
Timo Sirainen [Tue, 21 Mar 2023 21:08:12 +0000 (23:08 +0200)] 
lib-dict-extra: dict-fs - Implement DICT_ITERATE_FLAG_EXACT_KEY

2 years agolib-dict-extra: dict-fs - Fix endless loop while iterating
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

2 years agolib-master: stats_category_registered() - Increase initial string_t size
Markus Valentin [Fri, 22 Sep 2023 08:33:44 +0000 (10:33 +0200)] 
lib-master: stats_category_registered() - Increase initial string_t size

2 years agolib-master,master: Use separate environment variable for config file socket
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.

2 years agolib-master: Clean environment after master service has initialized
Aki Tuomi [Tue, 5 Sep 2023 11:16:33 +0000 (14:16 +0300)] 
lib-master: Clean environment after master service has initialized

2 years agolib-master: Add macro for DOVECOT_LOG_STDERR_TIMESTAMP_ENV
Aki Tuomi [Tue, 5 Sep 2023 11:24:54 +0000 (14:24 +0300)] 
lib-master: Add macro for DOVECOT_LOG_STDERR_TIMESTAMP_ENV

2 years agolib-master: Add macro for MASTER_SERVICE_LOG_SERVICE_ENV
Aki Tuomi [Tue, 5 Sep 2023 11:21:22 +0000 (14:21 +0300)] 
lib-master: Add macro for MASTER_SERVICE_LOG_SERVICE_ENV

2 years agolib-master: Add macro for MASTER_SERVICE_SOCKET_COUNT_ENV
Aki Tuomi [Tue, 5 Sep 2023 11:17:24 +0000 (14:17 +0300)] 
lib-master: Add macro for MASTER_SERVICE_SOCKET_COUNT_ENV

2 years agoauth: ldap_request_send_subquery() - Add handler for ldap_multi
Marco Bettini [Fri, 15 Sep 2023 14:07:44 +0000 (14:07 +0000)] 
auth: ldap_request_send_subquery() - Add handler for ldap_multi

2 years agoauth: ldap_request_send_subquery() - Rename table to var_expand_table
Marco Bettini [Fri, 15 Sep 2023 13:58:59 +0000 (13:58 +0000)] 
auth: ldap_request_send_subquery() - Rename table to var_expand_table

2 years agolib-sql: driver-mysql - Use API state to check if there is connection
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

2 years agolib-storage: shared_mail_user_init() - Log the error when mail_namespaces_init_locati...
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

2 years agodsync: Destroy name128_remotesep_hash in dsync_mailbox_tree_deinit()
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

2 years agodsync: Fix an infinite loop
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.

2 years agolib-sql: driver-mysql - Initialize MYSQL struct once
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.

2 years agolib-sql: driver-mysql - Use driver_mysql_disconnect() in deinit
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.

2 years agolib-sql: driver-mysql - Use container_of instead of blind cast
Aki Tuomi [Tue, 29 Aug 2023 12:04:04 +0000 (15:04 +0300)] 
lib-sql: driver-mysql - Use container_of instead of blind cast

2 years agomail-crypt: mail_crypt_mailbox_allocated() - Force cross-user copies to (de,re)encryp...
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

2 years agolib-smtp: smtp-server-reply - Fix smtp_server_reply_replace_path() to update last...
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).

2 years agolib-smtp: Reformat smtp-server-reply.c.
Stephan Bosch [Tue, 15 Aug 2023 23:14:29 +0000 (01:14 +0200)] 
lib-smtp: Reformat smtp-server-reply.c.

2 years agofts: doveadm - Add missing pool initialization in cmd_search_box()
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

2 years agolib: buffer - Ensure error is kept when istream read fails
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

2 years agoacl: Fix wrong \HasChildren flags for parent mailboxes containing '*' and '%'
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.

2 years agolib-storage: Whitespace cleanup.
sergey.kitov [Wed, 3 May 2023 11:35:18 +0000 (14:35 +0300)] 
lib-storage: Whitespace cleanup.

2 years agoauth: db-oauth2 - Set default value for active_attribute and active_value to empty...
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.

2 years agologin-common: If authentication is aborted, clear out final response.
Aki Tuomi [Thu, 24 Aug 2023 19:16:36 +0000 (22:16 +0300)] 
login-common: If authentication is aborted, clear out final response.

2 years agodoveadm: Simplify writing out command usage output
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.

2 years agolib-dcrypt: Force compressed point format in ec_key_get_pub_point_hex
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

2 years agolib-dcrypt: Ensure param is found in dcrypt_openssl_private_to_public_key
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

2 years agolib-dcrypt: Fix error handling in load_jwk_ec_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.

2 years agodoveadm log errors: Fix sorting output
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

2 years agodoveadm log errors: Fix potential hang
Timo Sirainen [Thu, 10 Aug 2023 13:46:58 +0000 (16:46 +0300)] 
doveadm log errors: Fix potential hang

2 years agoauth: db-ldap - Fix deleting wrong LDAP request when ldap_search() or ldap_bind(...
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)

2 years agodoveadm: Fix enabling all debug logging with -D parameter
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

2 years agolib-sql: Fix duration logging in sql_query_finished_event() calls
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

2 years ago.gitignore - Fix ignore for imap-urlauth-login binary.
Stephan Bosch [Wed, 28 Jun 2023 23:04:08 +0000 (01:04 +0200)] 
.gitignore - Fix ignore for imap-urlauth-login binary.