]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Fri, 18 Nov 2022 20:09:33 +0000 (21:09 +0100)]
auth: Use the new listener type field to distinguish the various listener types.
Stephan Bosch [Mon, 21 Nov 2022 19:35:48 +0000 (20:35 +0100)]
global: Set type "admin" for all admin service listeners.
Stephan Bosch [Wed, 23 Nov 2022 01:05:02 +0000 (02:05 +0100)]
lib-master: master-service - Add master_service_connection_get_type().
Stephan Bosch [Tue, 29 Nov 2022 22:32:13 +0000 (23:32 +0100)]
master: Add support for service listener type field.
It is conveyed to the services along with the rest of the listener settings and
alows distinguising listeners more reliably than parsing the purpose of the
listener from the name, as it is now.
Stephan Bosch [Mon, 5 Aug 2019 21:46:12 +0000 (23:46 +0200)]
global: Reformat service listener setting defaults.
Use named initializers and list the items on a separate line each.
Timo Sirainen [Thu, 25 Aug 2022 14:53:24 +0000 (17:53 +0300)]
lib-auth: Fix response code for internal auth process communication errors
For example if auth process crashed, it resulted in [AUTHENTICATIONFAILED]
rather than [UNAVAILABLE].
This was forgotten to be changed in
36b072d84a9076c3c483bf710444a716e987ccc3
Markus Valentin [Thu, 1 Dec 2022 09:54:38 +0000 (10:54 +0100)]
lib-sql: Add sql_statement_set_no_log_expanded_values()
This allows to store no_log_expanded_values to sql_statement.
Markus Valentin [Thu, 1 Dec 2022 10:13:16 +0000 (11:13 +0100)]
dict: Implement DICT_PROTOCOL_CMD_HIDE_LOG_VALUES for dict and dict-proxy
Markus Valentin [Thu, 1 Dec 2022 10:03:26 +0000 (11:03 +0100)]
lib-dict: Add .set_hide_log_values() to dict vfuncs
This is used to set hide_log_values in dict op settings.
Markus Valentin [Mon, 5 Dec 2022 10:58:31 +0000 (11:58 +0100)]
cassandra: Rename query to log_query and initialize it with sql_statement_get_log_query()
Also add sql_statement_get_log_query() to sql-api.
Markus Valentin [Mon, 5 Dec 2022 10:50:30 +0000 (11:50 +0100)]
lib-event: Add event_unset_log_message_callback()
Markus Valentin [Mon, 28 Nov 2022 10:17:11 +0000 (11:17 +0100)]
fs-api: Add fs_get_event()
Timo Sirainen [Fri, 2 Dec 2022 12:53:59 +0000 (14:53 +0200)]
lmtp: Fix memory leak by unreferencing duplicated settings parser
Broken by
8807ff0df48c5a19fec2a1f01dc0dac6d864b7b2
Timo Sirainen [Fri, 2 Dec 2022 12:52:53 +0000 (14:52 +0200)]
lib-storage: Fix memory leak by unreferencing duplicated settings parsers
Broken by
e20c5c67fc01c80dd48bfc8efe15c212b725d46e
Timo Sirainen [Fri, 2 Dec 2022 12:51:23 +0000 (14:51 +0200)]
lib-storage: Remove "const" from settings parser contexts
Timo Sirainen [Fri, 2 Dec 2022 12:50:47 +0000 (14:50 +0200)]
lib-master, global: master_service_settings_cache_read() - Remove "const" from settings parser return value
Timo Sirainen [Fri, 2 Dec 2022 12:59:41 +0000 (14:59 +0200)]
lib-settings: Remove settings_parser_deinit()
Timo Sirainen [Fri, 2 Dec 2022 12:43:21 +0000 (14:43 +0200)]
global: Replace settings_parser_deinit() with settings_parser_unref()
Timo Sirainen [Fri, 2 Dec 2022 12:42:27 +0000 (14:42 +0200)]
lib-settings: Add refcounting with settings_parser_[un]ref()
Karl Fleischmann [Thu, 24 Nov 2022 15:33:27 +0000 (16:33 +0100)]
doveadm/client-connection-http: Validate request boolean values
Only accept "true" and "false" as boolean payload values.
Timo Sirainen [Thu, 1 Dec 2022 10:37:17 +0000 (12:37 +0200)]
pop3: Fix assert-crash when POP3 command name contained ':'
The cmd_<name> reason code now only uses valid command names.
Broken by
d2ab26be6038bd53b13a3ff18c403d6c192c1d91 with incomplete fix in
1309137812424c80e63d3c1052795b43d6e19803 .
Fixes:
Panic: event_reason_code_prefix(): name has ':'
Timo Sirainen [Thu, 1 Dec 2022 10:32:28 +0000 (12:32 +0200)]
pop3: Move pop3 commands to array and add pop3_command_find()
Timo Sirainen [Wed, 16 Nov 2022 23:17:38 +0000 (01:17 +0200)]
lib-storage: mail_storage_service_read_settings() - Remove user_info_r parameter
Timo Sirainen [Wed, 16 Nov 2022 23:15:05 +0000 (01:15 +0200)]
lib-storage: Remove mail_storage_service_user.user_info
Timo Sirainen [Wed, 16 Nov 2022 23:13:25 +0000 (01:13 +0200)]
lib-storage: Remove mail_user.set_info
Timo Sirainen [Sun, 27 Feb 2022 21:30:34 +0000 (22:30 +0100)]
lib-settings: Remove support for dynamic parsers
Timo Sirainen [Sun, 27 Feb 2022 21:29:57 +0000 (22:29 +0100)]
lib-master, global: master_service_settings_cache_read() - Remove dyn_parsers parameter
Timo Sirainen [Sun, 27 Feb 2022 21:26:57 +0000 (22:26 +0100)]
lib-storage: Remove unused mail_storage_get_dynamic_parsers()
Timo Sirainen [Sun, 27 Feb 2022 21:11:03 +0000 (22:11 +0100)]
lib-storage, global: mail_storage_service_read_settings() - Remove unused pool parameter
Timo Sirainen [Tue, 15 Nov 2022 21:26:02 +0000 (23:26 +0200)]
lib-storage: Replace mail_user_set_get_driver_settings() with settings_parser_get_root_set()
Timo Sirainen [Tue, 15 Nov 2022 22:51:11 +0000 (00:51 +0200)]
lib-storage: Replace mail_namespace_get_driver_settings() with settings_parser_get_root_set()
Timo Sirainen [Wed, 16 Nov 2022 23:23:57 +0000 (01:23 +0200)]
lib-storage: Call settings_check() for all settings roots (3/3)
This commit finishes the breaking changes.
Timo Sirainen [Sun, 13 Nov 2022 15:18:47 +0000 (17:18 +0200)]
lib-storage, global: Change mail_user_init() to expand all settings automatically (2/3)
The callers must no longer expand the settings again.
Timo Sirainen [Sun, 27 Feb 2022 21:08:31 +0000 (22:08 +0100)]
lib-storage: Change storage-specific settings to regular settings roots (1/3)
This removes the need to have support for "dynamic settings".
This unfortunately also breaks Dovecot for the next two commits. The commits
are large enough that it doesn't make sense to squash them, and trying to
get them to work in the intermediate commits seems to be too much effort.
Timo Sirainen [Wed, 16 Nov 2022 23:03:28 +0000 (01:03 +0200)]
lib-storage: Set mail_user.unexpanded_set via unexpanded_set_parser
There is no need for mail_user_alloc*() to have a settings parameter.
Timo Sirainen [Tue, 15 Nov 2022 23:31:05 +0000 (01:31 +0200)]
lib-storage: Remove unnecessary prefixless_ns_unexpanded_set
Timo Sirainen [Tue, 15 Nov 2022 23:30:14 +0000 (01:30 +0200)]
lib-storage: Remove mail_namespace.unexpanded_set
Timo Sirainen [Wed, 30 Nov 2022 12:48:13 +0000 (14:48 +0200)]
dsync: Sync also namespaces where empty location setting came from userdb or -o parameter
Timo Sirainen [Tue, 15 Nov 2022 23:20:38 +0000 (01:20 +0200)]
lib-storage, dsync: Use a copy of unexpanded location settings
The unexpanded settings structs are used in only a few places. Replace
this usage by explicitly copying the few variables that are actually
needed. This allows getting rid of the full unexpanded settings structs,
which simplifies the settings handling code.
Timo Sirainen [Sun, 13 Nov 2022 14:50:00 +0000 (16:50 +0200)]
lib-storage: Add mail_storage_service_get_set_roots()
Timo Sirainen [Sun, 27 Feb 2022 21:05:07 +0000 (22:05 +0100)]
lib-storage: mail_user_set_get_driver_settings() - Add set_parser parameter
This is in preperation for the next commit that uses it.
Timo Sirainen [Sun, 27 Feb 2022 20:46:26 +0000 (21:46 +0100)]
lib-storage: mail_user_set_get_driver_settings() - Lookup settings via info struct
Timo Sirainen [Sun, 27 Feb 2022 20:32:24 +0000 (21:32 +0100)]
lib-settings: Add settings_find_dynamic_by_info()
Timo Sirainen [Fri, 18 Nov 2022 11:15:37 +0000 (13:15 +0200)]
global: Get settings via settings parser where possible
This will be required in the later commits.
Timo Sirainen [Sun, 27 Feb 2022 20:15:44 +0000 (21:15 +0100)]
lda, lmtp: raw_storage_create_from_set() - Use the same source for user settings and settings parser
Timo Sirainen [Sun, 27 Feb 2022 14:51:58 +0000 (15:51 +0100)]
lib-storage: Add mail_user.[unexpanded_]set_parser
The original parser stays unexpanded, while a duplicate parser will be
used for expanding settings. Also, since the whole parser is duplicated,
there's no need to anymore duplicate the settings structs themselves.
Timo Sirainen [Sat, 26 Feb 2022 22:39:19 +0000 (23:39 +0100)]
lib-settings: Remove unused settings_parser_get_list()
Timo Sirainen [Sat, 26 Feb 2022 22:38:45 +0000 (23:38 +0100)]
lib-master: Replace settings_parser_get_list() with settings_parser_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 22:36:58 +0000 (23:36 +0100)]
lib-master: Remove unused master_service_settings_parser_get_others()
Timo Sirainen [Sat, 26 Feb 2022 22:36:11 +0000 (23:36 +0100)]
lib-storage, global: Add root parameter to mail_storage_service_user_get_set()
Timo Sirainen [Sat, 26 Feb 2022 22:30:25 +0000 (23:30 +0100)]
login-common: Use settings_parser_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 22:26:20 +0000 (23:26 +0100)]
lib-master: Remove unused master_service_settings_get_others()
Timo Sirainen [Sat, 26 Feb 2022 22:25:59 +0000 (23:25 +0100)]
doveadm: Use master_service_settings_get_root_set*()
Timo Sirainen [Sat, 26 Feb 2022 22:20:52 +0000 (23:20 +0100)]
lib-master: Replace master_service_ssl_server_settings_get() with master_service_settings_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 22:19:38 +0000 (23:19 +0100)]
lib-master, global: Replace master_service_ssl_settings_get() with master_service_settings_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 22:15:22 +0000 (23:15 +0100)]
lib-master, lib-storage: Replace master_service_ssl_settings_get_from_parser() with settings_parser_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 22:04:37 +0000 (23:04 +0100)]
global: Use master_service_settings_get_root_set_dup()
Timo Sirainen [Sat, 26 Feb 2022 22:00:49 +0000 (23:00 +0100)]
lib-master: Add master_service_settings_get_root_set_dup()
Timo Sirainen [Mon, 21 Nov 2022 18:45:21 +0000 (20:45 +0200)]
lmtp: Duplicate the whole settings parser rather than individual settings structs
This will be needed later on.
Timo Sirainen [Thu, 17 Nov 2022 14:16:02 +0000 (16:16 +0200)]
lmtp: Remove client.user_set
Timo Sirainen [Sat, 26 Feb 2022 21:58:26 +0000 (22:58 +0100)]
lib-settings: Add settings_parser_get_root_set_dup()
Timo Sirainen [Sat, 26 Feb 2022 21:44:37 +0000 (22:44 +0100)]
global: Replace most master_service_settings_get_others() calls with master_service_settings_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 21:37:17 +0000 (22:37 +0100)]
lib-master: Add master_service_settings_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 21:34:51 +0000 (22:34 +0100)]
global: Replace most master_service_settings_parser_get_others() calls with settings_parser_get_root_set()
Timo Sirainen [Sat, 26 Feb 2022 21:27:35 +0000 (22:27 +0100)]
lib-storage: Remove unused mail_storage_service_get_settings()
Timo Sirainen [Sat, 26 Feb 2022 21:16:33 +0000 (22:16 +0100)]
lib-settings: Add settings_parser_get_root_set()
To make this work, for now we need to have a pointer to the original
struct setting_parser_info before dynamic parsers reallocate it. After
removing dynamic parsers this orig_info can be removed as well.
Timo Sirainen [Sat, 26 Feb 2022 20:21:50 +0000 (21:21 +0100)]
lib-settings: Remove unused settings_vars_have_key()
Timo Sirainen [Thu, 17 Nov 2022 13:56:31 +0000 (15:56 +0200)]
lib-storage: mail_user_init() - Assert that function is called only once
Timo Sirainen [Sat, 26 Feb 2022 20:20:23 +0000 (21:20 +0100)]
lib-storage: Change %home variable into function
This way home directory can be looked up on-demand rather than having to
go through all settings to find out if it's needed.
Timo Sirainen [Thu, 17 Nov 2022 17:04:54 +0000 (19:04 +0200)]
lib-storage: Fix calling mail_user_get_mail_home() during user initialization
When it's not already known that settings have been expanded, access
mail_home via unexpanded settings. This guarantees that the setting
hasn't been expanded yet. There's no guarantee whether user->set has
been expanded or not during mail_user_init().
Timo Sirainen [Sat, 26 Feb 2022 20:07:17 +0000 (21:07 +0100)]
lib: var-expand - Support single character variable functions
If the function name is "f", it's possible to use both %f and %{f} to
access the function.
Aki Tuomi [Fri, 25 Nov 2022 13:28:22 +0000 (15:28 +0200)]
lib-dns: Test that background cache refresh works when lookup starts failing
Aki Tuomi [Fri, 25 Nov 2022 13:06:27 +0000 (15:06 +0200)]
lib-dns: Assign client to context
Fixes signal 11 crash when background cache refresh fails, forgotten in
47f44374201e83ade6204bb237b163fbd066134a
Marco Bettini [Thu, 24 Nov 2022 09:12:39 +0000 (09:12 +0000)]
doveadm: Remove oldstats leftovers
Aki Tuomi [Mon, 28 Nov 2022 18:35:33 +0000 (20:35 +0200)]
lib-smtp: Free client_transport on destroy
Plug a memory leak introduced by
a995ca1185afe80dd6819a856ca079ca4aae5126
Marco Bettini [Tue, 22 Nov 2022 14:28:53 +0000 (14:28 +0000)]
lib-fts: fts_filter_stemmer_snowball_filter() - Handle cases where the stemmer returns no tokens
Fixes an issue raised originally against flatcurve in GitHub Issue #37,
where in some combination of languages and filters, the indexing crashes.
The ultimate cause was the improper assumption that snowball ALWAYS returns
a token, which happens to not be true.
Marco Bettini [Wed, 23 Nov 2022 10:40:57 +0000 (10:40 +0000)]
fts-flatcurve: fts_flatcurve_xapian_index_body() - Explicit sign conversion between char and unsigned char
Marco Bettini [Wed, 23 Nov 2022 09:51:39 +0000 (09:51 +0000)]
login-common: Fix for infinite recursion on invalid var expansion in login_log_format_elements and/or login_log_format
Broken by
0a3997e1c64f48529338a9f93d7c39381dfe4f72
Marco Bettini [Thu, 17 Nov 2022 15:59:02 +0000 (15:59 +0000)]
fts-flatcurve: Fix queries with non character-based searches
Xapian::QueryParser tries to tokenize phrases with non-letters (at least
in certain situations), so this was leading to strange behavior when
searching for e-mail addresses.
Solution: manually create queries using low-level Xapian::Query commands
to precisely define the query. Has the added benefit of making the code
more compact and easier to read.
Fixes GitHub Issue #35
Marco Bettini [Thu, 17 Nov 2022 15:10:56 +0000 (15:10 +0000)]
fts-flatcurve: Simplify handling of phrase queries
Dovecot FTS drivers can't properly support phrase searching (as of
v2.3.19), so simply ignore these queries in flatcurve. Both IMAP
searches and doveadm searches will pass both the phrase and the
component terms as part of the query, so no need to split the phrases
in the plugin.
Marco Bettini [Fri, 18 Nov 2022 15:31:03 +0000 (15:31 +0000)]
fts: fts_expunge_log_read_end() - Always unlink corrupted log files
Broken by
87b5c1fc03945708726c175d540fd307f7f78480
Marco Bettini [Fri, 18 Nov 2022 16:11:53 +0000 (16:11 +0000)]
fts: fts_expunge_log_flatten() - Fix event and memory leak
Marco Bettini [Tue, 22 Nov 2022 09:47:06 +0000 (09:47 +0000)]
auth: Add support for ARGON2 scheme
Timo Sirainen [Wed, 23 Nov 2022 14:00:39 +0000 (16:00 +0200)]
dsync: Add assert to make scan-build happy again
Broken by
0f67c79e48fa783b658606a99cf18db8daf7884e
Timo Sirainen [Sun, 27 Feb 2022 19:26:16 +0000 (20:26 +0100)]
global: Use mail_user_var_expand() where possible
This makes it possible to use %variable functions (e.g. %{userdb:*}) for
these settings.
Timo Sirainen [Sun, 27 Feb 2022 19:21:30 +0000 (20:21 +0100)]
lib-storage: Add mail_user_var_expand()
Marco Bettini [Mon, 21 Nov 2022 11:39:16 +0000 (11:39 +0000)]
global: Drop berkley db support leftovers
Berkeley DB support was already removed in
d5acb577 ,
but these changes had been left behind at that time.
Karl Fleischmann [Mon, 14 Nov 2022 13:47:15 +0000 (14:47 +0100)]
lib: Add unit tests for new interval-parsing in event-filter-parser
Karl Fleischmann [Fri, 11 Nov 2022 14:42:01 +0000 (15:42 +0100)]
lib: Try to interpret filter values as intervals when parsing integer event values
This allows event filter values to be given as "1days" or "1week". This
is only done after parsing sizes and thus sizes takes precedences. Thus
for ambiguous units like "M" sizes are used before intervals (e.g. "1M"
= "1024 * 1024" and not "1M" = "60 * 60 * 1000 * 1000").
Karl Fleischmann [Tue, 15 Nov 2022 15:25:56 +0000 (16:25 +0100)]
login-common: Report proxy-idle value as microseconds
To be consistent with other event attributes this value should be
reported as microseconds instead of seconds.
Karl Fleischmann [Tue, 15 Nov 2022 15:20:08 +0000 (16:20 +0100)]
login-common: Refactor proxy_last_io to use the full timeval struct
Instead of getting the last proxy io by second-value alone this commit
uses the microseconds as well. The existing API is not altered.
Karl Fleischmann [Fri, 28 Oct 2022 09:10:26 +0000 (11:10 +0200)]
lib: Add unit tests for new size-parsing in event-filter-parser
Karl Fleischmann [Thu, 10 Nov 2022 12:28:54 +0000 (13:28 +0100)]
lib: Try to interpret filter values as sizes when parsing integer event values
This allows event filter values to be given as "16M" or "1G".
Karl Fleischmann [Thu, 10 Nov 2022 12:27:35 +0000 (13:27 +0100)]
lib: Outfactor numeric event comparison
This function is later reused for size comparisons.
Karl Fleischmann [Wed, 26 Oct 2022 15:12:27 +0000 (17:12 +0200)]
global: Replace settings_get_time*() with str_parse_get_interval*() in project
Karl Fleischmann [Wed, 26 Oct 2022 15:06:02 +0000 (17:06 +0200)]
global: Replace settings_get_bool() with str_parse_get_bool() in project
Karl Fleischmann [Wed, 26 Oct 2022 15:03:08 +0000 (17:03 +0200)]
global: Replace settings_get_size() with str_parse_get_size() in project
Karl Fleischmann [Wed, 26 Oct 2022 14:57:08 +0000 (16:57 +0200)]
lib, lib-settings: Move string-parse functions for bool/size/interval into lib
Including the tests. Call the new functions from the existing
settings-functions. These will be removed in a later commit.
Marco Bettini [Wed, 9 Nov 2022 15:29:39 +0000 (15:29 +0000)]
lib-storage: mail_search_args_simplify_drop_redundant_args() - Apply Absorptive law versus all terms, not just the 1st
Aki Tuomi [Thu, 17 Nov 2022 19:53:01 +0000 (21:53 +0200)]
doc: Use html and man pages from doc.dovecot.org