]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
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.

2 years agodict-redis: Fix error handling for failed synchronous commits
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.

2 years agodict-redis: Fix logging connect() failures for transactions
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".

2 years agodict-redis: Handle commit timeout without waiting for dict_wait()
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.

2 years agolib-dict: Fix corrupted error message when istream read fails
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.

2 years agosdbox: sdbox_mailbox_open() - Force rebuild if index directory is not found but mailb...
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.

2 years agodbox: dbox_mailbox_check_existence() - Return 1 if a separate INDEX dir has an existi...
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.

2 years agodbox: dbox_mailbox_check_existence() - Do always check for index_path existence
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

2 years agofts-flatcurve: fts_flatcurve_build_query_arg_term() - Use move constructor when available
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

2 years agolib: test_istream_jsonstr_partial() - Rearrange code to prevent unspecified order...
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

2 years agolib-sql: Disconnect SQL connection on error
Aki Tuomi [Mon, 17 Jul 2023 07:36:32 +0000 (10:36 +0300)] 
lib-sql: Disconnect SQL connection on error

2 years agodoc: Add Solr 9.x compatible config and schema
Aki Tuomi [Fri, 14 Jul 2023 10:10:37 +0000 (13:10 +0300)] 
doc: Add Solr 9.x compatible config and schema

2 years agolib-storage: maildir - Use mail_metadata_accessed_event()
Marco Bettini [Wed, 28 Jun 2023 14:12:55 +0000 (14:12 +0000)] 
lib-storage: maildir - Use mail_metadata_accessed_event()

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

2 years agolib-storage: Add mail_metadata_accessed_event()
Marco Bettini [Wed, 28 Jun 2023 14:11:39 +0000 (14:11 +0000)] 
lib-storage: Add mail_metadata_accessed_event()

2 years agostats: test-client-reader - Fix error in test
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.

2 years agostats: Do not break submetrics is field is missing
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.

2 years agostats: Allow total length of all sub-metrics to be 256 bytes
Aki Tuomi [Thu, 6 Jul 2023 06:54:16 +0000 (09:54 +0300)] 
stats: Allow total length of all sub-metrics to be 256 bytes

Previously, we only allowed 32 bytes per sub-metric name, so this
new code changes this to allow total length of all components
to be up to 256 bytes.

This change allow e.g. using full DNS names in sub-metric labels.

2 years agodoveadm: Explicitly handle invalid option
Karl Fleischmann [Mon, 10 Jul 2023 10:09:56 +0000 (12:09 +0200)] 
doveadm: Explicitly handle invalid option

2 years agodoveadm: Process subcommand "--help" options
Karl Fleischmann [Thu, 22 Jun 2023 10:18:07 +0000 (12:18 +0200)] 
doveadm: Process subcommand "--help" options

Arguments are handled individually in different situations when invoking
doveadm with or without subcommands (specifically
doveadm_cmdline_find_with_args() may fail if "help" is passed). To
handle all necessary situtations the command context needs to be
expanded with a variable to differentiate whether a help argument (i.e.
"--help") or a help option (i.e. "help") is given. This is used
subsequently to print the help/usage text to stdout with a successful
return code if requested.

2 years agodoveadm: Enable setting the output stream and return code to print usage
Karl Fleischmann [Thu, 22 Jun 2023 10:16:08 +0000 (12:16 +0200)] 
doveadm: Enable setting the output stream and return code to print usage

This commit prepares doveadm subcommands from printing the usage string
to stdout when requested with "--help".

2 years agolib-master, doveadm: Progress top level --help option
Karl Fleischmann [Thu, 22 Jun 2023 09:58:31 +0000 (11:58 +0200)] 
lib-master, doveadm: Progress top level --help option

Print usage to stdout and exit successfully if requested via "doveadm
help" or "doveadm --help".

2 years agolib-master: Ensure master_getopt*() functions do not return 0
Karl Fleischmann [Tue, 27 Jun 2023 11:42:24 +0000 (13:42 +0200)] 
lib-master: Ensure master_getopt*() functions do not return 0

2 years agolib-master: Extend master-service API to register and parse long options
Karl Fleischmann [Thu, 22 Jun 2023 09:57:32 +0000 (11:57 +0200)] 
lib-master: Extend master-service API to register and parse long options

