]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
6 months agolib-storage: Avoid unnecessary home lookup when path begins with ~user
Timo Sirainen [Wed, 15 Nov 2023 22:08:52 +0000 (00:08 +0200)] 
lib-storage: Avoid unnecessary home lookup when path begins with ~user

Lookup home only when path begins with ~/, since it's the only one being
expanded to home.

6 months agolib-storage: Remove support for ~user/ expansion in paths
Timo Sirainen [Wed, 15 Nov 2023 22:07:12 +0000 (00:07 +0200)] 
lib-storage: Remove support for ~user/ expansion in paths

This was very confusing, because ~/ expanded to the home based on userdb or
configuration, while ~user/ expanded to a system user's home via getpwnam().
There shouldn't be any need to support ~user/, so reduce code complexity
by removing support for it.

6 months agolib-master: [info_|debug_]log_path - Remove support for ~/ and ~user/
Timo Sirainen [Wed, 15 Nov 2023 22:02:35 +0000 (00:02 +0200)] 
lib-master: [info_|debug_]log_path - Remove support for ~/ and ~user/

It's not very clear what ~/ would have even expanded to, and in general
this feature seems unnecessary. Remove it to reduce code complexity.

6 months agolib-storage: Add named filters for all mailbox formats
Timo Sirainen [Fri, 27 Oct 2023 10:34:00 +0000 (13:34 +0300)] 
lib-storage: Add named filters for all mailbox formats

This makes it possible to add settings inside e.g. sdbox { .. }
It will be needed by the next commits to add mailbox format-specific
default mailbox list settings.

6 months agolib-settings: Add SETTING_APPLY_FLAG_NO_EXPAND
Timo Sirainen [Mon, 27 Nov 2023 12:56:11 +0000 (14:56 +0200)] 
lib-settings: Add SETTING_APPLY_FLAG_NO_EXPAND

6 months agolib-settings, global: Change setting_parser_info.setting_apply() API
Timo Sirainen [Mon, 27 Nov 2023 12:52:25 +0000 (14:52 +0200)] 
lib-settings, global: Change setting_parser_info.setting_apply() API

Change override boolean to flags enum.

6 months agolib-settings, global: Allow setting_parser_info.setting_apply() to change the value
Timo Sirainen [Thu, 16 Nov 2023 23:10:04 +0000 (01:10 +0200)] 
lib-settings, global: Allow setting_parser_info.setting_apply() to change the value

6 months agolib-settings, config: Support '/' in strlist and boollist keys
Timo Sirainen [Fri, 22 Dec 2023 15:24:28 +0000 (10:24 -0500)] 
lib-settings, config: Support '/' in strlist and boollist keys

Use settings_section_[un]escape() for escaping.

6 months agolib-storage: If mail_user_created hook fails, don't continue calling the hooks
Timo Sirainen [Thu, 28 Dec 2023 23:12:32 +0000 (18:12 -0500)] 
lib-storage: If mail_user_created hook fails, don't continue calling the hooks

6 months agoglobal: Use */filter for setting overrides
Timo Sirainen [Thu, 28 Dec 2023 22:17:59 +0000 (17:17 -0500)] 
global: Use */filter for setting overrides

This makes sure the overridden settings are used regardless of namespace
settings.

6 months agolib-settings: Add */key=value override filter that applies to all named list filters
Timo Sirainen [Thu, 28 Dec 2023 20:46:32 +0000 (15:46 -0500)] 
lib-settings: Add */key=value override filter that applies to all named list filters

Normally key=value overrides only the global settings, not settings inside
named list filters. Using */key makes it override everything.

6 months agolib-storage: mail_*cache_fields - Allow using %variables
Timo Sirainen [Thu, 28 Dec 2023 22:23:38 +0000 (17:23 -0500)] 
lib-storage: mail_*cache_fields - Allow using %variables

6 months agolib-settings, config: Use set_value_unknown for checking settings with %variables
Timo Sirainen [Thu, 28 Dec 2023 20:43:45 +0000 (15:43 -0500)] 
lib-settings, config: Use set_value_unknown for checking settings with %variables

