]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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
Aki Tuomi [Thu, 10 Oct 2024 11:36:38 +0000 (14:36 +0300)]
auth: Drop username and domain %variable variants
These can be generated with %{user|username} and %{user|domain}
Aki Tuomi [Wed, 28 Aug 2024 11:43:17 +0000 (14:43 +0300)]
auth: Use new var_expand
Aki Tuomi [Fri, 11 Oct 2024 07:23:53 +0000 (10:23 +0300)]
auth: ldap - Always lowercase attribute names
LDAP attributes are DirectoryStrings, which are case insensitive.
Aki Tuomi [Fri, 11 Oct 2024 07:19:26 +0000 (10:19 +0300)]
auth: ldap - Replace ldap_dn with ldap:dn
While it's theoretically possible that someone can introduce an
attribute called DN, it is not practically possible.
Aki Tuomi [Thu, 10 Oct 2024 11:03:53 +0000 (14:03 +0300)]
auth: Remove old var_expand %variables
Aki Tuomi [Thu, 10 Oct 2024 11:49:43 +0000 (14:49 +0300)]
login-common: Drop username and domain %variable variants
These can be produced with %{user | username} and %{user | domain}.
Aki Tuomi [Tue, 20 Aug 2024 11:52:37 +0000 (14:52 +0300)]
login-common: Use new var_expand
Aki Tuomi [Thu, 10 Oct 2024 10:25:17 +0000 (13:25 +0300)]
login-common: Remove old var_expand %variables
Aki Tuomi [Thu, 29 Aug 2024 11:21:36 +0000 (14:21 +0300)]
dict-ldap: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 10:59:21 +0000 (13:59 +0300)]
driver_cassandra: Use new var_expand
Aki Tuomi [Thu, 10 Oct 2024 11:54:31 +0000 (14:54 +0300)]
lib-storage: Drop username and domain %variable variants
These can be produced with %{user | username} and %{user | domain}.
Aki Tuomi [Tue, 20 Aug 2024 09:17:24 +0000 (12:17 +0300)]
lib-storage: Use new var_expand
Aki Tuomi [Thu, 10 Oct 2024 11:57:01 +0000 (14:57 +0300)]
lib-storage,imap-hibernate: Drop lip, rip, lport and rport %variables
They are removed in favor of local_ip, remote_ip, local_port and
remote_port.
Aki Tuomi [Tue, 20 Aug 2024 07:47:58 +0000 (10:47 +0300)]
lib-settings: Use new var_expand
NOTE: Dovecot will be broken until all users of
SETTINGS_EVENT_VAR_EXPAND_* are fixed.
Aki Tuomi [Tue, 20 Aug 2024 06:29:09 +0000 (09:29 +0300)]
lib-master: Use new var_expand
Aki Tuomi [Thu, 29 Aug 2024 11:00:23 +0000 (14:00 +0300)]
global: Remove var-expand.h from some places
Aki Tuomi [Tue, 20 Aug 2024 06:47:49 +0000 (09:47 +0300)]
global: Include lib-var-expand where needed
Aki Tuomi [Fri, 16 Aug 2024 09:20:40 +0000 (12:20 +0300)]
Add lib-var-expand
Aki Tuomi [Mon, 2 Sep 2024 07:23:15 +0000 (10:23 +0300)]
lib: event-filter - Use system pool for memory
Aki Tuomi [Thu, 15 Aug 2024 18:14:06 +0000 (21:14 +0300)]
lib: mempool - Allow calling realloc without knowing block size
Supported by some pools only
Timo Sirainen [Mon, 14 Oct 2024 11:34:43 +0000 (14:34 +0300)]
dbox: Fail reading mails if it has external attachment and mail_ext_attachment_dir is empty
Previously it was just silently dropping the attachments.
sergey.kitov [Thu, 29 Aug 2024 09:51:10 +0000 (12:51 +0300)]
imap(-login): Change imap_capability to boollist.
sergey.kitov [Mon, 14 Oct 2024 15:45:38 +0000 (18:45 +0300)]
lib-imap: Introduce imap_write_capability() function.
sergey.kitov [Fri, 11 Oct 2024 12:21:24 +0000 (15:21 +0300)]
lib-settings: Introduce settings_boollist_is_stopped() function.
The function is to be used to identify if boollist setting is set
explicitly or updating existing (default) settings.
sergey.kitov [Thu, 3 Oct 2024 12:52:15 +0000 (15:52 +0300)]
config: Fix formatting of boollist keys containing '=' by doveconf.
sergey.kitov [Mon, 16 Sep 2024 09:17:23 +0000 (12:17 +0300)]
login-common: Add service field to client event.
service field is needed for applying default settings.
sergey.kitov [Mon, 30 Sep 2024 14:02:44 +0000 (17:02 +0300)]
lib-settings: Call settings_parse_array_stop for seen settings.
Not calling settings_parse_array_stop() for seen settings cause
excessive elements in list, when settings are read for second time.
sergey.kitov [Thu, 29 Aug 2024 08:43:54 +0000 (11:43 +0300)]
lib-settings: Allow override setting keys ending with '+' for non SET_STR and SET_FILTER_ARRAY types.
For SET_STR and SET_FILTER_ARRAY types + at the end of the key is
treated as appending to the value.
Particularly, this change allows boollist entries to end with '+'.
sergey.kitov [Thu, 26 Oct 2023 13:24:10 +0000 (16:24 +0300)]
imap(-login): Remove +CAPABILITY functionality from imap_capability setting.
This will be unnecessary after the following commit changes
imap_capability to BOOLLIST.
sergey.kitov [Wed, 18 Sep 2024 13:36:52 +0000 (16:36 +0300)]
imap-login: Whitespace cleanup.
sergey.kitov [Wed, 8 May 2024 14:33:09 +0000 (17:33 +0300)]
lib-storage: Change mbox_[read|write]_locks to BOOLLIST..
Timo Sirainen [Mon, 23 Sep 2024 11:40:34 +0000 (14:40 +0300)]
lib-storage: shared - Minor shared_ns_prefix_validate() optimization
Timo Sirainen [Mon, 23 Sep 2024 11:36:02 +0000 (14:36 +0300)]
lib-storage: shared - Split off shared_ns_prefix_validate()
Timo Sirainen [Wed, 18 Sep 2024 10:55:13 +0000 (13:55 +0300)]
lib-storage, acl: Replace %%variables in shared namespace prefix with $variables
%%u -> $user, %%n -> $username, %%d -> $domain
This the variables couldn't actually be used in any complex ways,
these $variable templates make more sense. They're also more consistent
with how dict-sql handles similar templating.
Timo Sirainen [Wed, 18 Sep 2024 11:39:59 +0000 (14:39 +0300)]
dict-cdb: Implement new init() API
Timo Sirainen [Tue, 17 Sep 2024 12:30:23 +0000 (15:30 +0300)]
global: Rename service_idle_kill to service_idle_kill_interval
Also rename related functions and macros.
This clarifies a bit what the setting does: It's the interval between
killing idle processes, not the amount of time when an idling process
is killed.
Timo Sirainen [Wed, 18 Sep 2024 11:15:04 +0000 (14:15 +0300)]
auth: Rename passdb_mechanisms_filter=none to lookup
Timo Sirainen [Wed, 18 Sep 2024 11:13:21 +0000 (14:13 +0300)]
auth: Rename passdb_mechanisms to passdb_mechanisms_filter
Rename also related variables.
Aki Tuomi [Thu, 19 Sep 2024 05:28:12 +0000 (08:28 +0300)]
mail-crypt: Detect chacha20-poly1305 correctly
Timo Sirainen [Wed, 4 Sep 2024 20:11:14 +0000 (23:11 +0300)]
lib-settings: Add default name fields for named list filter overrides
For example if -o namespace+=foo, it's no longer necessary to explicitly
add also -o namespace/foo/name=foo.
Timo Sirainen [Wed, 4 Sep 2024 12:56:03 +0000 (15:56 +0300)]
lib-settings: Fix order of override settings
Stephan Bosch [Tue, 3 Sep 2024 00:10:48 +0000 (02:10 +0200)]
lib-settings: settings - Add support for sorting filter array fields
Stephan Bosch [Tue, 3 Sep 2024 18:16:13 +0000 (20:16 +0200)]
lib-settings: test-settings-parser - Always use designated initializers for setting defs
Timo Sirainen [Wed, 28 Aug 2024 01:09:22 +0000 (04:09 +0300)]
trash: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 01:39:28 +0000 (04:39 +0300)]
lib-storage: Splitt off mailbox_settings_get_vname()
Timo Sirainen [Wed, 28 Aug 2024 00:40:57 +0000 (03:40 +0300)]
pop3-migration: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:40:52 +0000 (03:40 +0300)]
charset-alias: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:23:28 +0000 (03:23 +0300)]
apparmor: Convert plugin settings to regular settings
Timo Sirainen [Wed, 28 Aug 2024 00:23:23 +0000 (03:23 +0300)]
virtual: Convert plugin settings to regular settings
Timo Sirainen [Tue, 27 Aug 2024 23:49:36 +0000 (02:49 +0300)]
mail-log: Convert plugin settings to regular settings
Timo Sirainen [Tue, 27 Aug 2024 23:35:12 +0000 (02:35 +0300)]
last-login: Convert plugin settings to regular settings
Timo Sirainen [Tue, 3 Sep 2024 10:04:00 +0000 (13:04 +0300)]
global: Use array_lsearch_ptr[_idx]() where possible
Timo Sirainen [Mon, 26 Aug 2024 10:01:43 +0000 (13:01 +0300)]
quota: Split off quota_root_settings
Timo Sirainen [Mon, 26 Aug 2024 09:19:42 +0000 (12:19 +0300)]
quota: quota-status - Convert plugin settings to global settings
Timo Sirainen [Fri, 23 Aug 2024 13:06:54 +0000 (16:06 +0300)]
quota: doveadm quota get - Hide quota roots with quota_ignore=yes
Timo Sirainen [Sat, 24 Aug 2024 05:37:38 +0000 (08:37 +0300)]
quota: Remove early MAIL_STORAGE_CLASS_FLAG_NOQUOTA check
This is still checked later on. This early check caused problems, since
it could have triggered storage creation while namespaces were still
being added.
Timo Sirainen [Fri, 23 Aug 2024 12:51:02 +0000 (15:51 +0300)]
quota: Fix linking quota-status
The duplicate objects with quota plugin may have caused crashes.
Timo Sirainen [Thu, 22 Aug 2024 09:25:12 +0000 (12:25 +0300)]
quota: Use shared code for setting quota-backend: event log prefix
Timo Sirainen [Thu, 22 Aug 2024 09:23:46 +0000 (12:23 +0300)]
quota: Remove quota_args setting
All backends have replaced the args with global settings.
Timo Sirainen [Thu, 22 Aug 2024 09:21:29 +0000 (12:21 +0300)]
quota-imapc: Move quota_args to global quota_imapc_* settings
The default is to use GETQUOTAROOT INBOX for finding the used quota root.
If quota_imapc_root_name is non-empty, it is used instead.
Since some configurations may need to use an empty quota_imapc_root_name,
this is used when quota_imapc_mailbox_name is also set to empty.
Timo Sirainen [Thu, 22 Aug 2024 09:12:59 +0000 (12:12 +0300)]
quota-fs: Move quota_args to global quota_fs_* settings
Timo Sirainen [Thu, 22 Aug 2024 08:26:15 +0000 (11:26 +0300)]
quota: Move quota_args=noenforcing to quota_enforce=no
Timo Sirainen [Thu, 22 Aug 2024 08:14:26 +0000 (11:14 +0300)]
quota: Move quota_args=ignoreunlimited to quota_ignore_unlimited
Timo Sirainen [Thu, 22 Aug 2024 08:08:53 +0000 (11:08 +0300)]
quota: Move quota_args=hidden to quota_hidden setting
Timo Sirainen [Thu, 22 Aug 2024 08:00:16 +0000 (11:00 +0300)]
quota: Replace quota_warning_command and quota_over_status_script with execute { .. }