2 years agodoveadm: Allow setting output stream and return code in usage_prefix()
Karl Fleischmann [Thu, 22 Jun 2023 09:50:09 +0000 (11:50 +0200)] 
doveadm: Allow setting output stream and return code in usage_prefix()

2 years agoglobal: Remove replicator
Aki Tuomi [Thu, 29 Jun 2023 15:11:26 +0000 (18:11 +0300)] 
global: Remove replicator

2 years agoimap-urlauth: clients_deinit(): Fix use after free
Marco Bettini [Thu, 6 Jul 2023 07:12:23 +0000 (07:12 +0000)] 
imap-urlauth: clients_deinit(): Fix use after free

Found by coverity.

2 years agolib-sql: sqlite - Emit sql_connection_log_finished event
Aki Tuomi [Thu, 29 Jun 2023 10:49:05 +0000 (13:49 +0300)] 
lib-sql: sqlite - Emit sql_connection_log_finished event

2 years agolib-sql: sqlite - Retain last connection error
Aki Tuomi [Thu, 29 Jun 2023 10:46:41 +0000 (13:46 +0300)] 
lib-sql: sqlite - Retain last connection error

2 years agolib-sql: sqlite - Always use driver_sqlite_disconnect()
Aki Tuomi [Thu, 29 Jun 2023 10:49:56 +0000 (13:49 +0300)] 
lib-sql: sqlite - Always use driver_sqlite_disconnect()

2 years agolib-sql: sqlite - Move driver_sqlite_disconnect()
Aki Tuomi [Thu, 29 Jun 2023 10:43:33 +0000 (13:43 +0300)] 
lib-sql: sqlite - Move driver_sqlite_disconnect()

Makes following commit easier.

2 years agolib-sql: pgsql - Use orig_ioloop instead of local variable
Aki Tuomi [Thu, 29 Jun 2023 10:40:24 +0000 (13:40 +0300)] 
lib-sql: pgsql - Use orig_ioloop instead of local variable

orig_ioloop is used later, leaving it NULL here causes
problems when timeout is added by sqlpool.

Broken in 8981a973987c237552e46b68075b64caa8c1f5bb

2 years agolib-sql: pgsql - Emit sql_connection_finished event
Aki Tuomi [Thu, 29 Jun 2023 10:39:46 +0000 (13:39 +0300)] 
lib-sql: pgsql - Emit sql_connection_finished event

2 years agolib-sql: pgsql - Retain last connection error
Aki Tuomi [Thu, 29 Jun 2023 10:38:22 +0000 (13:38 +0300)] 
lib-sql: pgsql - Retain last connection error

2 years agolib-sql: pgsql - Use FATAL_OUTOFMEM with out of memory
Aki Tuomi [Thu, 29 Jun 2023 10:37:28 +0000 (13:37 +0300)] 
lib-sql: pgsql - Use FATAL_OUTOFMEM with out of memory

2 years agolib-sql: pgsql - Return only last error
Aki Tuomi [Thu, 29 Jun 2023 10:36:36 +0000 (13:36 +0300)] 
lib-sql: pgsql - Return only last error

PQerrorMessage() can return multiple lines, make sure we only
return the very last one.

2 years agolib-sql: mysql - Retain last connection error
Aki Tuomi [Thu, 29 Jun 2023 10:35:04 +0000 (13:35 +0300)] 
lib-sql: mysql - Retain last connection error

2 years agolib-sql: cassandra - Retain last connection error
Aki Tuomi [Thu, 29 Jun 2023 10:34:42 +0000 (13:34 +0300)] 
lib-sql: cassandra - Retain last connection error

2 years agolib-sql: Add last connection error to sql_connection_finished event
Aki Tuomi [Thu, 29 Jun 2023 10:34:20 +0000 (13:34 +0300)] 
lib-sql: Add last connection error to sql_connection_finished event

2 years agodoveadm: doveadm auth - Allow interrupting auth lookups
Aki Tuomi [Thu, 29 Jun 2023 10:32:28 +0000 (13:32 +0300)] 
doveadm: doveadm auth - Allow interrupting auth lookups

2 years agoauth: Fix crash when auth worker has already exited when deinitializating connection
Aki Tuomi [Thu, 29 Jun 2023 10:31:09 +0000 (13:31 +0300)] 
auth: Fix crash when auth worker has already exited when deinitializating connection

Having no connections satisfies the original assertion.