config process runs [ext_]check_func()s, but it can't expand %variables.
So when config sees that there are %variables in a string, it assigns the
value to "set_value_unknown" pointer. The check_func()s can then skip
checking the validity of settings that point to set_value_unknown.

6 months agoconfig: Fix parsing nested named (non-list) filters in default settings
Timo Sirainen [Thu, 16 Nov 2023 23:30:26 +0000 (01:30 +0200)] 
config: Fix parsing nested named (non-list) filters in default settings

6 months agolib: var_expand*() - If string ends with '%', return error
Timo Sirainen [Sat, 2 Dec 2023 23:30:18 +0000 (01:30 +0200)] 
lib: var_expand*() - If string ends with '%', return error

6 months agolib-settings: Update comments for settings_*get*()
Timo Sirainen [Fri, 29 Dec 2023 13:48:35 +0000 (08:48 -0500)] 
lib-settings: Update comments for settings_*get*()

6 months agolib-storage: shared - Copy shared namespace name to dynamically created shared namespace
Aki Tuomi [Mon, 20 Nov 2023 12:57:59 +0000 (14:57 +0200)] 
lib-storage: shared - Copy shared namespace name to dynamically created shared namespace

This allows matching config for namespace specific settings
for shared namespaces too.

6 months agolmtp: Allow setting of login greeting in SNI callback
Karl Fleischmann [Tue, 14 Nov 2023 08:47:22 +0000 (09:47 +0100)] 
lmtp: Allow setting of login greeting in SNI callback

6 months agolmtp: Implement new conn_tls_sni_callback() callback
Karl Fleischmann [Thu, 12 Oct 2023 13:43:18 +0000 (15:43 +0200)] 
lmtp: Implement new conn_tls_sni_callback() callback

6 months agolib-smtp: Wait for TLS handshake to finish before responding to client
Karl Fleischmann [Tue, 14 Nov 2023 08:42:39 +0000 (09:42 +0100)] 
lib-smtp: Wait for TLS handshake to finish before responding to client

6 months agolib-smtp: Reload ssl settings on SNI callback
Karl Fleischmann [Wed, 25 Oct 2023 10:19:34 +0000 (12:19 +0200)] 
lib-smtp: Reload ssl settings on SNI callback

6 months agolib-smtp: Trigger SNI callback on TLS handshake
Karl Fleischmann [Thu, 12 Oct 2023 13:38:21 +0000 (15:38 +0200)] 
lib-smtp: Trigger SNI callback on TLS handshake

Allow individual implementations to handle SNI callback in response to a
TLS handshake.

6 months agolib-smtp: test-smtp-payload - Inject ssl settings into the SMTP server settings
Karl Fleischmann [Tue, 12 Dec 2023 15:23:17 +0000 (16:23 +0100)] 
lib-smtp: test-smtp-payload - Inject ssl settings into the SMTP server settings

This is necessary for the new SMTP SNI mechanism to succeed its settings
lookup.

6 months agolib-smtp: test-smtp-payload - Clarify smtp server settings attribute
Karl Fleischmann [Tue, 12 Dec 2023 15:21:06 +0000 (16:21 +0100)] 
lib-smtp: test-smtp-payload - Clarify smtp server settings attribute

This will become important in a following commit, that adds another
settings attribute to the test_server data.

6 months agolib-http: Specify post-handshake error-check
Karl Fleischmann [Thu, 4 Jan 2024 15:46:11 +0000 (16:46 +0100)] 
lib-http: Specify post-handshake error-check

6 months agoplugins: quota-clone - Convert plugin settings to regular settings
Marco Bettini [Mon, 13 Nov 2023 16:30:36 +0000 (16:30 +0000)] 
plugins: quota-clone - Convert plugin settings to regular settings

