]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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 { .. }
Timo Sirainen [Thu, 22 Aug 2024 08:23:53 +0000 (11:23 +0300)]
quota: Use quota_root.backend.event instead of quota_root.quota.event
Timo Sirainen [Thu, 22 Aug 2024 08:22:53 +0000 (11:22 +0300)]
quota: Add quota_<backend> named filters
Timo Sirainen [Thu, 15 Aug 2024 21:18:19 +0000 (00:18 +0300)]
quota: Initial conversion to use global settings
Timo Sirainen [Tue, 20 Aug 2024 09:24:54 +0000 (12:24 +0300)]
quota: Minor code refactoring
Simplifies the following commits.
Timo Sirainen [Mon, 19 Aug 2024 10:19:17 +0000 (13:19 +0300)]
quota: Simplify quota_root_is_visible()
Timo Sirainen [Mon, 19 Aug 2024 10:11:10 +0000 (13:11 +0300)]
quota: Change quota_backend_vfuncs.namespace_added() to take root parameter
The quota-fs mountpoint handling was also simplified.
Timo Sirainen [Mon, 19 Aug 2024 09:29:56 +0000 (12:29 +0300)]
quota: Move namespaces list to quota_root
It makes more sense in there.
Timo Sirainen [Fri, 16 Aug 2024 11:56:33 +0000 (14:56 +0300)]
quota: Rename quota_over_status_value to quota_over_status_mask
Timo Sirainen [Fri, 16 Aug 2024 11:52:43 +0000 (14:52 +0300)]
quota: Rename quota_over_flag* to quota_over_status*
This includes the settings and function names.
Timo Sirainen [Fri, 16 Aug 2024 12:00:08 +0000 (15:00 +0300)]
quota: Rename quota_over_flag to quota_over_flag_current
Timo Sirainen [Thu, 15 Aug 2024 21:13:02 +0000 (00:13 +0300)]
quota, imap_quota: quota_get_resource() - Changed mailbox_name parameter to struct mailbox
Timo Sirainen [Mon, 26 Aug 2024 08:52:36 +0000 (11:52 +0300)]
quota: Fix deduplication of alias_for namespaces
The pointer checks didn't actually work, because they weren't set at this
point yet.
Timo Sirainen [Thu, 15 Aug 2024 21:03:25 +0000 (00:03 +0300)]
quota: Fix memory leak if quota backend init() fails
Timo Sirainen [Thu, 15 Aug 2024 21:00:00 +0000 (00:00 +0300)]
quota: Require quota backends to have init()
All the backends already have one.
Timo Sirainen [Thu, 15 Aug 2024 14:58:36 +0000 (17:58 +0300)]
quota: Rename quota_root_settings to quota_root_legacy_settings
Timo Sirainen [Thu, 15 Aug 2024 12:33:51 +0000 (15:33 +0300)]
quota: Delay calculating percentage-based quota limits
This simplifies the following changes.
Timo Sirainen [Thu, 15 Aug 2024 10:07:29 +0000 (13:07 +0300)]
quota: Remove quota_root_settings.have_reverse_warnings
Look it up on-demand instead.
Timo Sirainen [Thu, 15 Aug 2024 10:02:21 +0000 (13:02 +0300)]
quota: Drop support for percentage based quota_grace
Also change the default from 10% to 10 MB. It's likely not necessary to
support both, and having a fixed size makes usually more sense than a
percentage that can be rather huge. If we wanted to support both, the
settings redesign would require two separate grace settings, which seems
a bit excessive.
Timo Sirainen [Wed, 14 Aug 2024 07:25:28 +0000 (10:25 +0300)]
quota: Remove support for Maildir++-specific quota rules
Using quota_rule = *:backend=10C,20S worked previously with Maildir++
quota to read a limit of 10 messages and 20 bytes of quota. If necessary,
this parsing can be replaced by using userdb lua script.
Timo Sirainen [Wed, 14 Aug 2024 07:23:21 +0000 (10:23 +0300)]
quota: Remove unused quota_backend_vfuncs.init_limits()
Timo Sirainen [Wed, 14 Aug 2024 07:18:46 +0000 (10:18 +0300)]
quota: Remove support for getting quota limits from quota backends
Previously using quota_rule = ?:... with Maildir++ quota would read the
limit from maildirsize file, if it existed. This feature wasn't really
even documented, so it's unlikely to be used, and it unnecessarily
complicates the code.
Timo Sirainen [Wed, 14 Aug 2024 07:05:58 +0000 (10:05 +0300)]
quota: Remove quota_root_settings.set
Only the memory pool was used from it. Pass it via parameters instead.
Timo Sirainen [Wed, 14 Aug 2024 07:02:09 +0000 (10:02 +0300)]
quota: quota_rule_parse_limits() - Return error allocated from data stack
There is no need to use the quota's memory pool for it.
Timo Sirainen [Tue, 13 Aug 2024 11:47:52 +0000 (14:47 +0300)]
quota: Convert initial set of quota plugin settings to global settings
Timo Sirainen [Tue, 13 Aug 2024 11:46:08 +0000 (14:46 +0300)]
quota: Initialize quota plugin even without any quota settings
After the following changes, it's not known whether there are quota
settings, since they could be e.g. mailbox-specific.
Timo Sirainen [Tue, 13 Aug 2024 10:32:15 +0000 (13:32 +0300)]
quota: Rename struct quota_settings to quota_legacy_settings
Timo Sirainen [Tue, 13 Aug 2024 11:40:22 +0000 (14:40 +0300)]
quota: Move quota_settings.vsizes to struct quota
Timo Sirainen [Tue, 13 Aug 2024 11:39:16 +0000 (14:39 +0300)]
quota, trash: Move quota_settings.test_alloc() to struct quota
Timo Sirainen [Tue, 13 Aug 2024 11:28:02 +0000 (14:28 +0300)]
quota: Remove quota_settings.event
It was only used for convenience of having some event in an easily
accessible place. However, it makes the following changes more difficult.
Timo Sirainen [Tue, 13 Aug 2024 10:53:56 +0000 (13:53 +0300)]
quota: Remove quota_settings.initialized
This was only used for checking whether a debug log message should have been
sent. But if that code was reached, quota must have been initialized.
Timo Sirainen [Tue, 13 Aug 2024 10:25:37 +0000 (13:25 +0300)]
quota: Remove quota_settings.debug
This was already effectively no-op.
Timo Sirainen [Tue, 13 Aug 2024 10:21:10 +0000 (13:21 +0300)]
quota: Rename quota_max_mail_size setting to quota_mail_size
This is more consistent with other settings, e.g. quota_mailbox_count
instead of quota_max_mailbox_count.
Timo Sirainen [Fri, 23 Aug 2024 19:59:40 +0000 (22:59 +0300)]
lib-storage: Initialize alias_for setting for autocreated shared namespaces
Setting strings are never NULL anymore, so this wasn't expected.
Timo Sirainen [Wed, 21 Aug 2024 21:45:59 +0000 (00:45 +0300)]
lib-imap-client: Add comment to imapc_client_get_capabilities()
Timo Sirainen [Wed, 21 Aug 2024 21:39:39 +0000 (00:39 +0300)]
imapc: Fix error message if attribute iteration fails
The error message was set to storage in iteration init, but it wasn't
looked up until at iteration deinit. Normally this wouldn't have been
a problem, except the generic attribute iteration code didn't know
about this failure at init time yet, so it added extra attributes
which were returned. Handling these extra attributes could have caused
other errors, which replaced the original error.
Timo Sirainen [Fri, 6 Sep 2024 09:55:42 +0000 (12:55 +0300)]
lib-dict-backend: test-dict-sql - Fix to work when using built-in sql drivers
The test worked when configuring --with-sql=plugin, but not --with-sql.
Fixes: Fatal: sql_driver_register(mysql): Already registered
Timo Sirainen [Mon, 12 Aug 2024 19:48:32 +0000 (22:48 +0300)]
welcome: Use program_client_create_auto() and convert settings
New configuration example:
welcome {
execute hello {
}
wait = yes
}
Timo Sirainen [Thu, 22 Aug 2024 10:49:13 +0000 (13:49 +0300)]
lib-program-client: Add program_client_parameters.append_args
Timo Sirainen [Mon, 12 Aug 2024 17:23:20 +0000 (20:23 +0300)]
lib-program-client: Add args to "Created" debug log message
Timo Sirainen [Mon, 12 Aug 2024 20:08:38 +0000 (23:08 +0300)]
lib-program-client: Change log prefix from "program" to "execute"
Timo Sirainen [Mon, 12 Aug 2024 17:06:45 +0000 (20:06 +0300)]
lib-program-client: Rename "local" driver to "fork"
Timo Sirainen [Mon, 12 Aug 2024 11:53:58 +0000 (14:53 +0300)]
lib-program-client: Add program_client_create_auto()
Timo Sirainen [Mon, 12 Aug 2024 10:39:40 +0000 (13:39 +0300)]
lib-program-client, global: Move program_client_parameters.event to function parameters
The event is required.
Timo Sirainen [Mon, 12 Aug 2024 10:27:07 +0000 (13:27 +0300)]
lib-program-client, global: Move noreply parameter to program_client_parameters
Timo Sirainen [Mon, 12 Aug 2024 09:20:59 +0000 (12:20 +0300)]
lib-program-client, global: Remove program_client_parameters.restrict_set, home, allow_root
No callers were actually trying to change them, and generally it wouldn't
even be possible. The processes using lib-program-client aren't running
as root. If different uid/gid/etc is wanted, tcp/unix drivers can be used.
Timo Sirainen [Mon, 12 Aug 2024 09:18:21 +0000 (12:18 +0300)]
lib-smtp: Remove smtp_submit_session.allow_root
If sendmail is executed, it will be as whatever the current process is
running as. Outside unit tests this isn't expected to be root, but if it
is, there's nothing to be gained by preventing it.
Timo Sirainen [Mon, 12 Aug 2024 09:12:04 +0000 (12:12 +0300)]
lib-program-client: Remove drop_stderr parameter
This isn't used by any callers, and it doesn't seem very useful.
Timo Sirainen [Mon, 12 Aug 2024 08:56:10 +0000 (11:56 +0300)]
lib-program-client, global: Remove program_client_parameters.debug
Just inherit it from the parent event.