2 years agoauth: db-ldap: Remove userdb_warning_disable
Marco Bettini [Mon, 3 Jul 2023 13:29:50 +0000 (13:29 +0000)] 
auth: db-ldap: Remove userdb_warning_disable

2 years agoauth: db-oauth2 - Handle the case for check on attribute presence only
Marco Bettini [Thu, 1 Jun 2023 10:47:50 +0000 (10:47 +0000)] 
auth: db-oauth2 - Handle the case for check on attribute presence only

2 years agoauth: db_oauth2_user_is_enabled() - Flatten the code
Marco Bettini [Thu, 1 Jun 2023 08:37:56 +0000 (08:37 +0000)] 
auth: db_oauth2_user_is_enabled() - Flatten the code

2 years agoauth: db-oauth2 - Fail login if active_attribute is missing
Steve Mokris [Tue, 17 May 2022 19:19:49 +0000 (15:19 -0400)] 
auth: db-oauth2 - Fail login if active_attribute is missing

If active_attribute is required by config, we should fail to
login when it's missing.

2 years agolib-smtp: Do not log AUTH input from client.
sergey.kitov [Thu, 15 Jun 2023 09:22:05 +0000 (12:22 +0300)] 
lib-smtp: Do not log AUTH input from client.

This could happen when debug logging is enabled.

2 years agodbox: Fix for dangling pointer being passed to cleanup_interval()
Marco Bettini [Mon, 26 Jun 2023 10:43:00 +0000 (10:43 +0000)] 
dbox: Fix for dangling pointer being passed to cleanup_interval()

Broken in 88eee28fd86d619b26ce6aebadca5b18e748dc6f

2 years agolib: Fix potential log corruption with event_set_log_message_callback()
Timo Sirainen [Tue, 20 Jun 2023 22:20:30 +0000 (01:20 +0300)] 
lib: Fix potential log corruption with event_set_log_message_callback()

If the callback returned the same input log_prefix pointer back, the message
became corrupted because the log_prefix was soon changed.

2 years agomdbox: Fix crash still if fdatasync_path() fails
Timo Sirainen [Thu, 22 Jun 2023 07:48:13 +0000 (10:48 +0300)] 
mdbox: Fix crash still if fdatasync_path() fails

Broken still in 8bffe291fe5142a2e385de8f4fc7b69caa816522

2 years agosdbox: Don't open are try to fix all mail files when rebuilding indexes
Timo Sirainen [Tue, 20 Jun 2023 20:13:40 +0000 (23:13 +0300)] 
sdbox: Don't open are try to fix all mail files when rebuilding indexes

It's very rare for the mail files to be corrupted, so opening the files for
fixing them is rather unnecessary. This made the index rebuilding an
unnecessarily inefficient operation. If there are any corrupted mail files,
they are fixed on-demand while the mail is opened for other reasons.

2 years agosdbox: Check for duplicate files in primary/alt storage via transaction
Timo Sirainen [Tue, 20 Jun 2023 20:11:36 +0000 (23:11 +0300)] 
sdbox: Check for duplicate files in primary/alt storage via transaction

The current method stops working in the next commit that removes opening the
mail files during rebuild.

2 years agosdbox: If mail file is found to be corrupted, fix the file immediately
Timo Sirainen [Tue, 20 Jun 2023 19:59:19 +0000 (22:59 +0300)] 
sdbox: If mail file is found to be corrupted, fix the file immediately

Don't mark the whole mailbox corrupted. The file fixing on sdbox rebuild
will be removed by a following commit.

2 years agosdbox: Split off sdbox_sync_file_fix()
Timo Sirainen [Sun, 18 Jun 2023 09:46:00 +0000 (12:46 +0300)] 
sdbox: Split off sdbox_sync_file_fix()

2 years agodbox: Avoid recursive loop while fixing dbox file
Timo Sirainen [Tue, 20 Jun 2023 20:39:44 +0000 (23:39 +0300)] 
dbox: Avoid recursive loop while fixing dbox file

The loop ended with a crash due to running out of stack.

2 years agodbox: Don't set dbox file corrupted twice
Timo Sirainen [Tue, 20 Jun 2023 20:34:14 +0000 (23:34 +0300)] 
dbox: Don't set dbox file corrupted twice

The file is set to be corrupted immediately when dbox file reading detects
corruption, which causes the code path to return 0. This can happen all over
the place.