6 months agodoveconf: Cleanup - avoid unnecessary variables
Timo Sirainen [Fri, 29 Dec 2023 16:47:59 +0000 (11:47 -0500)] 
doveconf: Cleanup - avoid unnecessary variables

6 months agoconfig: doveconf - If filter_name exists, show filter_name_key under filter_name...
Timo Sirainen [Thu, 23 Nov 2023 21:10:20 +0000 (23:10 +0200)] 
config: doveconf - If filter_name exists, show filter_name_key under filter_name { key }

This isn't done for default settings, because it's too much effort to
implement. Also this isn't visible for the usual "doveconf -n" or
"doveconf -N" outputs. Normally people aren't looking at just "doveconf" or
"doveconf -d" output, so it likely doesn't matter.

6 months agoconfig: Support automatic filter name setting prefixing for named non-list filters...
Timo Sirainen [Wed, 15 Nov 2023 15:22:45 +0000 (17:22 +0200)] 
config: Support automatic filter name setting prefixing for named non-list filters also

They were working only for named list filters. This also changes
filter_name { filter_name_key } settings (when "filter_name" string is the
same in both) to apply to the global filter_name_key setting instead of
adding it inside the named filter.

6 months agoconfig: Refactor config_add_new_parser() API
Timo Sirainen [Wed, 22 Nov 2023 21:55:13 +0000 (23:55 +0200)] 
config: Refactor config_add_new_parser() API

6 months agoconfig: Add comments to structs
Timo Sirainen [Wed, 22 Nov 2023 21:08:21 +0000 (23:08 +0200)] 
config: Add comments to structs

6 months agoconfig: Remove config_parser_context.key_path and config_section_stack.pathlen
Timo Sirainen [Wed, 22 Nov 2023 21:42:50 +0000 (23:42 +0200)] 
config: Remove config_parser_context.key_path and config_section_stack.pathlen

Now that all settings are global, the only time when key_path is non-empty
is with strlist { .. } and boollist { .. } settings, and they can't have
nested hierarchies. There's no need for tracking a nested path in sections.

6 months agoconfig: Remove config_section_stack.filter
Timo Sirainen [Wed, 22 Nov 2023 21:26:04 +0000 (23:26 +0200)] 
config: Remove config_section_stack.filter

It's available via filter_parser->filter.

This also fixes some issues with filters' parent hierarchy. At least a
parent named filter was ignored if it had a child named filter.

6 months agoconfig: Remove config_section_stack.module_parsers
Timo Sirainen [Wed, 22 Nov 2023 20:44:32 +0000 (22:44 +0200)] 
config: Remove config_section_stack.module_parsers

It's available via filter_parser->module_parsers.

6 months agoconfig: Remove unused config_filter_parser.file_and_line
Timo Sirainen [Wed, 22 Nov 2023 21:00:49 +0000 (23:00 +0200)] 
config: Remove unused config_filter_parser.file_and_line

6 months agoconfig: Set module parsers inside config_dump_human_init()
Timo Sirainen [Thu, 23 Nov 2023 19:40:49 +0000 (21:40 +0200)] 
config: Set module parsers inside config_dump_human_init()

Deduplicates the code a bit.

6 months agodoveadm: Fix error message if doveadm_mail_cmd_vfuncs.prerun() fails
Timo Sirainen [Mon, 13 Nov 2023 23:58:45 +0000 (01:58 +0200)] 
doveadm: Fix error message if doveadm_mail_cmd_vfuncs.prerun() fails

6 months agolib-storage, global: Remove namespace_location setting
Timo Sirainen [Tue, 7 Nov 2023 21:26:06 +0000 (23:26 +0200)] 
lib-storage, global: Remove namespace_location setting

Replaced by namespace { mail_location } setting.

6 months agolib-storage: mail_namespaces_init_finish() - Add user helper variable
Timo Sirainen [Tue, 7 Nov 2023 11:02:15 +0000 (13:02 +0200)] 
lib-storage: mail_namespaces_init_finish() - Add user helper variable

