]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Tue, 19 Nov 2024 11:08:00 +0000 (13:08 +0200)]
lib: Add backtrace to "Growing data stack" debug log message
Timo Sirainen [Tue, 19 Nov 2024 10:28:13 +0000 (12:28 +0200)]
lib: Fix "Growing data stack" debug message to show a more useful frame
It always used the data stack frame in t_malloc_real(), which isn't useful.
Instead, change it to log about the previous frame.
Timo Sirainen [Mon, 18 Nov 2024 14:06:50 +0000 (16:06 +0200)]
config: Don't try to auto-prefix named filter setting keys
These can cause conflicts with other settings, and auto-prefixing isn't very
useful for named filters anyway.
Timo Sirainen [Mon, 18 Nov 2024 10:46:33 +0000 (12:46 +0200)]
lib-var-expand: Add "generate" provider
This can be used to generate guid, guid128 and uuid with various formats.
Timo Sirainen [Wed, 13 Nov 2024 11:22:10 +0000 (13:22 +0200)]
lib: Add event_set_forced_never_debug()
Timo Sirainen [Fri, 22 Nov 2024 10:23:53 +0000 (12:23 +0200)]
auth: Change auth_policy_request_attributes setting to strlist type
Timo Sirainen [Fri, 22 Nov 2024 10:31:23 +0000 (12:31 +0200)]
lib-settings, config: Allow clearing out strlist settings with "key="
If a non-empty value is given, it's an error.
Timo Sirainen [Fri, 22 Nov 2024 10:41:06 +0000 (12:41 +0200)]
lib-settings, config: Rename SET_BOOLLIST_* to SET_LIST_*
This is in preparation for STRLIST to use them as well.
Timo Sirainen [Wed, 20 Nov 2024 11:09:03 +0000 (13:09 +0200)]
lib-lda: Don't check for tempfail if deliver_mail() hook returns 0
This fixes plugins that want lib-lda to continue saving the mail by
returning 0. This may have wrongly caused temporary failure,
depending on what happened to be in mail_storage's error.
Aki Tuomi [Thu, 31 Oct 2024 13:25:57 +0000 (15:25 +0200)]
lib-lua: dlua-http - Use settings to configure HTTP client
This allows inheriting HTTP settings from Dovecot configuration.
Aki Tuomi [Fri, 1 Nov 2024 10:43:48 +0000 (12:43 +0200)]
lib-lua: test-lua-http-client - Fix HTTP client test
Timo Sirainen [Fri, 8 Nov 2024 11:14:13 +0000 (13:14 +0200)]
doveconf: Don't show requested settings where only prefix matches
For example asking for "doveconf passdb" could have returned passdb_lua
and other (default) named filters where the name started with "passdb".
Timo Sirainen [Fri, 8 Nov 2024 11:11:47 +0000 (13:11 +0200)]
config: Avoid panic if using auth settings inside local/remote filter
Change it to a normal error instead.
Timo Sirainen [Thu, 7 Nov 2024 16:48:03 +0000 (18:48 +0200)]
config: doveconf - Add -f filter parameters
Timo Sirainen [Fri, 8 Nov 2024 10:18:41 +0000 (12:18 +0200)]
config: Rename config_filter.service to protocol
Timo Sirainen [Fri, 8 Nov 2024 09:55:32 +0000 (11:55 +0200)]
config: Split off config_filter_parse()
Timo Sirainen [Fri, 8 Nov 2024 09:51:23 +0000 (11:51 +0200)]
config: Split off config_filter_match_no_recurse()
Timo Sirainen [Wed, 16 Oct 2024 09:59:31 +0000 (12:59 +0300)]
doveconf: Reorder if-branches
Timo Sirainen [Wed, 16 Oct 2024 09:52:18 +0000 (12:52 +0300)]
doveconf: Remove obsolete -m and -p parameters entirely
Aki Tuomi [Wed, 20 Nov 2024 10:12:20 +0000 (12:12 +0200)]
lib-dict, lib-settings: Link tests with libdl
Aki Tuomi [Wed, 20 Nov 2024 10:09:18 +0000 (12:09 +0200)]
lib-language: Link tests against libdovecot.la
Aki Tuomi [Wed, 20 Nov 2024 10:09:08 +0000 (12:09 +0200)]
lib-compression: Link tests against libdovecot.la
Aki Tuomi [Mon, 18 Nov 2024 12:15:53 +0000 (14:15 +0200)]
lib-var-expand: Move var-expand-crypt-plugin to lib-var-expand-crypto
Aki Tuomi [Mon, 18 Nov 2024 08:19:07 +0000 (10:19 +0200)]
var-expand-crypt: Ensure iv or salt is given in raw mode
Would generate non-decryptable output otherwise.
Aki Tuomi [Sun, 17 Nov 2024 10:21:34 +0000 (12:21 +0200)]
var-expand-crypt: Add aes-128-ecb tests
This ensures ecb mode works too
Aki Tuomi [Mon, 18 Nov 2024 13:56:03 +0000 (15:56 +0200)]
var-expand-crypt: Reduce random test loops to 100
It takes too long with valgrind otherwise.
Aki Tuomi [Sun, 17 Nov 2024 10:01:30 +0000 (12:01 +0200)]
var-expand-crypt: Support key material generation with key and salt
Aki Tuomi [Mon, 18 Nov 2024 12:59:44 +0000 (14:59 +0200)]
var-expand-crypt: Move structured input parsing to parse_parameters()
Aki Tuomi [Sun, 17 Nov 2024 11:35:43 +0000 (13:35 +0200)]
var-expand-crypt: Do not bail out early in var_expand_crypt_settings()
Simplifies next change.
Aki Tuomi [Sun, 17 Nov 2024 10:04:15 +0000 (12:04 +0200)]
var-expand-crypt: Defer creating key and iv in context
Simplifies next change.
Aki Tuomi [Sun, 17 Nov 2024 10:49:02 +0000 (12:49 +0200)]
var-expand-crypt: Make test_var_expand_crypt_random() stop on first error
Aki Tuomi [Sun, 17 Nov 2024 11:00:03 +0000 (13:00 +0200)]
var-expand-crypt: Split test into two
Aki Tuomi [Sun, 17 Nov 2024 11:09:46 +0000 (13:09 +0200)]
var-expand-crypt: Initialize/deinitialize with test runner
Aki Tuomi [Sun, 17 Nov 2024 10:38:04 +0000 (12:38 +0200)]
var-expand-crypt: Reformat test-var-expand-crypt.c
Aki Tuomi [Sun, 17 Nov 2024 10:20:41 +0000 (12:20 +0200)]
lib-dcrypt: Allow missing IV
This is needed for e.g. ECB mode.
Stephan Bosch [Thu, 14 Nov 2024 12:10:09 +0000 (13:10 +0100)]
lib-storage: mailbox-list - Use mkdir_get_executable_mode() instead of local static version
Stephan Bosch [Thu, 14 Nov 2024 12:09:12 +0000 (13:09 +0100)]
lib: mkdir-parents - Add mkdir_get_executable_mode()
Makes get_dir_mode() from src/lib-sieve/mailbox-list.c public.
Stephan Bosch [Wed, 28 Aug 2024 01:10:58 +0000 (03:10 +0200)]
lda: main - Use user event as event parent for lib-lda
This makes user variable expansions available for settings parsed by lib-lda and
lda plugins.
Stephan Bosch [Wed, 28 Aug 2024 00:50:26 +0000 (02:50 +0200)]
lmtp: lmtp-local - Use user event as event parent for lib-lda
This makes user variable expansions available for settings parsed by lib-lda and
lda plugins.
Stephan Bosch [Wed, 6 Mar 2024 00:57:26 +0000 (01:57 +0100)]
lib-settings: settings - Add settings_root_override_remove()
Timo Sirainen [Wed, 13 Nov 2024 08:28:16 +0000 (10:28 +0200)]
fs-posix: Change fs_posix_autodelete_empty_directories to be a hidden setting
Timo Sirainen [Wed, 13 Nov 2024 08:25:50 +0000 (10:25 +0200)]
fs-posix: Change fs_posix_autodelete_empty_directories default to no
Timo Sirainen [Fri, 8 Nov 2024 12:14:19 +0000 (14:14 +0200)]
config: Fix grouping settings under a named filter
Aki Tuomi [Fri, 8 Nov 2024 07:30:14 +0000 (09:30 +0200)]
auth: Move username matching to auth when listing users
Auth process knows how to match users correctly in each userdb,
so it is better to do it there.
Aki Tuomi [Fri, 8 Nov 2024 06:55:37 +0000 (08:55 +0200)]
auth: userdb-passwd-file - Support iterating variable paths if variables are provided
This still does not fix '*', but at least it can list users if you
provide domain.
Aki Tuomi [Wed, 13 Nov 2024 09:42:05 +0000 (11:42 +0200)]
auth: db-passwd-file - Normalize path with db_passwd_fix_path()
Otherwise there is a chance that we leak one ../
Aki Tuomi [Wed, 13 Nov 2024 09:38:30 +0000 (11:38 +0200)]
auth: db-passwd-file - Add db_passwd_fix_path()
Aki Tuomi [Fri, 8 Nov 2024 07:06:46 +0000 (09:06 +0200)]
auth: db-passwd-file - Include event in var_expand_params
Aki Tuomi [Fri, 8 Nov 2024 06:30:45 +0000 (08:30 +0200)]
auth: userdb-passwd-file - Use container_of() macro
Timo Sirainen [Tue, 12 Nov 2024 20:39:53 +0000 (22:39 +0200)]
lib-storage: Add metacache_service_user_module
This is a bit of a kludge to keep it in core, but it is wanted independently
by both obox and fts_dovecot plugins.
Timo Sirainen [Mon, 11 Nov 2024 20:49:21 +0000 (22:49 +0200)]
lib-storage: Add mailbox_list_lost_mailbox_prefix hidden setting
This replaces mail_storage.lost_mailbox_prefix.
Timo Sirainen [Mon, 11 Nov 2024 13:32:15 +0000 (15:32 +0200)]
lib-storage: Add mail_storage_service_user.module_contexts
This allows plugins to add plugin-specific fields to
mail_storage_service_user.
Timo Sirainen [Mon, 11 Nov 2024 13:23:07 +0000 (15:23 +0200)]
lib-storage: Make struct mail_storage_service_user public
Mainly to allow plugin-specific module_contexts in the next commit.
Timo Sirainen [Wed, 9 Oct 2024 21:15:18 +0000 (00:15 +0300)]
config: Add @metric_defaults = proxy/backend
Timo Sirainen [Thu, 19 Sep 2024 10:49:36 +0000 (13:49 +0300)]
config: Don't run settings check functions inside @groups
The groups can be included from different places, so alone they don't have a
usable context for the checks.
Timo Sirainen [Thu, 19 Sep 2024 10:18:04 +0000 (13:18 +0300)]
config: Allow specifying service settings inside @groups
Timo Sirainen [Wed, 9 Oct 2024 06:49:26 +0000 (09:49 +0300)]
doveconf: Added -I parameter to dump config imported from plugins
Timo Sirainen [Wed, 18 Sep 2024 12:58:20 +0000 (15:58 +0300)]
config: Support importing configuration from settings plugins
Add to the settings plugin:
const char *<plugin name>_config_import = "..."
This is mainly intended to be used for adding default @groups.
Aki Tuomi [Tue, 5 Nov 2024 11:56:43 +0000 (13:56 +0200)]
lib-storage: Check that mail_server_admin is valid URI
Aki Tuomi [Tue, 5 Nov 2024 12:01:11 +0000 (14:01 +0200)]
lib: test-uri - Fix sip tests
In RFC 3261 the tag is clearly outside the URI.
Aki Tuomi [Tue, 5 Nov 2024 11:36:40 +0000 (13:36 +0200)]
lib: uri - Allow host after scheme with 'iax' scheme
Aki Tuomi [Tue, 5 Nov 2024 11:19:49 +0000 (13:19 +0200)]
lib: uri - Allow parameters directly with semicolon
Fixes AAA validation.
Aki Tuomi [Tue, 5 Nov 2024 11:23:03 +0000 (13:23 +0200)]
lib: test-uri - Add test for [IPv6] with http scheme
Aki Tuomi [Tue, 5 Nov 2024 11:27:46 +0000 (13:27 +0200)]
lib: test-uri - Print error when RFC URI parsing fails
Timo Sirainen [Thu, 7 Nov 2024 11:55:30 +0000 (13:55 +0200)]
config: Fail with error if trying to use settings inside groups which don't work
Timo Sirainen [Wed, 6 Nov 2024 13:52:55 +0000 (15:52 +0200)]
config: doveconf - When asking for specific settings, show also defaults
Timo Sirainen [Wed, 30 Oct 2024 20:45:45 +0000 (22:45 +0200)]
doveconf: Expand include @groups when asking for specific settings
For example if you have:
group @example foo {
namespace_separator = /
}
namespace inbox {
@example = foo
}
Asking for "doveconf namespace/inbox/separator" will now output "/".
Timo Sirainen [Fri, 18 Oct 2024 07:17:04 +0000 (10:17 +0300)]
config: Fail if trying to use unknown @group label or name
Timo Sirainen [Wed, 30 Oct 2024 20:45:32 +0000 (22:45 +0200)]
config: Add config_filters_equal_no_recursion()
Timo Sirainen [Wed, 6 Nov 2024 13:44:28 +0000 (15:44 +0200)]
config: Replace config_module_parsers_get_setting() with config_parsed_get_setting()
The new function looks up both explicitly changed settings and default
settings.
Timo Sirainen [Mon, 4 Nov 2024 10:45:38 +0000 (12:45 +0200)]
master, config: Add default_* service settings
Added default_process_limit, default_client_limit,
default_idle_kill_interval and default_vsz_limit settings. The global
service_* settings default to using these.
These settings are added into a new global "default settings" filter.
Other default settings are kept mixed with explicit settings, because
for them it doesn't matter that they are mixed, and it simplifies
settings value lookups.
Timo Sirainen [Wed, 6 Nov 2024 14:18:32 +0000 (16:18 +0200)]
config: Initialize STRLIST and BOOLLIST arrays with defaults
This will be needed by the following changes. Otherwise doveconf output
shows only the elements in config file, not the built-in defaults.
Timo Sirainen [Wed, 6 Nov 2024 13:04:01 +0000 (15:04 +0200)]
config: Remove config_parsed_get_module_parsers() wrapper
Timo Sirainen [Wed, 6 Nov 2024 12:16:26 +0000 (14:16 +0200)]
config: Remove config_export_get_*() wrapper functions
Use config_module_parsers_get_setting() directly.
Timo Sirainen [Mon, 4 Nov 2024 12:11:27 +0000 (14:11 +0200)]
config: Remove separate ordering for default service settings
This changes e.g. a global "service_process_limit = N" to override it for
all services, unless they have an explicit service { process_limit = M }
in the config file.
This change simplifies the following changes and removes the special
handling of global service settings.
Timo Sirainen [Mon, 4 Nov 2024 12:06:47 +0000 (14:06 +0200)]
config: config_get_value() - Fix crash if looking up setting that only has default value
Timo Sirainen [Mon, 4 Nov 2024 10:44:27 +0000 (12:44 +0200)]
config: Fix doveconf output when using $SET: and $ENV:
If they were used for non-string values, they were attempted to be
validated, which caused e.g. "Not a valid number" errors.
Timo Sirainen [Wed, 9 Oct 2024 07:39:59 +0000 (10:39 +0300)]
config: Allow auto-creating new filters based on settings key paths
This is especially needed for old-set-parser where e.g. auth_worker_max_count
converts to service/auth-worker/process_limit. This worked so far because
service/auth was created as a non-default settings filter, so it was simply
updated. However, with the next change service/auth becomes a "service
default" filter, which can't be directly updated. Instead a whole new
non-default service/auth filter must be created.
This change shouldn't break anything, although it will now allow
auto-creating named list filters in configuration file, e.g.
"namespace/inbox/separator=/" will directly work.
Stephan Bosch [Fri, 1 Nov 2024 17:18:08 +0000 (18:18 +0100)]
run-test-valgrind.supp - Amend test_lib_fatal_ostream_file suppression
Make stack pattern more robust to compiler diversity.
Aki Tuomi [Wed, 23 Oct 2024 10:06:20 +0000 (13:06 +0300)]
auth: Add test for auth request export import
Aki Tuomi [Tue, 1 Oct 2024 11:44:59 +0000 (14:44 +0300)]
mail-lua: Add lua_call filter to var_expand
When mail-lua is loaded, it registers new var_expand filter
lua_call(fn, parameter, parameter)
This will call function in mail lua script with
fn(mail_user, parameter, parameter, .., state)
fn must (return 0, value) on success, and (-1, errmsg) on error
Aki Tuomi [Thu, 19 Sep 2024 05:38:51 +0000 (08:38 +0300)]
auth: passwd-file - Add all fields to passwd_file provider
Aki Tuomi [Fri, 6 Sep 2024 05:30:43 +0000 (08:30 +0300)]
global: Right-size some pools
Avoids excess malloc traffic
Aki Tuomi [Thu, 29 Aug 2024 11:05:06 +0000 (14:05 +0300)]
lib: Drop old var_expand
Aki Tuomi [Thu, 29 Aug 2024 13:04:04 +0000 (16:04 +0300)]
var-expand-crypt: Convert to new var_expand
Aki Tuomi [Tue, 17 Sep 2024 05:09:57 +0000 (08:09 +0300)]
quota-status: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:04:12 +0000 (14:04 +0300)]
notify-status: Use new var_expand
Aki Tuomi [Fri, 6 Sep 2024 06:08:22 +0000 (09:08 +0300)]
stats: Use new var_expand
Dropping %{domain} in favor of %{value | domain}
Aki Tuomi [Thu, 29 Aug 2024 11:58:31 +0000 (14:58 +0300)]
config: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:26:15 +0000 (14:26 +0300)]
master: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:17:54 +0000 (14:17 +0300)]
lda: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:56:07 +0000 (13:56 +0300)]
doveadm: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:49:38 +0000 (13:49 +0300)]
submission: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:42:40 +0000 (13:42 +0300)]
pop3: Use new var_expand
Aki Tuomi [Thu, 10 Oct 2024 12:01:21 +0000 (15:01 +0300)]
imap-hibernate: Drop username and domain %variable variants
These can be produced with %{user | username} and %{user | domain}
Aki Tuomi [Thu, 29 Aug 2024 11:35:35 +0000 (14:35 +0300)]
imap-hibernate: Use new var_expand
Aki Tuomi [Mon, 23 Sep 2024 12:36:48 +0000 (15:36 +0300)]
imap-urlauth: Change logout format to match new var expand syntax
Aki Tuomi [Thu, 29 Aug 2024 10:42:34 +0000 (13:42 +0300)]
imap: Use new var_expand
Aki Tuomi [Tue, 17 Sep 2024 06:28:13 +0000 (09:28 +0300)]
auth: Change auth_request_var_expand() return value
It now returns -1 on error and 0 on success
Aki Tuomi [Thu, 3 Oct 2024 17:03:35 +0000 (20:03 +0300)]
auth: Return error from auth worker on failure