2 years agomdbox: Optimize mail_temp_scan_interval storage/ scanning
Timo Sirainen [Tue, 20 Jun 2023 15:58:13 +0000 (18:58 +0300)] 
mdbox: Optimize mail_temp_scan_interval storage/ scanning

Use the generic dbox scanning code, which avoids stat()ing the directory by
keeping the timestamp in index header. Also do the scanning while at
session deinit instead of startup, so the latency isn't visible to clients.

2 years agolib-storage: Split off index_mailbox_view_update_last_temp_file_scan()
Timo Sirainen [Tue, 20 Jun 2023 15:58:00 +0000 (18:58 +0300)] 
lib-storage: Split off index_mailbox_view_update_last_temp_file_scan()

2 years agodbox: mail_temp_scan_interval - Fix deleted temp file prefix
Timo Sirainen [Tue, 20 Jun 2023 19:28:35 +0000 (22:28 +0300)] 
dbox: mail_temp_scan_interval - Fix deleted temp file prefix

dbox files are always created with DBOX_TEMP_FILE_PREFIX, not the mailbox
list-specific prefix. This was a problem only if dbox was used with
LAYOUT=Maildir++, which nobody was likely to do. Other layouts had
identical temp file prefixes to DBOX_TEMP_FILE_PREFIX.

2 years agodbox: Split off dbox_mailbox_list_cleanup()
Timo Sirainen [Tue, 20 Jun 2023 15:54:49 +0000 (18:54 +0300)] 
dbox: Split off dbox_mailbox_list_cleanup()

2 years agomdbox: Don't do temp file scanning for mailbox directories
Timo Sirainen [Tue, 20 Jun 2023 15:44:52 +0000 (18:44 +0300)] 
mdbox: Don't do temp file scanning for mailbox directories

The intention was to delete any temporary mail files that have been left
behind by crashed processes, but mail files are written to storage/
directory.

2 years agodbox: Avoid opening mail file when getting mail's saved timestamp
Timo Sirainen [Mon, 19 Jun 2023 21:11:17 +0000 (00:11 +0300)] 
dbox: Avoid opening mail file when getting mail's saved timestamp

Just stat() the file, no open() necessary.

2 years agodbox: Add dbox_storage_vfuncs.mail_file_set() vfunc
Timo Sirainen [Mon, 19 Jun 2023 21:10:53 +0000 (00:10 +0300)] 
dbox: Add dbox_storage_vfuncs.mail_file_set() vfunc

2 years agomdbox: Split off mdbox_mail_file_set()
Timo Sirainen [Mon, 19 Jun 2023 21:09:40 +0000 (00:09 +0300)] 
mdbox: Split off mdbox_mail_file_set()

mdbox_mail_lookup() has to be done again for handling mails that were
deleted, but that shouldn't be a problem.

2 years agosdbox: Rebuild index if mail saving finds that parent directory is missing
Timo Sirainen [Tue, 20 Jun 2023 21:19:10 +0000 (00:19 +0300)] 
sdbox: Rebuild index if mail saving finds that parent directory is missing

2 years agomdbox: Fix fdatasync() path when saving mails
Timo Sirainen [Tue, 20 Jun 2023 15:24:34 +0000 (18:24 +0300)] 
mdbox: Fix fdatasync() path when saving mails

It was supposed to be called on the parent directory of where mails were
written, i.e. storage/ directory. The previous code was instead calling it
on the mailbox-specific directory (similarly to sdbox) where nothing was
written.

2 years agomdbox: Fix crash if fdatasync_path() fails
Timo Sirainen [Tue, 20 Jun 2023 15:21:38 +0000 (18:21 +0300)] 
mdbox: Fix crash if fdatasync_path() fails

There is no dest_mail anymore at this stage of transaction.

2 years agolib-ssl-iostream: Fix memory leak when storing JA3 string
Timo Sirainen [Sat, 17 Jun 2023 20:57:18 +0000 (23:57 +0300)] 
lib-ssl-iostream: Fix memory leak when storing JA3 string

Broken by 3ca8852ec531b83c86c30b890b7f0200cf86105a

2 years agologin-common: sasl authenticate_callback() - Fix null pointer dereferencing
Marco Bettini [Mon, 12 Jun 2023 10:01:36 +0000 (10:01 +0000)] 
login-common: sasl authenticate_callback() - Fix null pointer dereferencing