6 months agolib-storage: Change shared namespace location to use %{owner_*} variables
Timo Sirainen [Thu, 2 Nov 2023 12:52:31 +0000 (14:52 +0200)] 
lib-storage: Change shared namespace location to use %{owner_*} variables

 * %%u -> %{owner_user}
 * %%n -> %{owner_username}
 * %%d -> %{owner_domain}
 * %%h -> %{owner_home}

Namespace prefix for now keeps using %%u, %%n and %%d.

6 months agolib-storage: Simplify dynamic shared namespace check
Timo Sirainen [Tue, 7 Nov 2023 11:08:09 +0000 (13:08 +0200)] 
lib-storage: Simplify dynamic shared namespace check

It doesn't make any sense to have a namespace location contains
user-specific path if the namespace prefix doesn't have the user template.

6 months agolib-storage: mail_storage_create() - Remove unused driver parameter
Timo Sirainen [Thu, 2 Nov 2023 11:09:07 +0000 (13:09 +0200)] 
lib-storage: mail_storage_create() - Remove unused driver parameter

6 months agolib-storage: Remove unused mail_storage_create_full()
Timo Sirainen [Thu, 2 Nov 2023 11:06:01 +0000 (13:06 +0200)] 
lib-storage: Remove unused mail_storage_create_full()

6 months agolib-storage: Remove mailbox_driver setting
Timo Sirainen [Wed, 1 Nov 2023 15:03:41 +0000 (17:03 +0200)] 
lib-storage: Remove mailbox_driver setting

This will be added back later as mailbox { mail_driver }.

6 months agolib-storage: raw storage - Avoid using mail_storage_create() driver parameter
Timo Sirainen [Wed, 1 Nov 2023 14:57:43 +0000 (16:57 +0200)] 
lib-storage: raw storage - Avoid using mail_storage_create() driver parameter

It will be removed in a later commit.

6 months agolib-storage: Add and use MAIL_STORAGE_FLAG_SHARED_DYNAMIC for detecting dynamic names...
Timo Sirainen [Wed, 1 Nov 2023 14:47:30 +0000 (16:47 +0200)] 
lib-storage: Add and use MAIL_STORAGE_FLAG_SHARED_DYNAMIC for detecting dynamic namespace root

6 months agolib-storage: shared storage - Fix error message for failed storage creation
Timo Sirainen [Wed, 1 Nov 2023 14:35:05 +0000 (16:35 +0200)] 
lib-storage: shared storage - Fix error message for failed storage creation

Dynamically created shared namespaces have no name, so use prefix instead.

Broken by a2e8bcd7657e00db5334073479d8fb674b114415

6 months agolib-storage: Split off mail_namespaces_init_default_location()
Timo Sirainen [Wed, 1 Nov 2023 14:02:23 +0000 (16:02 +0200)] 
lib-storage: Split off mail_namespaces_init_default_location()

Now mail_namespaces_init_location() is required to have non-NULL location
parameter.

6 months agolib-storage: Slightly refactor mail location lookup code
Timo Sirainen [Wed, 1 Nov 2023 13:52:38 +0000 (15:52 +0200)] 
lib-storage: Slightly refactor mail location lookup code

6 months agodoveadm: Sync the inbox=yes namespace by default instead of empty location namespaces
Timo Sirainen [Wed, 1 Nov 2023 13:37:22 +0000 (15:37 +0200)] 
doveadm: Sync the inbox=yes namespace by default instead of empty location namespaces

This is hopefully good enough of a replacement. Later changes remove
the namespace_location setting, and later on even mail_location is split
into many settings. Those changes make the original behavior difficult to
preserve.

6 months agolib-storage: Change mailbox_list.mail_set to use also storage name-specific settings
Timo Sirainen [Fri, 27 Oct 2023 10:31:19 +0000 (13:31 +0300)] 
lib-storage: Change mailbox_list.mail_set to use also storage name-specific settings

6 months agolib-storage: Change mail_storage.event's parent to mail_user
Timo Sirainen [Thu, 2 Nov 2023 22:51:03 +0000 (00:51 +0200)] 
lib-storage: Change mail_storage.event's parent to mail_user

