]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Timo Sirainen [Sat, 20 May 2023 21:25:37 +0000 (00:25 +0300)]
config: settings-get.pl - Change state from a number to name
Timo Sirainen [Sat, 20 May 2023 21:21:04 +0000 (00:21 +0300)]
config: settings-get.pl - Remove checks for default_* named setting_parser_infos
These no longer exist.
Timo Sirainen [Sat, 20 May 2023 21:14:29 +0000 (00:14 +0300)]
config: settings-get.pl - Remove ifdef handling for services
This was necessary only for tcpwrap service, which was already removed.
Timo Sirainen [Fri, 19 May 2023 13:58:51 +0000 (16:58 +0300)]
config: settings-get.pl - Fix to work with "use warnings"
Timo Sirainen [Sat, 20 May 2023 21:49:01 +0000 (00:49 +0300)]
global: Remove setting_parser_info.dependencies
The dependency tracking is no longer needed.
Timo Sirainen [Wed, 10 May 2023 14:47:38 +0000 (17:47 +0300)]
lib-settings: Remove struct setting_link
Timo Sirainen [Wed, 10 May 2023 14:46:51 +0000 (17:46 +0300)]
lib-settings: Remove "link" parameter from functions
The link is always ctx->root.
Timo Sirainen [Wed, 10 May 2023 14:40:46 +0000 (17:40 +0300)]
lib-settings: Remove unused settings_parse_get_prev_info()
Timo Sirainen [Sun, 14 May 2023 21:28:03 +0000 (00:28 +0300)]
lib-settings, global: Remove unused setting_parser_info.type_offset1
Timo Sirainen [Wed, 10 May 2023 14:39:47 +0000 (17:39 +0300)]
config: config_apply_line() - Remove unused section_name parameter
Timo Sirainen [Wed, 10 May 2023 14:32:31 +0000 (17:32 +0300)]
config: old-set-parser - Remove support for socket { .. }
This was in Dovecot v1.x and it's not working anymore with named filters.
Timo Sirainen [Tue, 16 May 2023 23:03:37 +0000 (02:03 +0300)]
config: Reduce config_export_context memory usage
Timo Sirainen [Tue, 16 May 2023 22:59:34 +0000 (01:59 +0300)]
config: Remove unused config_export_context.prefix
Timo Sirainen [Wed, 10 May 2023 14:25:14 +0000 (17:25 +0300)]
lib-settings, config: Simplify SET_STRLIST parsing
The settings are now internally sent as strlist/key=value rather than
strlist/0/key=value. This change makes the "links" hash table in
settings_parser unnecessary.
Timo Sirainen [Sun, 14 May 2023 21:36:18 +0000 (00:36 +0300)]
lib-settings: Require pool_offset1 to be always set
Timo Sirainen [Wed, 10 May 2023 14:18:02 +0000 (17:18 +0300)]
lib-settings: Move settings_parse_strlist()
Timo Sirainen [Sun, 14 May 2023 21:34:47 +0000 (00:34 +0300)]
lib-settings: Remove unused settings_dup*()
Timo Sirainen [Wed, 10 May 2023 13:44:11 +0000 (16:44 +0300)]
lib-settings, config: Remove DEFLIST and DEFLIST_UNIQUE setting types
Timo Sirainen [Wed, 10 May 2023 13:27:48 +0000 (16:27 +0300)]
global: Remove unused DEFLIST macros
Timo Sirainen [Wed, 10 May 2023 12:32:32 +0000 (15:32 +0300)]
auth: Convert passdbs and userdbs to named array filter
Timo Sirainen [Tue, 9 May 2023 17:03:45 +0000 (20:03 +0300)]
master: Convert unix/file/fifo_listeners to named array filter
Timo Sirainen [Mon, 8 May 2023 19:57:19 +0000 (22:57 +0300)]
global: Remove stddef.h includes
It's already included in lib.h
Timo Sirainen [Mon, 8 May 2023 19:50:09 +0000 (22:50 +0300)]
config: Remove unused CONFIG_DUMP_FLAG_HIDE_LIST_DEFAULTS
Timo Sirainen [Fri, 5 May 2023 14:16:29 +0000 (17:16 +0300)]
master: Convert services to named array filter
Timo Sirainen [Mon, 8 May 2023 14:33:09 +0000 (17:33 +0300)]
global: Set service listener settings via strings
Timo Sirainen [Mon, 15 May 2023 22:06:14 +0000 (01:06 +0300)]
submission-login: Add default submissions port 465
The code was already half there, but accidentally left out.
Timo Sirainen [Mon, 8 May 2023 14:09:34 +0000 (17:09 +0300)]
config, lib-master: Add support for services to set defaults via strings
Timo Sirainen [Mon, 8 May 2023 13:44:20 +0000 (16:44 +0300)]
config: Add support for changing the default settings internally
Currently the default settings can be given only via the defaults struct.
With this change it's possible to separately track whether settings changes
are intended to be defaults or explicit configuration changes.
Only the explicit config changes are visible in e.g. "doveconf -n" output,
while all the changes will be written to the binary config file.
Timo Sirainen [Mon, 8 May 2023 13:40:27 +0000 (16:40 +0300)]
lib-settings: Add setting_parser_info.default_settings
This allows giving default settings via strings.
Timo Sirainen [Mon, 8 May 2023 10:08:28 +0000 (13:08 +0300)]
lib-settings: Add "change counter" number for change tracking
Timo Sirainen [Mon, 8 May 2023 12:37:40 +0000 (15:37 +0300)]
lib-settings: Replace settings_mmap_pool.extra_pool_ref with pool_add_external_ref()
Timo Sirainen [Tue, 2 May 2023 13:27:56 +0000 (16:27 +0300)]
lib-storage: Convert mailboxes to named array filter
Timo Sirainen [Wed, 17 May 2023 14:12:17 +0000 (17:12 +0300)]
lib-storage: Fix error handling if mailbox list iteration init fails
If the init failed, an error was set to the mailbox_list. However, this
didn't stop the iteration and the error was lost. This resulted in the
error being "BUG: Unknown internal list error".
Timo Sirainen [Mon, 1 May 2023 21:34:00 +0000 (00:34 +0300)]
global: Use mailbox_get_settings() where possible
Timo Sirainen [Mon, 1 May 2023 21:32:58 +0000 (00:32 +0300)]
lib-storage: mailbox_get_settings() - Return mailbox_settings instead of mail_storage_settings
Timo Sirainen [Mon, 1 May 2023 21:32:00 +0000 (00:32 +0300)]
lib-storage: Avoid using mailbox_get_settings()
All the callers can use box->storage->set directly.
Timo Sirainen [Mon, 1 May 2023 20:50:42 +0000 (23:50 +0300)]
global: Use mailbox_list.event where possible
Timo Sirainen [Mon, 1 May 2023 21:01:51 +0000 (00:01 +0300)]
lib-storage: Add mailbox_list.event
Timo Sirainen [Wed, 26 Apr 2023 22:03:24 +0000 (01:03 +0300)]
lib-storage: Convert namespaces to named array filter
Timo Sirainen [Thu, 27 Apr 2023 20:15:40 +0000 (23:15 +0300)]
lib-storage: Remove namespace { mail, mail_location } alias settings
These haven't actually been used much, if at all. They also make the
following changes more complex.
Timo Sirainen [Wed, 26 Apr 2023 22:00:11 +0000 (01:00 +0300)]
lib-storage, imap: Add and use mail_storage_settings.parsed_have_special_use_mailboxes
This avoids having to loop through the namespaces again to find if there are
any special-use mailboxes.
Timo Sirainen [Mon, 1 May 2023 21:41:23 +0000 (00:41 +0300)]
lib-storage: Move mail_namespace.special_use_mailboxes to mail_namespace_settings
Timo Sirainen [Wed, 26 Apr 2023 21:02:21 +0000 (00:02 +0300)]
lib-storage: Remove mail_namespace_settings.mail_set
Timo Sirainen [Wed, 26 Apr 2023 21:01:38 +0000 (00:01 +0300)]
lib-storage: Move namespace alias_for validity check to master_service_settings.check_func()
Timo Sirainen [Wed, 26 Apr 2023 20:35:54 +0000 (23:35 +0300)]
lib-master, master: Remove service_settings.master_set
Timo Sirainen [Wed, 26 Apr 2023 19:34:26 +0000 (22:34 +0300)]
stats: Convert metrics to named array filter
Timo Sirainen [Fri, 21 Apr 2023 12:01:48 +0000 (15:01 +0300)]
stats: Convert event_exporters to named array filter
Timo Sirainen [Fri, 21 Apr 2023 11:47:30 +0000 (14:47 +0300)]
stats: Convert unit tests to initialize settings with the new settings API
Timo Sirainen [Thu, 1 Jun 2023 20:10:49 +0000 (23:10 +0300)]
lib-storage: Add "namespace" field to mailbox event
Timo Sirainen [Wed, 19 Apr 2023 13:38:52 +0000 (16:38 +0300)]
dict-redis: Implement new init() API
Timo Sirainen [Thu, 6 Apr 2023 20:42:06 +0000 (23:42 +0300)]
dict-file: Implement new init() API
Timo Sirainen [Thu, 6 Apr 2023 20:30:24 +0000 (23:30 +0300)]
dict-fail: Implement new init() API
Timo Sirainen [Thu, 6 Apr 2023 20:29:16 +0000 (23:29 +0300)]
dict-client: Implement new init() API
Timo Sirainen [Wed, 19 Apr 2023 12:30:59 +0000 (15:30 +0300)]
lib-dict: Move dict-client to lib-dict-extra
The following commits make it depend on lib-master, so it's better outside
lib-dict.
Timo Sirainen [Thu, 6 Apr 2023 20:14:34 +0000 (23:14 +0300)]
dict-client: Remove unused client_dict.value_type
Timo Sirainen [Thu, 6 Apr 2023 20:01:48 +0000 (23:01 +0300)]
lib-dict: Replace dict_init() with a new dict_init_auto() API
Timo Sirainen [Wed, 19 Apr 2023 21:32:56 +0000 (00:32 +0300)]
dict: Rename dict_setting_parser_info to dict_server_setting_parser_info
Timo Sirainen [Wed, 19 Apr 2023 20:00:37 +0000 (23:00 +0300)]
lib-dict, global: Rename struct dict_settings to dict_legacy_settings
Timo Sirainen [Thu, 6 Apr 2023 19:57:13 +0000 (22:57 +0300)]
lib-dict, global: Rename dict_vfuncs.init() to init_legacy()
Timo Sirainen [Thu, 6 Apr 2023 19:52:07 +0000 (22:52 +0300)]
lib-dict, global: Rename dict_init() to dict_init_legacy()
Timo Sirainen [Tue, 2 May 2023 09:16:31 +0000 (12:16 +0300)]
lib-settings, config: Allow empty filter names if they are explicitly quoted
This will be required to keep allowing mailbox "" { ... } to be used for
matching the namespace prefix mailbox.
The empty name is now escaped as "\." string. It might have been possible
to make it work as an empty string, but it would have been rather confusing
(e.g. "mailbox= ", "mailbox//auto").
Timo Sirainen [Wed, 3 May 2023 20:06:06 +0000 (23:06 +0300)]
doveconf: Strip named array filter prefix from keys
This way the output will be namespace { prefix } rather than
namespace { namespace_prefix }
Timo Sirainen [Wed, 26 Apr 2023 19:50:09 +0000 (22:50 +0300)]
lib-settings: Support automatic array filter name prefix in -o parameters
This allows using -o namespace/inbox/prefix instead of requiring the full
-o namespace/inbox/namespace_prefix.
Timo Sirainen [Wed, 10 May 2023 12:51:27 +0000 (15:51 +0300)]
config: Track setting conflicts using the full setting name
This prevents warnings about mixing inet_listener { ssl } setting with the
global ssl setting.
Timo Sirainen [Fri, 21 Apr 2023 14:33:31 +0000 (17:33 +0300)]
config: Support automatic array filter name prefix in settings
This allows using namespace inbox { prefix } instead of requiring the full
namespace inbox { namespace_prefix }
Timo Sirainen [Fri, 21 Apr 2023 12:19:11 +0000 (15:19 +0300)]
lib-settings, config: Add support for named array filters
Timo Sirainen [Thu, 4 May 2023 15:36:28 +0000 (18:36 +0300)]
lib-settings: Change settings event filter matching to be case-sensitive
This will be required for matching mailbox names, which are case-sensitive.
Timo Sirainen [Fri, 28 Apr 2023 12:46:43 +0000 (15:46 +0300)]
lib-settings: Add SETTINGS_GET_FLAG_FAKE_EXPAND
This can be used by settings ext_check_func()s to access other settings when
they can't yet expand the variables, but don't want the 0/1 expansion prefix
character either.
Timo Sirainen [Wed, 26 Apr 2023 12:27:35 +0000 (15:27 +0300)]
lib-settings, config: Add setting_parser_info.ext_check_func()
This can be used to implement a check function that accesses other settings
structs as well using settings_get*().
Timo Sirainen [Wed, 19 Apr 2023 22:29:04 +0000 (01:29 +0300)]
lib-settings, config: Add support for named filters
Timo Sirainen [Mon, 8 May 2023 19:48:59 +0000 (22:48 +0300)]
doveconf: Redesign output handling
Filters are now written out by walking the tree of filters.
Also merge filtered and non-filtered output handling code.
Timo Sirainen [Mon, 15 May 2023 20:25:48 +0000 (23:25 +0300)]
doveconf: Fail if -h parameter is used when output has multiple settings
Timo Sirainen [Wed, 19 Apr 2023 21:05:08 +0000 (00:05 +0300)]
lib-settings: Add support for named filter lookups
Timo Sirainen [Thu, 4 May 2023 15:33:55 +0000 (18:33 +0300)]
lib: Add event_filter_parse_case_sensitive()
Timo Sirainen [Mon, 15 May 2023 10:42:03 +0000 (13:42 +0300)]
config: Change config_filter to a tree
The child filters no longer contain parent filters' contents. For example
local { protocol { ... } } will now contain a parent config_filter that
contains the "local" filter and a child filter containing only the
"protocol" filter (not both local and protocol as before). Config filter
matching is changed to look at also the parent filters to preserve the
correct behavior.
Timo Sirainen [Fri, 12 May 2023 16:26:51 +0000 (19:26 +0300)]
config: Store config_filter_parsers in a tree
Timo Sirainen [Tue, 2 May 2023 13:18:11 +0000 (16:18 +0300)]
config: Escape wildcard characters in written event filters
protocol and local_name are now compared as exact strings rather than
wildcards.
Timo Sirainen [Fri, 5 May 2023 14:10:55 +0000 (17:10 +0300)]
lib: Add pool_add_external_ref() to allow pools to reference other pools
When the pool is destroyed, all its external references are unreferenced.
Timo Sirainen [Wed, 19 Apr 2023 21:04:00 +0000 (00:04 +0300)]
lib: Add event_filter_find_field_exact()
Timo Sirainen [Wed, 19 Apr 2023 19:52:59 +0000 (22:52 +0300)]
lib: Add event_get_pool()
Timo Sirainen [Wed, 19 Apr 2023 23:47:10 +0000 (02:47 +0300)]
configure.ac, config: Redesign how all-settings.c is built
Later commits will start adding settings to all kinds of files, not just
*-settings.[ch] files. Use grep instead to find the files that contain
settings that are needed for all-settings.c.
Timo Sirainen [Mon, 8 May 2023 20:03:36 +0000 (23:03 +0300)]
doveconf: Remove -S parameter
The "simple output" is no longer relevant. -F parameter replaces it.
Timo Sirainen [Mon, 15 May 2023 21:12:02 +0000 (00:12 +0300)]
config: Replace config_export_dup_module_parsers() with config_export_set_module_parsers()
Now that settings checks are done while parsing the config, the parsers no
longer change afterwards so there is no need to duplicate them.
Timo Sirainen [Wed, 3 May 2023 13:10:37 +0000 (16:10 +0300)]
config: Refer to config_filter_parser as "filter_parser"
This is to differentiate them from all the other parsers.
Timo Sirainen [Wed, 3 May 2023 13:10:19 +0000 (16:10 +0300)]
config: Remove unused config_filter_parsers array type
Timo Sirainen [Wed, 3 May 2023 13:05:35 +0000 (16:05 +0300)]
config: Refer to config_module_parser as "module_parser"
This is to differentiate them from all the other parsers.
Timo Sirainen [Wed, 3 May 2023 10:17:16 +0000 (13:17 +0300)]
config: Replace config_filter_context with config_parsed
This describes better what it does.
Timo Sirainen [Tue, 2 May 2023 09:05:29 +0000 (12:05 +0300)]
config: Add struct config_line and use it to pass around the parse line
Timo Sirainen [Wed, 3 May 2023 09:57:33 +0000 (12:57 +0300)]
config: Move global filter parsers duplication code
Timo Sirainen [Wed, 3 May 2023 09:53:16 +0000 (12:53 +0300)]
config: Rename config_filter_parsers_free() to config_module_parsers_free()
Timo Sirainen [Wed, 3 May 2023 09:41:37 +0000 (12:41 +0300)]
config: Split off public config_filter_sort_cmp()
Timo Sirainen [Wed, 3 May 2023 09:39:46 +0000 (12:39 +0300)]
config: Remove config_filter_parser_cmp_rev() wrapper
Timo Sirainen [Wed, 3 May 2023 09:29:26 +0000 (12:29 +0300)]
config: Fix memory leak on config parsing failure
Timo Sirainen [Sun, 28 May 2023 21:59:42 +0000 (00:59 +0300)]
lib-settings: Remove unused settings_parser_apply_changes()
Timo Sirainen [Tue, 25 Apr 2023 14:53:53 +0000 (17:53 +0300)]
config: Remove dead code caused by previous filtering changes
Timo Sirainen [Tue, 25 Apr 2023 14:07:09 +0000 (17:07 +0300)]
config: Remove filter parameter from functions where callers only used empty filters
Some of the function names no longer make sense, but these will be fixed by
later commits.
Timo Sirainen [Tue, 25 Apr 2023 12:38:36 +0000 (15:38 +0300)]
doveconf: Remove -f parameter
This is making it difficult to simplify the code further. It could maybe be
added back later with a different implementation.
Timo Sirainen [Wed, 26 Apr 2023 12:03:25 +0000 (15:03 +0300)]
config: Remove CONFIG_DUMP_FLAG_CHECK_SETTINGS
The settings are now always checked while parsing the config, and there
is no filtering done on config process side. So there is no need to check
settings again when exporting settings.
Timo Sirainen [Wed, 26 Apr 2023 11:58:25 +0000 (14:58 +0300)]
config: Remove CONFIG_DUMP_FLAG_CALLBACK_ERRORS
Timo Sirainen [Wed, 26 Apr 2023 11:56:50 +0000 (14:56 +0300)]
config: Gather the full errors list already while parsing config
This way there is no need for config exporting to check settings again.