Broken by e9c008893f963248d522173180734f0e8a4cced8
Found by coverity

The checking for "resp" in AUTH_REQUEST_STATUS_OK has been currently removed,
since we have no SASL mechanisms requiring it. Besides, it was only partially
implemented and didn't actually work.

2 years agostats: Allow empty event exporters when registering metrics
Karl Fleischmann [Thu, 15 Jun 2023 11:32:11 +0000 (13:32 +0200)] 
stats: Allow empty event exporters when registering metrics

2 years agolib-storage: string sort - Write sort extensions in message sequence order
Timo Sirainen [Mon, 12 Jun 2023 14:34:47 +0000 (17:34 +0300)] 
lib-storage: string sort - Write sort extensions in message sequence order

This optimizes CPU usage by changing inserting into the middle of an array
into an append-only operation.

2 years agolib-storage: string sort - Replace array_get_modifiable() with array_get() where...
Timo Sirainen [Mon, 12 Jun 2023 14:33:08 +0000 (17:33 +0300)] 
lib-storage: string sort - Replace array_get_modifiable() with array_get() where possible

2 years agolib-index: mail_index_seq_array_lookup() - Optimize append code path
Timo Sirainen [Mon, 12 Jun 2023 14:33:59 +0000 (17:33 +0300)] 
lib-index: mail_index_seq_array_lookup() - Optimize append code path

2 years agolib-storage: mailbox_search_notify() - Ensure that ioloop_time stays sufficiently...
Marco Bettini [Mon, 5 Jun 2023 15:41:13 +0000 (15:41 +0000)] 
lib-storage: mailbox_search_notify() - Ensure that ioloop_time stays sufficiently up to date

This caters for the cases where the ioloop times is not actively refreshed
inside the processing loops (sort command, index search_next())

2 years agolib-storage: search_more() - Ensure mailbox_search_notify() is invoked
Marco Bettini [Mon, 5 Jun 2023 15:43:42 +0000 (15:43 +0000)] 
lib-storage: search_more() - Ensure mailbox_search_notify() is invoked

2 years agoauth: mech-oauth2 - Always fail with protocol specific error
Aki Tuomi [Mon, 15 May 2023 10:49:58 +0000 (13:49 +0300)] 
auth: mech-oauth2 - Always fail with protocol specific error

2 years agoauth: mech-oauth2 - Look for openid configuration URL if missing
Aki Tuomi [Mon, 15 May 2023 08:51:19 +0000 (11:51 +0300)] 
auth: mech-oauth2 - Look for openid configuration URL if missing

2 years agolib-oauth2: Return failure instead of crash with invalid or missing token
Aki Tuomi [Thu, 4 May 2023 12:44:15 +0000 (15:44 +0300)] 
lib-oauth2: Return failure instead of crash with invalid or missing token

2 years agoauth: db-oauth2 - Add accessor for OpenID configuration URL
Aki Tuomi [Wed, 14 Dec 2022 08:10:12 +0000 (10:10 +0200)] 
auth: db-oauth2 - Add accessor for OpenID configuration URL

2 years agoauth: db-oauth2 - Store request username
Aki Tuomi [Fri, 2 Jun 2023 11:20:08 +0000 (14:20 +0300)] 
auth: db-oauth2 - Store request username

2 years agoauth: Add auth_request_fail_with_reply()
Aki Tuomi [Mon, 15 May 2023 09:41:39 +0000 (12:41 +0300)] 
auth: Add auth_request_fail_with_reply()

2 years agoauth: Pass along final response with failure
Aki Tuomi [Mon, 15 May 2023 10:49:41 +0000 (13:49 +0300)] 
auth: Pass along final response with failure

2 years agolib-auth: Move auth_client_request_continue() lower
Aki Tuomi [Mon, 15 May 2023 09:28:53 +0000 (12:28 +0300)] 
lib-auth: Move auth_client_request_continue() lower

Simplifies next commit

2 years agologin-common: Serve final response for client on failure
Aki Tuomi [Mon, 15 May 2023 11:27:55 +0000 (14:27 +0300)] 
login-common: Serve final response for client on failure

2 years agologin-common: Ignore resp when present
Aki Tuomi [Mon, 15 May 2023 10:49:51 +0000 (13:49 +0300)] 
login-common: Ignore resp when present