The same storage can be shared between different mailbox_lists, so it
wasn't really correct before.

6 months agolib-storage: Change mailbox_list.mail_set to use namespace-specific settings
Timo Sirainen [Fri, 27 Oct 2023 10:18:47 +0000 (13:18 +0300)] 
lib-storage: Change mailbox_list.mail_set to use namespace-specific settings

6 months agolib-storage: Remove mail_namespace.mail_set
Timo Sirainen [Fri, 27 Oct 2023 10:11:21 +0000 (13:11 +0300)] 
lib-storage: Remove mail_namespace.mail_set

It was just a pointer to mail_user.mail_set instead of namespace-specific
settings.

6 months agoglobal: Avoid using mail_namespace.mail_set
Timo Sirainen [Fri, 27 Oct 2023 10:10:00 +0000 (13:10 +0300)] 
global: Avoid using mail_namespace.mail_set

6 months agolib-storage: Move MAIL_STORAGE_FLAG_KEEP_HEADER_MD5 flag handling later
Timo Sirainen [Fri, 27 Oct 2023 10:09:18 +0000 (13:09 +0300)] 
lib-storage: Move MAIL_STORAGE_FLAG_KEEP_HEADER_MD5 flag handling later

The flag isn't needed earlier, and this will simplify the next commit.

6 months agolib-settings: Support accessing overrides for unknown named filters if SETTINGS_EVENT...
Timo Sirainen [Tue, 14 Nov 2023 10:54:52 +0000 (12:54 +0200)] 
lib-settings: Support accessing overrides for unknown named filters if SETTINGS_EVENT_FILTER_NAME is set

This is mainly intended for "doveadm fs" and similar commands' filter-name
parameter to work properly with overrides. For example:

doveadm -o obox/fs_driver=posix fs get obox testfile

The "doveadm fs" command execution never sees the obox settings, so it
doesn't know that obox/ prefix means that it's a filter name. However,
by "doveadm fs" does set SETTINGS_EVENT_FILTER_NAME=obox to the lookup
event, which now allows it to realize that it is.

6 months agolib-settings: Fix accessing override setting whose filter was just updated
Timo Sirainen [Tue, 14 Nov 2023 10:47:19 +0000 (12:47 +0200)] 
lib-settings: Fix accessing override setting whose filter was just updated

set->key was stored before settings_override_filter_match() updated it,
causing the setting lookup to fail later on.

6 months agolib-settings: Fix handling overrides with named [list] filters
Timo Sirainen [Mon, 13 Nov 2023 14:11:49 +0000 (16:11 +0200)] 
lib-settings: Fix handling overrides with named [list] filters

For example -o mail_location shouldn't override namespace inbox
{ mail_location }. It would need an explicit
-o namespace/inbox/mail_location.

6 months agolib-settings: Split off settings_instance_override_init()
Timo Sirainen [Mon, 13 Nov 2023 13:41:09 +0000 (15:41 +0200)] 
lib-settings: Split off settings_instance_override_init()

6 months agolib-settings: Change settings_override.type to enum
Timo Sirainen [Mon, 13 Nov 2023 13:40:38 +0000 (15:40 +0200)] 
lib-settings: Change settings_override.type to enum

6 months agolib-settings: Add comments to struct settings_override
Timo Sirainen [Mon, 13 Nov 2023 13:40:18 +0000 (15:40 +0200)] 
lib-settings: Add comments to struct settings_override

6 months agoconfig: Disable global setting order check for named [list] filters
Timo Sirainen [Wed, 8 Nov 2023 11:16:44 +0000 (13:16 +0200)] 
config: Disable global setting order check for named [list] filters

If the configuration has e.g.:

mail_location = mdbox:...
namespace virtual {
  mail_location = virtual:...
}
...
mail_location = sdbox:...

