]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
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.
Timo Sirainen [Mon, 12 Aug 2024 08:47:49 +0000 (11:47 +0300)]
lib-program-client, global: Rename struct program_client_settings to program_client_parameters
Also rename the parameter/variable names.
Timo Sirainen [Tue, 10 Sep 2024 14:27:59 +0000 (17:27 +0300)]
global: Use settings_defaults_dup() where possible
Timo Sirainen [Tue, 10 Sep 2024 14:23:37 +0000 (17:23 +0300)]
lib-settings: Add settings_defaults_dup()
Timo Sirainen [Mon, 2 Sep 2024 10:18:37 +0000 (13:18 +0300)]
stats: Expand metric_group_by setting to a hierarchy of settings
doveadm stats add --group-by preserves the old syntax for now.
Timo Sirainen [Mon, 2 Sep 2024 10:28:10 +0000 (13:28 +0300)]
stats: Move metrics_group_by_exponential/linear_init()
Simplifies the following commits.
Timo Sirainen [Mon, 2 Sep 2024 10:26:53 +0000 (13:26 +0300)]
stats: Split off metrics_group_by_exponential/linear_init()
Simplifies the following commits.
Timo Sirainen [Sat, 31 Aug 2024 06:23:01 +0000 (09:23 +0300)]
lib-settings: Add uintmax setting type
Timo Sirainen [Thu, 29 Aug 2024 11:09:42 +0000 (14:09 +0300)]
stats: Rename event_exporter_format_args setting to event_exporter_time_format
The time format was the only used args.
Timo Sirainen [Thu, 29 Aug 2024 11:04:45 +0000 (14:04 +0300)]
stats: Remove event_exporter_transport_args and _transport_timeout settings
These are handled by transport-specific settings now.
Timo Sirainen [Sat, 31 Aug 2024 06:11:58 +0000 (09:11 +0300)]
stats: Change metrics_driver setting to be enum
Timo Sirainen [Thu, 29 Aug 2024 11:02:14 +0000 (14:02 +0300)]
stats: http post event exporter - Convert to using global settings
Timo Sirainen [Thu, 29 Aug 2024 10:55:44 +0000 (13:55 +0300)]
stats: file event exporter - Convert to using global settings
Timo Sirainen [Thu, 29 Aug 2024 09:59:00 +0000 (12:59 +0300)]
stats: Change event exporters to be proper objects of type event_exporter_transport
Timo Sirainen [Thu, 29 Aug 2024 10:19:57 +0000 (13:19 +0300)]
stats: Rename struct exporter_file to file_event_exporter
Timo Sirainen [Thu, 29 Aug 2024 10:10:43 +0000 (13:10 +0300)]
stats: Rename struct exporter to event_exporter
Timo Sirainen [Thu, 29 Aug 2024 09:49:36 +0000 (12:49 +0300)]
stats: Change event exporter transports to be extensible
Timo Sirainen [Thu, 29 Aug 2024 09:27:51 +0000 (12:27 +0300)]
stats: Rename event_exporter_transport to _driver and make it default to _name
sergey.kitov [Thu, 29 Aug 2024 08:48:58 +0000 (11:48 +0300)]
stats: Change metric_exporter_include setting to boollist
sergey.kitov [Thu, 29 Aug 2024 08:46:38 +0000 (11:46 +0300)]
stats: Change metric_fields setting to boollist
Timo Sirainen [Mon, 2 Sep 2024 07:56:11 +0000 (10:56 +0300)]
stats: Immediately allocate dynamic metric settings from persistent pool
This avoids having to duplicate the memory later on, which gets more
difficult in the following changes.
Timo Sirainen [Mon, 2 Sep 2024 07:53:22 +0000 (10:53 +0300)]
stats: Fix settings memory leak on invalid metric settings
Timo Sirainen [Tue, 20 Aug 2024 07:35:54 +0000 (10:35 +0300)]
lib: Add array_lsearch_ptr[_modifiable]() and array_lsearch_ptr_idx()
Timo Sirainen [Thu, 29 Aug 2024 08:40:05 +0000 (11:40 +0300)]
lib-settings: Rename boollist_null_terminate() to public settings_boollist_finish()
Marco Bettini [Fri, 6 Sep 2024 15:04:16 +0000 (15:04 +0000)]
auth: ldap - Change string auth_sasl_mechanism into bool list auth_sasl_mechanisms
Marco Bettini [Fri, 6 Sep 2024 13:59:16 +0000 (13:59 +0000)]
auth: ldap - Change ldap_deref & ldap_scope into enums
Timo Sirainen [Thu, 29 Aug 2024 08:23:51 +0000 (11:23 +0300)]
auth: Rename :protected suffix to :default
This is more understandable.
Timo Sirainen [Thu, 29 Aug 2024 06:33:47 +0000 (09:33 +0300)]
auth: Remove empty password check for nopassword
The new fields { .. } way makes this a bit more difficult. Previously
it was ok to put nopassword to default_fields or override_fields even
if the passdb itself returned a password - this empty password check
was done only if the passdb internally returned both password and
nopassword. However, now it's all in the same fields { .. } where it's
not always easy to prevent adding the password.
Timo Sirainen [Fri, 9 Aug 2024 20:20:05 +0000 (23:20 +0300)]
auth: Remove passdb/userdb fields_supported flag
All passdbs and userdbs now support it.
Timo Sirainen [Fri, 9 Aug 2024 20:18:50 +0000 (23:18 +0300)]
auth: Remove passdb/userdb_default/override_fields
All passdbs and userdbs now support the passdb/userdb_fields, which
replaces these.
alexandre.roux [Mon, 26 Aug 2024 11:30:10 +0000 (13:30 +0200)]
lib-dict: drop dict prefix from redis settings
Timo Sirainen [Thu, 15 Aug 2024 07:59:57 +0000 (10:59 +0300)]
lib-storage: Fix IMAP SPECIAL-USE capability when using global mailbox settings
Timo Sirainen [Thu, 15 Aug 2024 07:54:45 +0000 (10:54 +0300)]
lib-storage: Rename mail_user_check_namespace_settings() to mail_user_settings_update_special_use()
Also add a comment to clarify why this is done here.
Timo Sirainen [Thu, 15 Aug 2024 07:49:49 +0000 (10:49 +0300)]
lib-storage: mail_user_check_namespace_settings() - Remove alias_for checks
They don't need to be here. The full alias_for checks are done later.
Timo Sirainen [Thu, 15 Aug 2024 08:17:06 +0000 (11:17 +0300)]
lib-storage: Fix final namespace alias_for chaining check
Timo Sirainen [Wed, 14 Aug 2024 20:15:13 +0000 (23:15 +0300)]
lib-storage: Fix using global mailbox settings
Previously mailbox settings had to be inside namespace for the settings to
work.
Timo Sirainen [Wed, 14 Aug 2024 20:05:46 +0000 (23:05 +0300)]
lib-settings: Add comments about how settings overrides are parsed
Timo Sirainen [Sun, 11 Aug 2024 06:28:53 +0000 (09:28 +0300)]
config: Define PLUGIN_BUILD so auth plugins' settings are included
Timo Sirainen [Fri, 9 Aug 2024 19:04:22 +0000 (22:04 +0300)]
auth: Fix linking problems when using lua as plugin
After recent changes passdb-template was used only by the Lua code.
If it was built as plugin, there was nothing in auth binary that used it,
so linker dropped it entirely. This drop happens only for symbols within
.a libraries. Fixed by not building libauth.a at all.
Marco Bettini [Mon, 22 Jul 2024 08:29:59 +0000 (08:29 +0000)]
auth: ldap - Use container_of()
Marco Bettini [Wed, 24 Jul 2024 15:33:57 +0000 (15:33 +0000)]
auth: db-ldap - Prefix events with currently connected host
Marco Bettini [Wed, 17 Jul 2024 14:39:01 +0000 (14:39 +0000)]
auth: db-ldap - Restore prefixes to messages
(replaces previously removed conn->config_path)
Marco Bettini [Wed, 17 Jul 2024 13:30:30 +0000 (13:30 +0000)]
m4: want_ldap - Drop LDAP_DEPRECATED
Marco Bettini [Mon, 15 Jul 2024 14:59:24 +0000 (14:59 +0000)]
auth: ldap - Drop deprecated ldap_init() and ldap_host settings
Marco Bettini [Wed, 17 Jul 2024 09:28:13 +0000 (09:28 +0000)]
auth: ldap - Replace deprecated ldap_bind() with ldap_sasl_bind()
Marco Bettini [Mon, 15 Jul 2024 14:38:06 +0000 (14:38 +0000)]
auth: ldap - Replace deprecated ldap_get_values() with ldap_get_values_len()
Marco Bettini [Mon, 15 Jul 2024 14:28:01 +0000 (14:28 +0000)]
auth: ldap - Replace deprecated ldap_unbind() with ldap_unbind_ext()
Marco Bettini [Wed, 17 Jul 2024 12:25:22 +0000 (12:25 +0000)]
auth: ldap - Replace deprecated ldap_result2error() with ldap_parse_result()
Marco Bettini [Fri, 12 Jul 2024 09:45:40 +0000 (09:45 +0000)]
auth: ldap - Add ldap_connection_group
Marco Bettini [Wed, 10 Jul 2024 14:47:09 +0000 (14:47 +0000)]
auth: ldap - Restore db_ldap_field_hide_password() functionality
Marco Bettini [Thu, 1 Aug 2024 12:33:02 +0000 (12:33 +0000)]
lib: strfuncs - Add str_ends_with() & str_ends_icase_with()
Marco Bettini [Wed, 10 Jul 2024 08:36:14 +0000 (08:36 +0000)]
auth: ldap - Move *attrs_names away from struct ldap connection
Multiple db instances sharing the same ldap connection were
overwriting each other attribute's fields in preinit as all
preinits are done before using the connections.
Marco Bettini [Wed, 10 Jul 2024 08:22:09 +0000 (08:22 +0000)]
auth: ldap - Make struct ldap_request_search::attributes const
Marco Bettini [Wed, 10 Jul 2024 08:11:42 +0000 (08:11 +0000)]
auth: ldap_set_attrs() - pass directly pool_t rather than ldap_connection
Marco Bettini [Mon, 8 Jul 2024 14:40:35 +0000 (14:40 +0000)]
auth: ldap - Split pre/post settings and finish the conversion
Marco Bettini [Thu, 11 Jul 2024 08:04:41 +0000 (08:04 +0000)]
auth: ldap_field_hide_password() - Disable temporarily
Marco Bettini [Wed, 27 Mar 2024 10:24:18 +0000 (10:24 +0000)]
auth: ldap - Collapse ldap_pass_filter and ldap_user_filter into ldap_filter
Marco Bettini [Mon, 25 Mar 2024 14:23:51 +0000 (14:23 +0000)]
auth: ldap - Add support for fields { .. }
Marco Bettini [Tue, 14 May 2024 14:15:58 +0000 (14:15 +0000)]
auth: db-ldap - Drop auth_sasl_bind
Now inferred by non-empty ldap_auth_sasl_mechanism.
Marco Bettini [Wed, 17 Jul 2024 08:14:05 +0000 (08:14 +0000)]
auth: ldap - Rename ldap_bind* into passdb_ldap_bind*
Marco Bettini [Fri, 5 Jul 2024 14:21:49 +0000 (14:21 +0000)]
auth: struct ldap_settings - Add auth_ prefixes