2 years agoimap: NOTIFY - Perform MessageNew and MessageExpunge events related checks for all...
sergey.kitov [Thu, 8 Jun 2023 11:10:34 +0000 (14:10 +0300)] 
imap: NOTIFY - Perform MessageNew and MessageExpunge events related checks for all mailbox filters.

2 years agoimap: Introduce cmd_notify_parse_event_list() function.
sergey.kitov [Thu, 8 Jun 2023 10:56:52 +0000 (13:56 +0300)] 
imap: Introduce cmd_notify_parse_event_list() function.

2 years agolib-master: Log more details if stats connection handshake times out
Timo Sirainen [Thu, 8 Jun 2023 13:16:06 +0000 (16:16 +0300)] 
lib-master: Log more details if stats connection handshake times out

2 years agoauth: Only test ldap when it's built in
Aki Tuomi [Thu, 1 Jun 2023 11:13:29 +0000 (14:13 +0300)] 
auth: Only test ldap when it's built in

2 years agovirtual: Switch to VIRTUAL_LIST_CONTEXT_REQUIRE()
Timo Sirainen [Thu, 1 Jun 2023 08:39:26 +0000 (11:39 +0300)] 
virtual: Switch to VIRTUAL_LIST_CONTEXT_REQUIRE()

2 years agofts-solr: Use FTS_SOLR_USER_CONTEXT_REQUIRE() where possible
Timo Sirainen [Thu, 1 Jun 2023 08:38:05 +0000 (11:38 +0300)] 
fts-solr: Use FTS_SOLR_USER_CONTEXT_REQUIRE() where possible

2 years agofts: Use FTS_USER_CONTEXT_REQUIRE() where possible
Timo Sirainen [Thu, 1 Jun 2023 08:36:46 +0000 (11:36 +0300)] 
fts: Use FTS_USER_CONTEXT_REQUIRE() where possible

2 years agoauth: db-lua - Ensure fn gets set in auth_lua_script_init()
Aki Tuomi [Wed, 31 May 2023 07:12:00 +0000 (10:12 +0300)] 
auth: db-lua - Ensure fn gets set in auth_lua_script_init()

Satisfies static analysers

2 years agodoveadm stop: Try to wait shorter time between master process checks
Timo Sirainen [Tue, 30 May 2023 10:36:47 +0000 (13:36 +0300)] 
doveadm stop: Try to wait shorter time between master process checks

Start from 1 ms timeout, but double it until 256 ms.

2 years agodoveadm: Don't connect to stats process for "fast" commands
Timo Sirainen [Tue, 30 May 2023 10:36:08 +0000 (13:36 +0300)] 
doveadm: Don't connect to stats process for "fast" commands

This especially caused "doveadm stop" to unnecessarily connect to stats
process, which prevented master process from immediately shutting down
without 1 second delay.

2 years agoauth: db-ldap - Add %{ldap_multi}
Marco Bettini [Wed, 10 May 2023 15:54:32 +0000 (15:54 +0000)] 
auth: db-ldap - Add %{ldap_multi}

2 years agoauth: db_ldap_set_attrs() - Handle braces nesting while splitting on commas
Marco Bettini [Thu, 11 May 2023 09:24:37 +0000 (09:24 +0000)] 
auth: db_ldap_set_attrs() - Handle braces nesting while splitting on commas

2 years agosubmission: submission-client - Prevent NULL memory access upon early connection...
Stephan Bosch [Tue, 7 Feb 2023 20:18:35 +0000 (21:18 +0100)] 
submission: submission-client - Prevent NULL memory access upon early connection abort.

When the SMTP server connection is aborted early in client_create(), the
smtp_server_connection_abort() function clears client->conn immediately, causing
a later nested call to client_stats() from disconnect callback to access
client->conn == NULL. Early abort currently only happens when an anonymous login
is rejected.

2 years agosubmission: Drop unused anonymous_allowed fields
Marco Bettini [Fri, 19 May 2023 08:42:39 +0000 (08:42 +0000)] 
submission: Drop unused anonymous_allowed fields

2 years agoauth: user_callback() - Check if the user is anonymous
Marco Bettini [Fri, 19 May 2023 09:50:45 +0000 (09:50 +0000)] 
auth: user_callback() - Check if the user is anonymous