There's no need to log a warning about the second mail_location not
overriding the virtual namespace's mail_location. And the second
mail_location could be there because it's easier to write tests in
that way in CI.

6 months agolib-storage: raw-storage - Replace userdb_fields with code_override_fields
Timo Sirainen [Mon, 13 Nov 2023 23:40:13 +0000 (01:40 +0200)] 
lib-storage: raw-storage - Replace userdb_fields with code_override_fields

This way any -o parameters can't override raw user's settings.

6 months agolib-storage: Add mail_storage_service_input.code_override_fields
Timo Sirainen [Mon, 13 Nov 2023 23:39:59 +0000 (01:39 +0200)] 
lib-storage: Add mail_storage_service_input.code_override_fields

6 months agodoveadm mail fs: Use the mail_user event for getting fs settings
Timo Sirainen [Tue, 21 Nov 2023 08:26:45 +0000 (10:26 +0200)] 
doveadm mail fs: Use the mail_user event for getting fs settings

This fixes using e.g. %{user} variables in the fs settings.

6 months agolib-settings: Use SETTINGS_EVENT_VAR_EXPAND_* also in parent events
Timo Sirainen [Tue, 21 Nov 2023 09:51:55 +0000 (11:51 +0200)] 
lib-settings: Use SETTINGS_EVENT_VAR_EXPAND_* also in parent events

6 months agolib: Add var_expand_with_arrays()
Timo Sirainen [Tue, 21 Nov 2023 09:41:04 +0000 (11:41 +0200)] 
lib: Add var_expand_with_arrays()

6 months agolib: var-expand - Fix error handling for %{hash;salt;...} variable expansion
Timo Sirainen [Tue, 21 Nov 2023 09:28:56 +0000 (11:28 +0200)] 
lib: var-expand - Fix error handling for %{hash;salt;...} variable expansion

Unknown variables were ignored instead of the error being propagated.

6 months agolib-settings: Don't ignore unknown %variables in settings expansion
Timo Sirainen [Mon, 20 Nov 2023 21:59:28 +0000 (23:59 +0200)] 
lib-settings: Don't ignore unknown %variables in settings expansion

The settings lookup should fail if there are any unknown variables.

6 months agolazy-expunge: Replace lazy_expunge_exclude setting with per-mailbox lazy_expunge_mailbox
Timo Sirainen [Wed, 31 May 2023 22:47:28 +0000 (01:47 +0300)] 
lazy-expunge: Replace lazy_expunge_exclude setting with per-mailbox lazy_expunge_mailbox

The lazy_expunge_* settings can now be mailbox-specific. To disable
lazy_expunge for a specific mailboxes, use e.g.:

lazy_expunge_mailbox = DUMPSTER
mailbox Drafts {
  lazy_expunge_mailbox =
}
mailbox "External Accounts/*" {
  lazy_expunge_mailbox =
}

6 months agolazy-expunge: Rename lazy_expunge setting to lazy_expunge_mailbox
Timo Sirainen [Wed, 31 May 2023 22:17:46 +0000 (01:17 +0300)] 
lazy-expunge: Rename lazy_expunge setting to lazy_expunge_mailbox

6 months agolazy-expunge: Convert plugin settings to regular settings
Timo Sirainen [Wed, 31 May 2023 22:01:43 +0000 (01:01 +0300)] 
lazy-expunge: Convert plugin settings to regular settings

lazy_expunge_exclude wasn't converted yet, since it's a bit more complex and
also it's going to be removed by a following commit.

6 months agolazy-expunge: Remove support for using lazy_expunge namespaces
Timo Sirainen [Wed, 31 May 2023 22:13:28 +0000 (01:13 +0300)] 
lazy-expunge: Remove support for using lazy_expunge namespaces

Most people are using a single mailbox for lazy_expunge destination. Using
an entire namespace was always a bit troublesome. Also trying to support it
would make the following configuration changes more complex.

6 months agolib-language: language_list_init() - Simplify configuration
Markus Valentin [Wed, 15 Nov 2023 07:48:46 +0000 (08:48 +0100)] 
lib-language: language_list_init() - Simplify configuration

This removes the string-table based settings for language_list_init()
and introduces struct language_settings.

6 months agolib-language: Rename m4 macros
Markus Valentin [Tue, 14 Nov 2023 09:45:34 +0000 (10:45 +0100)] 
lib-language: Rename m4 macros

6 months agolib-language: Rename enum language_result to language_detect_result
Markus Valentin [Tue, 14 Nov 2023 13:56:41 +0000 (14:56 +0100)] 
lib-language: Rename enum language_result to language_detect_result

6 months agolib-language: Rename functions and macros
Markus Valentin [Fri, 10 Nov 2023 17:09:38 +0000 (18:09 +0100)] 
lib-language: Rename functions and macros

This replaces all fts mentions with lang to complete the lib-fts to
lib-lang renaming.

6 months agolib-language: Rename all files and corresponding includes from fts- to lang-
Markus Valentin [Fri, 10 Nov 2023 12:43:37 +0000 (13:43 +0100)] 
lib-language: Rename all files and corresponding includes from fts- to lang-

6 months agolib-language: Replace libfts with liblanguage for linking
Markus Valentin [Fri, 10 Nov 2023 12:18:54 +0000 (13:18 +0100)] 
lib-language: Replace libfts with liblanguage for linking

6 months agolib-fts: Rename to lib-language
Markus Valentin [Fri, 10 Nov 2023 12:03:29 +0000 (13:03 +0100)] 
lib-fts: Rename to lib-language

This is just replacing the path not internal library name yet.

6 months agoauth: Change oauth2 to disable retries with http_client_request_max_attempts=1
Timo Sirainen [Thu, 5 Oct 2023 12:19:29 +0000 (15:19 +0300)] 
auth: Change oauth2 to disable retries with http_client_request_max_attempts=1

http_client_auto_retry is a hidden setting that shouldn't normally be
used. http_client_request_max_attempts=1 in this case behaves the same in
a more normal way.

6 months agolib-http: Rename http_client_ssl_tunnel to http_client_proxy_ssl_tunnel
Timo Sirainen [Thu, 5 Oct 2023 12:04:08 +0000 (15:04 +0300)] 
lib-http: Rename http_client_ssl_tunnel to http_client_proxy_ssl_tunnel

6 months agolib-http: Don't allow http_client_request_max_attempts=0 setting
Timo Sirainen [Thu, 5 Oct 2023 11:57:54 +0000 (14:57 +0300)] 
lib-http: Don't allow http_client_request_max_attempts=0 setting

6 months agolib-http: Change http_client_request_max_attempts default to 1
Timo Sirainen [Thu, 5 Oct 2023 11:55:43 +0000 (14:55 +0300)] 
lib-http: Change http_client_request_max_attempts default to 1

The previous default 0 means the same as 1, but 1 is clearer.

6 months agolib-http: Clarify auto_redirect, auto_retry and request_max_redirects setting comments
Timo Sirainen [Thu, 5 Oct 2023 11:51:27 +0000 (14:51 +0300)] 
lib-http: Clarify auto_redirect, auto_retry and request_max_redirects setting comments

6 months agoplugins/push-notification: push_notification_driver_ox_init_global() - Move HTTP...
Karl Fleischmann [Thu, 14 Sep 2023 09:09:58 +0000 (11:09 +0200)] 
plugins/push-notification: push_notification_driver_ox_init_global() - Move HTTP client initialization into init-callback

This commit makes the HTTP client initialization and propagation of
potential errors into the init-callback of the push notification
drivers, instead of deferring it to the message handling.

6 months agoplugins/push-notification: push_notification_driver_ox_init_global() - Allow nested...
Karl Fleischmann [Thu, 14 Sep 2023 09:09:54 +0000 (11:09 +0200)] 
plugins/push-notification: push_notification_driver_ox_init_global() - Allow nested http-client settings

6 months agoplugins/push-notification: push_notification_driver_ox_deinit - Remove incorrect...
Karl Fleischmann [Thu, 7 Sep 2023 11:55:19 +0000 (13:55 +0200)] 
plugins/push-notification: push_notification_driver_ox_deinit - Remove incorrect ATTR_UNUSED

6 months agoplugins/push-notification: push_notification_driver_dlog_process_msg - Remove incorre...
Karl Fleischmann [Thu, 7 Sep 2023 11:54:18 +0000 (13:54 +0200)] 
plugins/push-notification: push_notification_driver_dlog_process_msg - Remove incorrect ATTR_UNUSED

6 months agoplugins/push-notification: Rewrite push notification driver config initialization
Karl Fleischmann [Thu, 7 Sep 2023 11:35:58 +0000 (13:35 +0200)] 
plugins/push-notification: Rewrite push notification driver config initialization

Replace the old config lookup mechanism - a per-driver parsing of a
settings-string and a subsequent creation of a config hash-map - with a
new settings-based mechanism. This way each driver can now access its
native settings directly. For this to work the driver identification and
initialization needs to be adapted, as well.

6 months agoplugins/push-notification: push-notification-settings - Add new settings API infrastr...
Karl Fleischmann [Thu, 7 Sep 2023 10:23:38 +0000 (12:23 +0200)] 
plugins/push-notification: push-notification-settings - Add new settings API infrastructure

6 months agoplugins/push-notification: push-notification-driver-ox - Use http_client_init_auto...
Karl Fleischmann [Fri, 25 Aug 2023 12:36:48 +0000 (14:36 +0200)] 
plugins/push-notification: push-notification-driver-ox - Use http_client_init_auto() to initialize http client

6 months agoplugins/push-notification: push_notification_driver_lua_init() - Simplify resolving...
Karl Fleischmann [Mon, 11 Sep 2023 13:58:24 +0000 (15:58 +0200)] 
plugins/push-notification: push_notification_driver_lua_init() - Simplify resolving the script's path

6 months agoplugins/push-notification: push-notification-driver-lua - Rename push_notification_lu...
Karl Fleischmann [Mon, 7 Aug 2023 08:36:55 +0000 (10:36 +0200)] 
plugins/push-notification: push-notification-driver-lua - Rename push_notification_lua_script_file to push_notification_lua_script_path

6 months agonotify-status: Convert notify_status_mailboxN setting to a per mailbox setting
Markus Valentin [Mon, 28 Aug 2023 06:41:11 +0000 (08:41 +0200)] 
notify-status: Convert notify_status_mailboxN setting to a per mailbox setting

Rather than using:

  plugin {
    notify_status_mailbox = inbox
    notify_status_mailbox2 = TestBox
  }

This can now be configured by mailbox filters:

  mailbox inbox {
    notify_status_mailbox = yes
  }

  mailbox TestBox {
    notify_status_mailbox = yes
  }

6 months agonotify-status: Convert plugin settings to normal settings
Markus Valentin [Fri, 4 Aug 2023 08:58:02 +0000 (10:58 +0200)] 
notify-status: Convert plugin settings to normal settings

6 months agolib-http, global: Add request_ to http_client_max_redirects and http_client_*max_attempts
Timo Sirainen [Fri, 25 Aug 2023 20:11:08 +0000 (16:11 -0400)] 
lib-http, global: Add request_ to http_client_max_redirects and http_client_*max_attempts

This makes it consistent with http_client_request_*timeout settings.

6 months agolib-dict: Don't crash if init_legacy() isn't supported by dict driver
Timo Sirainen [Fri, 25 Aug 2023 19:59:32 +0000 (15:59 -0400)] 
lib-dict: Don't crash if init_legacy() isn't supported by dict driver

6 months agolib-dict-extra: test-dict-fs - Convert to use dict_init_auto()
Timo Sirainen [Fri, 25 Aug 2023 19:52:28 +0000 (15:52 -0400)] 
lib-dict-extra: test-dict-fs - Convert to use dict_init_auto()