]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
6 months agolib-http: Make http_client_request_error() public
Timo Sirainen [Sun, 30 Jul 2023 15:32:13 +0000 (18:32 +0300)] 
lib-http: Make http_client_request_error() public

6 months agodoveadm compress: Use compression_handler.create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 18:47:00 +0000 (21:47 +0300)] 
doveadm compress: Use compression_handler.create_ostream_auto() API

6 months agofs-compress: Implement new fs.init() and compression_handler.create_ostream_auto...
Timo Sirainen [Sat, 29 Jul 2023 18:31:40 +0000 (21:31 +0300)] 
fs-compress: Implement new fs.init() and compression_handler.create_ostream_auto() APIs

The compression method parameter is replaced by fs_compress_write_method
setting. An empty setting means writing with plaintext.

The old "maybe-" prefix is replaced by fs_compress_read_plain_fallback
setting.

Since there is no longer a single generic compression level parameter,
using level 0 to disable compression is replaced by using an empty
fs_compress_write_method value.

6 months agomail-compress: Use create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 18:22:28 +0000 (21:22 +0300)] 
mail-compress: Use create_ostream_auto() API

mail_compress_save plugin setting is replaced by mail_compress_write_method.
mail_compress_save_level plugin setting is replaced by compression method
specific settings.

6 months agoimap: COMPRESS - Use create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 18:06:41 +0000 (21:06 +0300)] 
imap: COMPRESS - Use create_ostream_auto() API

The compression level can now be configured using the compression settings.

6 months agolib-compression: ostream-zstd - Add support for create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 18:03:39 +0000 (21:03 +0300)] 
lib-compression: ostream-zstd - Add support for create_ostream_auto() API

6 months agolib-compression: ostream-lz4 - Add support for create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 17:57:54 +0000 (20:57 +0300)] 
lib-compression: ostream-lz4 - Add support for create_ostream_auto() API

6 months agolib-compression: ostream-bzlib - Add support for create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 17:56:33 +0000 (20:56 +0300)] 
lib-compression: ostream-bzlib - Add support for create_ostream_auto() API

6 months agolib-compression: ostream-zlib - Add support for create_ostream_auto() API
Timo Sirainen [Sat, 29 Jul 2023 17:49:34 +0000 (20:49 +0300)] 
lib-compression: ostream-zlib - Add support for create_ostream_auto() API

6 months agolib-compression: Prepare support for reading settings for ostreams via event
Timo Sirainen [Sat, 29 Jul 2023 17:48:59 +0000 (20:48 +0300)] 
lib-compression: Prepare support for reading settings for ostreams via event

6 months agolib-storage: Replace mail_attachment_fs with mail_attachment filter
Timo Sirainen [Fri, 28 Jul 2023 11:26:05 +0000 (14:26 +0300)] 
lib-storage: Replace mail_attachment_fs with mail_attachment filter

Replace e.g.:

mail_attachment_fs = posix:no-fsync

with:

mail_attachment {
  fs_driver = posix
  fs_posix_fsync = no
}

There is no longer a default mail_attachment { fs_driver }. It needs to be
set explicitly.

This also changes the mailbox_list_init_fs() API to use fs_init_filter().
Currently its only caller in core is this mail_attachment_fs.

If mail_attachment_dir is set, it now gives an error if
mail_attachment { ... } filter is not set. Previously an empty
mail_attachment_fs would have been ignored, although it likely wasn't used
much since its default was not empty.

Copying mails needed to remove full mail_attachment_fs comparison checks
between source and destination storage, because it's not practical anymore
to compare whether two FSes are the same. It's unlikely anyone would use
two incompatible FSes with the same mail_attachment_dir setting.

6 months agolib-storage: mailbox_list_init_fs() - Don't allow NULL parent event
Timo Sirainen [Fri, 28 Jul 2023 11:20:27 +0000 (14:20 +0300)] 
lib-storage: mailbox_list_init_fs() - Don't allow NULL parent event

There are no callers that use NULL.

6 months agofs-test: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 12:53:00 +0000 (15:53 +0300)] 
fs-test: Implement new init() API

6 months agofs-metawrap: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 12:52:28 +0000 (15:52 +0300)] 
fs-metawrap: Implement new init() API

6 months agofs-randomfail: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 12:50:48 +0000 (15:50 +0300)] 
fs-randomfail: Implement new init() API

6 months agofs-sis-queue: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 12:42:20 +0000 (15:42 +0300)] 
fs-sis-queue: Implement new init() API

6 months agofs-sis: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 12:37:12 +0000 (15:37 +0300)] 
fs-sis: Implement new init() API

6 months agofs-posix: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 10:52:39 +0000 (13:52 +0300)] 
fs-posix: Implement new init() API

6 months agofs-posix: Remove mode=auto setting
Timo Sirainen [Fri, 28 Jul 2023 10:40:12 +0000 (13:40 +0300)] 
fs-posix: Remove mode=auto setting

This setting has never actually done anything. Its behavior of taking
created files' permissions from parent directory is actually controlled by
the parent directory's SETGID bit.

6 months agofs-dict: Implement new init() API
Timo Sirainen [Fri, 28 Jul 2023 10:22:17 +0000 (13:22 +0300)] 
fs-dict: Implement new init() API

6 months agolib-fs: Don't crash if fs_vfuncs.legacy_init() isn't implemented
Timo Sirainen [Mon, 31 Jul 2023 11:29:44 +0000 (14:29 +0300)] 
lib-fs: Don't crash if fs_vfuncs.legacy_init() isn't implemented

6 months agolib-fs: Add fs_init_parent()
Timo Sirainen [Wed, 30 Aug 2023 21:07:18 +0000 (17:07 -0400)] 
lib-fs: Add fs_init_parent()

This simplifies initializing parent fs for wrapper filesystems.

6 months agolib-fs: Add fs_init_auto()
Timo Sirainen [Fri, 28 Jul 2023 09:56:14 +0000 (12:56 +0300)] 
lib-fs: Add fs_init_auto()

6 months agolib-fs, global: Rename fs_init() to fs_legacy_init()
Timo Sirainen [Thu, 27 Jul 2023 12:53:54 +0000 (15:53 +0300)] 
lib-fs, global: Rename fs_init() to fs_legacy_init()

6 months agolib-fs: Move calling fs_vfuncs.init() out of fs_alloc()
Timo Sirainen [Fri, 28 Jul 2023 09:41:49 +0000 (12:41 +0300)] 
lib-fs: Move calling fs_vfuncs.init() out of fs_alloc()

6 months agolib-fs: Move auto-loading of fs_class into fs_alloc()
Timo Sirainen [Fri, 28 Jul 2023 09:39:12 +0000 (12:39 +0300)] 
lib-fs: Move auto-loading of fs_class into fs_alloc()

6 months agolib-fs: Move fs_alloc() later
Timo Sirainen [Fri, 28 Jul 2023 09:38:26 +0000 (12:38 +0300)] 
lib-fs: Move fs_alloc() later

6 months agolib-fs: Fill all struct fs fields before calling init()
Timo Sirainen [Fri, 28 Jul 2023 09:35:48 +0000 (12:35 +0300)] 
lib-fs: Fill all struct fs fields before calling init()

This simplifies the following changes.

6 months agolib-fs: Remove event_parent parameter from fs_vfuncs.init()
Timo Sirainen [Fri, 28 Jul 2023 09:49:50 +0000 (12:49 +0300)] 
lib-fs: Remove event_parent parameter from fs_vfuncs.init()

fs->event should be used instead.

6 months agolib-storage: Rename mail_user_init_fs_settings() to mail_user_init_fs_parameters()
Timo Sirainen [Thu, 27 Jul 2023 12:38:11 +0000 (15:38 +0300)] 
lib-storage: Rename mail_user_init_fs_settings() to mail_user_init_fs_parameters()

6 months agolib-fs, global: Rename fs_settings to fs_parameters
Timo Sirainen [Thu, 27 Jul 2023 12:27:23 +0000 (15:27 +0300)] 
lib-fs, global: Rename fs_settings to fs_parameters

These are internal parameters. A later commit will add back fs_settings
where the settings are coming from config file.

6 months agolib-fs: remove struct fs.set
Timo Sirainen [Thu, 27 Jul 2023 12:02:31 +0000 (15:02 +0300)] 
lib-fs: remove struct fs.set

Only set.enable_timing was used, and it can be in its own field.

6 months agolib-fs, global: Move fs_settings.event_parent to dict_init() parameter
Timo Sirainen [Thu, 27 Jul 2023 11:55:11 +0000 (14:55 +0300)] 
lib-fs, global: Move fs_settings.event_parent to dict_init() parameter

6 months agolib-dict-extra: dict-fs - Forward dict's event_parent to fs
Timo Sirainen [Thu, 27 Jul 2023 11:48:15 +0000 (14:48 +0300)] 
lib-dict-extra: dict-fs - Forward dict's event_parent to fs

6 months agolib-fs, global: Remove fs_settings.debug
Timo Sirainen [Thu, 27 Jul 2023 11:42:46 +0000 (14:42 +0300)] 
lib-fs, global: Remove fs_settings.debug

The debugging can be enabled via parent event.

6 months agoglobal: Replace fs_settings.debug with parent event that has debugging enabled
Timo Sirainen [Thu, 27 Jul 2023 11:45:06 +0000 (14:45 +0300)] 
global: Replace fs_settings.debug with parent event that has debugging enabled

6 months agolib-fs: Remove unused fs_init_from_string()
Timo Sirainen [Thu, 27 Jul 2023 11:19:36 +0000 (14:19 +0300)] 
lib-fs: Remove unused fs_init_from_string()

6 months agomail-crypt: test-fs-crypt - Replace fs_init_from_string() with fs_init()
Timo Sirainen [Thu, 27 Jul 2023 11:19:08 +0000 (14:19 +0300)] 
mail-crypt: test-fs-crypt - Replace fs_init_from_string() with fs_init()

There was no benefit in using it.

6 months agolib-fs: Remove obsolete comment
Timo Sirainen [Fri, 28 Jul 2023 09:29:34 +0000 (12:29 +0300)] 
lib-fs: Remove obsolete comment

Use of T_END_PASS_STR_IF() removed the kludge.

6 months agoglobal: Remove unnecessary settings-parser.h includes
Timo Sirainen [Sat, 29 Jul 2023 10:53:41 +0000 (13:53 +0300)] 
global: Remove unnecessary settings-parser.h includes

It's already included by including settings.h.

6 months agolib-settings: settings.h - Include settings-parser.h automatically
Timo Sirainen [Sat, 29 Jul 2023 10:50:02 +0000 (13:50 +0300)] 
lib-settings: settings.h - Include settings-parser.h automatically

These are nowadays usually both included, so it simplifies the code.

6 months agolib-settings: settings-legacy - Rename setting_type to setting_legacy_type
Timo Sirainen [Sat, 29 Jul 2023 10:57:12 +0000 (13:57 +0300)] 
lib-settings: settings-legacy - Rename setting_type to setting_legacy_type

This allows including both settings-parser.h and settings-legacy.h

6 months agoconfig: Allow named array filters under named filters
Timo Sirainen [Wed, 23 Aug 2023 01:23:13 +0000 (21:23 -0400)] 
config: Allow named array filters under named filters

This is needed for at least obox { crypt_global_private_key { .. } }

6 months agolib-settings: Make settings_root_deinit(&NULL) no-op
Timo Sirainen [Wed, 23 Aug 2023 01:21:15 +0000 (21:21 -0400)] 
lib-settings: Make settings_root_deinit(&NULL) no-op

6 months agoconfig: Fix using filter_name/strlist/key in default settings
Timo Sirainen [Fri, 4 Aug 2023 13:03:12 +0000 (16:03 +0300)] 
config: Fix using filter_name/strlist/key in default settings

6 months agolib-settings, config: Add support for SET_FILTER_HIERARCHY
Timo Sirainen [Fri, 28 Jul 2023 12:36:22 +0000 (15:36 +0300)] 
lib-settings, config: Add support for SET_FILTER_HIERARCHY

6 months agolib-http, global: Rename http_client_no_* settings
Timo Sirainen [Mon, 24 Jul 2023 20:05:18 +0000 (23:05 +0300)] 
lib-http, global: Rename http_client_no_* settings

Remove double negatives:
 * http_client_proxy_no_ssl_tunnel -> http_client_proxy_ssl_tunnel
 * http_client_no_auto_redirect -> http_client_auto_redirect
 * http_client_no_auto_retry -> http_client_auto_retry

6 months agolib-http: Change http_client_settings.max_connect_attempts=1 behavior
Timo Sirainen [Mon, 24 Jul 2023 20:09:11 +0000 (23:09 +0300)] 
lib-http: Change http_client_settings.max_connect_attempts=1 behavior

Before 1 meant the same as 0, which means "try every IP once". But there
is no need for two values to mean the same, so now 1 means "try only 1
IP".

6 months agolib-http, global: Add and use http_client_settings_init()
Timo Sirainen [Mon, 24 Jul 2023 19:48:25 +0000 (22:48 +0300)] 
lib-http, global: Add and use http_client_settings_init()

6 months agolib-http: Add http_client_settings.read/write/delete_max_attempts
Timo Sirainen [Mon, 24 Jul 2023 21:27:44 +0000 (00:27 +0300)] 
lib-http: Add http_client_settings.read/write/delete_max_attempts

If they are non-zero, they override the max_attempts setting for the
specified HTTP methods.

6 months agolib-http: Add http_client_settings.read/write/delete_request_timeout
Timo Sirainen [Mon, 24 Jul 2023 19:31:07 +0000 (22:31 +0300)] 
lib-http: Add http_client_settings.read/write/delete_request_timeout

If they are non-zero, they override the request_timeout setting for the
specified HTTP methods.

6 months agolib-dns: dns_client_init() - Assert dns_client_socket_path isn't empty
Timo Sirainen [Mon, 24 Jul 2023 15:53:53 +0000 (18:53 +0300)] 
lib-dns: dns_client_init() - Assert dns_client_socket_path isn't empty

It's easier to debug assert-crashes than seeing an empty error in logs.

6 months agoauth: oauth2 - Use http_client_init_auto()
Timo Sirainen [Mon, 24 Jul 2023 15:18:32 +0000 (18:18 +0300)] 
auth: oauth2 - Use http_client_init_auto()

This adds oauth2 { .. } named filter, which can be used to override http
and ssl settings. The following settings were replaced:

 * tls_ca_cert_file -> ssl_client_ca_file
 * tls_ca_cert_dir -> ssl_client_ca_dir
 * tls_cert_file -> ssl_client_cert
 * tls_cipher_suite -> ssl_client_cipher_list
 * rawlog_dir -> http_client_rawlog_dir
 * timeout_msecs -> http_client_request_absolute_timeout
 * max_idle_time_msecs -> http_client_max_idle_time
 * max_parallel_connections -> http_client_max_parallel_connections
 * max_pipelined_requests -> http_client_max_pipelined_requests
 * tls_allow_invalid_cert -> http_client_allow_invalid_cert

6 months agolib-oauth2, auth: Set HTTP absolute request timeout via http_client_settings
Timo Sirainen [Mon, 24 Jul 2023 15:15:30 +0000 (18:15 +0300)] 
lib-oauth2, auth: Set HTTP absolute request timeout via http_client_settings

6 months agoauth: auth-policy - Use http_client_init_auto()
Timo Sirainen [Tue, 27 Jun 2023 21:34:39 +0000 (00:34 +0300)] 
auth: auth-policy - Use http_client_init_auto()

This adds auth_policy { .. } named filter, which can be used to override
http settings. auth_policy_server_timeout_msecs setting is replaced by
auth_policy { http_client_request_absolute_timeout }.

Note that http_client_max_connect_attempts is not explicitly set anymore,
since it was already the default value (0 and 1 are currently the same,
but this will change in a later commit).

6 months agolib-http, global: Drop _msecs and _secs suffixes from http_client_* settings
Timo Sirainen [Tue, 27 Jun 2023 21:10:43 +0000 (00:10 +0300)] 
lib-http, global: Drop _msecs and _secs suffixes from http_client_* settings

Keep the suffixes in the code, but drop them from the configuration file.

6 months agolib-http: Add http_client_init_[private_]auto()
Timo Sirainen [Tue, 27 Jun 2023 21:00:08 +0000 (00:00 +0300)] 
lib-http: Add http_client_init_[private_]auto()

6 months agolib-http: http_client_connection_get_settings() - Support being called with NULL...
Timo Sirainen [Wed, 2 Aug 2023 22:29:01 +0000 (01:29 +0300)] 
lib-http: http_client_connection_get_settings() - Support being called with NULL peer

Use the connection's last assigned http_client's settings even after
the connection is detached from it, until a new http_client is assigned.

6 months agolib-http, global: Change http_client_settings into registered settings
Timo Sirainen [Tue, 27 Jun 2023 20:52:55 +0000 (23:52 +0300)] 
lib-http, global: Change http_client_settings into registered settings

6 months agolib-http: Change http_client_settings.socket_*_buffer_size types to uoff_t
Timo Sirainen [Tue, 25 Jul 2023 07:20:21 +0000 (10:20 +0300)] 
lib-http: Change http_client_settings.socket_*_buffer_size types to uoff_t

This simplifies the following changes.

6 months agolib-http: Expand http_client_settings.response_hdr_limits to separate settings
Timo Sirainen [Tue, 25 Jul 2023 07:19:23 +0000 (10:19 +0300)] 
lib-http: Expand http_client_settings.response_hdr_limits to separate settings

This simplifies the following changes.

6 months agolib-http: Fix storing dns_client_socket_path to http_client_context
Timo Sirainen [Tue, 25 Jul 2023 07:17:01 +0000 (10:17 +0300)] 
lib-http: Fix storing dns_client_socket_path to http_client_context

It wasn't safe to point it directly to http_client's settings, since the
client could become destroyed.

6 months agolib-http: Handle empty settings strings the same as NULLs
Timo Sirainen [Tue, 25 Jul 2023 07:14:32 +0000 (10:14 +0300)] 
lib-http: Handle empty settings strings the same as NULLs

This will be needed by the following changes.

6 months agolib-http: Change http_client.set to be a pointer
Timo Sirainen [Tue, 27 Jun 2023 20:36:24 +0000 (23:36 +0300)] 
lib-http: Change http_client.set to be a pointer

Simplifies the following commits.

6 months agolib-http, global: Replace http_client_settings.event_parent with http_client_init...
Timo Sirainen [Tue, 27 Jun 2023 19:36:43 +0000 (22:36 +0300)] 
lib-http, global: Replace http_client_settings.event_parent with http_client_init*() parameter

6 months agolib-http, global: Replace http_client_settings.ssl with http_client_set_ssl_settings()
Timo Sirainen [Tue, 27 Jun 2023 19:27:58 +0000 (22:27 +0300)] 
lib-http, global: Replace http_client_settings.ssl with http_client_set_ssl_settings()

6 months agolib-http: Replace http_client_settings.dns_client with http_client_set_dns_client()
Timo Sirainen [Tue, 27 Jun 2023 19:19:24 +0000 (22:19 +0300)] 
lib-http: Replace http_client_settings.dns_client with http_client_set_dns_client()

6 months agolib-http: Remove http_client_settings.debug
Timo Sirainen [Tue, 27 Jun 2023 19:10:21 +0000 (22:10 +0300)] 
lib-http: Remove http_client_settings.debug

Debug logging is enabled via the parent event instead.

6 months agolib-http: test-http-payload - Log using events
Timo Sirainen [Tue, 27 Jun 2023 19:08:01 +0000 (22:08 +0300)] 
lib-http: test-http-payload - Log using events

6 months agolib-http: Remove unused http_client_connection.debug
Timo Sirainen [Tue, 27 Jun 2023 12:48:11 +0000 (15:48 +0300)] 
lib-http: Remove unused http_client_connection.debug

It was set, but never read.

6 months agolib-http: Fix growing connect_backoff_[max_]time_msecs after peer is destroyed
Timo Sirainen [Tue, 25 Jul 2023 07:06:41 +0000 (10:06 +0300)] 
lib-http: Fix growing connect_backoff_[max_]time_msecs after peer is destroyed

If the other peers had larger backoff times than the destroyed peer, the
backoff times weren't updated.

6 months agolib-http: Fix using larger connect_backoff_[max_]time_msecs than defaults
Timo Sirainen [Tue, 25 Jul 2023 07:00:46 +0000 (10:00 +0300)] 
lib-http: Fix using larger connect_backoff_[max_]time_msecs than defaults

6 months agolib-http: Fix using larger dns ttl/timeout settings than defaults
Timo Sirainen [Tue, 25 Jul 2023 06:58:52 +0000 (09:58 +0300)] 
lib-http: Fix using larger dns ttl/timeout settings than defaults

6 months agolib-http: Remove settings from http_client_context
Timo Sirainen [Tue, 27 Jun 2023 12:27:27 +0000 (15:27 +0300)] 
lib-http: Remove settings from http_client_context

These weren't actually used anywhere outside unit tests. The settings were
always empty and overridden for the actual http_client.

6 months agolib-http: http_client_connection_get_settings() - Assert that peer is non-NULL
Timo Sirainen [Tue, 25 Jul 2023 06:49:06 +0000 (09:49 +0300)] 
lib-http: http_client_connection_get_settings() - Assert that peer is non-NULL

This change is only temporary. A later commit reimplements it by using
the last assigned http_client's settings.

It shouldn't be possible with current code for peer to be NULL, so this
temporary change in behavior doesn't matter. If it had been possible for
peer to be NULL, the current code would have always returned empty
settings, since http_client_context.set is never set outside unit tests.
This is equivalent to the new way of explicitly returning default settings.

6 months agolib-http: http_client_init_shared() - If parent event isn't given, use cctx->event
Timo Sirainen [Wed, 2 Aug 2023 15:11:34 +0000 (18:11 +0300)] 
lib-http: http_client_init_shared() - If parent event isn't given, use cctx->event

The previous behavior was to use cctx->event's parent, because it had no
log prefix. Nowadays we can just drop the unwanted log prefix.

6 months agolib-http: http_client_init_shared() - cctx->event cannot be NULL
Timo Sirainen [Wed, 2 Aug 2023 15:10:11 +0000 (18:10 +0300)] 
lib-http: http_client_init_shared() - cctx->event cannot be NULL

6 months agolib-http: http_client_init_shared() - Require set to be non-NULL
Timo Sirainen [Tue, 27 Jun 2023 12:06:45 +0000 (15:06 +0300)] 
lib-http: http_client_init_shared() - Require set to be non-NULL

All the callers already provided it, except in unit tests.

6 months agolib-settings, config: Add setting_parser_info.default_filter_settings
Timo Sirainen [Mon, 24 Jul 2023 14:11:11 +0000 (17:11 +0300)] 
lib-settings, config: Add setting_parser_info.default_filter_settings

This can be used to add filter_name/key default settings. Trying to do it
with setting_parser_info.default_settings causes crashes, because they're
attempted to be applied to all the settings structs. An alternative could
have been to just ignore unknown prefix/ settings, but that could have
caused accidentally ignoring real bugs.

6 months agoconfig: Support filter_name/ prefixes in default settings
Timo Sirainen [Mon, 24 Jul 2023 14:10:21 +0000 (17:10 +0300)] 
config: Support filter_name/ prefixes in default settings

This allows giving defaults to specific filters in the code. For example
to specify defaults for auth_policy { ... } :

static const struct setting_keyvalue auth_default_filter_settings_keyvalue[] = {
       { "auth_policy/http_client_request_absolute_timeout", "2s" },
       { NULL, NULL }
};

The earlier code supported only named array filters, not named filters.

6 months agoconfig: config_add_new_parser() - Add explicit root parameter
Timo Sirainen [Mon, 24 Jul 2023 14:09:35 +0000 (17:09 +0300)] 
config: config_add_new_parser() - Add explicit root parameter

This is needed by the next commit.

6 months agolib-ssl-iostream: Reference ssl_*settings instead of duplicating its strings
Timo Sirainen [Fri, 16 Jun 2023 20:07:37 +0000 (23:07 +0300)] 
lib-ssl-iostream: Reference ssl_*settings instead of duplicating its strings

6 months agolib-storage: Remove unused mail_storage_service_user_init_ssl_client_settings()
Timo Sirainen [Fri, 16 Jun 2023 19:57:52 +0000 (22:57 +0300)] 
lib-storage: Remove unused mail_storage_service_user_init_ssl_client_settings()

6 months agolib-storage: Remove mail_user.ssl_set
Timo Sirainen [Fri, 16 Jun 2023 19:56:57 +0000 (22:56 +0300)] 
lib-storage: Remove mail_user.ssl_set

6 months agodoveadm: Remove unused doveadm_get_ssl_settings()
Timo Sirainen [Fri, 16 Jun 2023 19:53:14 +0000 (22:53 +0300)] 
doveadm: Remove unused doveadm_get_ssl_settings()

6 months agolib-fs, global: Remove fs_settings.ssl_client_set
Timo Sirainen [Fri, 16 Jun 2023 19:52:10 +0000 (22:52 +0300)] 
lib-fs, global: Remove fs_settings.ssl_client_set

The fs-drivers are now expected to let lib-ssl-iostream pull the settings.

6 months agologin-common: Use io_stream_autocreate_ssl_client()
Timo Sirainen [Fri, 16 Jun 2023 19:43:49 +0000 (22:43 +0300)] 
login-common: Use io_stream_autocreate_ssl_client()

6 months agolib-ssl-iostream: Add SSL_IOSTREAM_FLAG_DISABLE_CA_FILES
Timo Sirainen [Fri, 16 Jun 2023 19:41:51 +0000 (22:41 +0300)] 
lib-ssl-iostream: Add SSL_IOSTREAM_FLAG_DISABLE_CA_FILES

6 months agopop3c: Use io_stream_autocreate_ssl_client()
Timo Sirainen [Fri, 16 Jun 2023 19:32:32 +0000 (22:32 +0300)] 
pop3c: Use io_stream_autocreate_ssl_client()

6 months agolib-imap-client: Use io_stream_autocreate_ssl_client()
Timo Sirainen [Fri, 16 Jun 2023 19:26:22 +0000 (22:26 +0300)] 
lib-imap-client: Use io_stream_autocreate_ssl_client()

This removes passdb imap's ssl-specific args.

6 months agolib-doveadm, doveadm: Use io_stream_autocreate_ssl_client()
Timo Sirainen [Fri, 16 Jun 2023 15:05:43 +0000 (18:05 +0300)] 
lib-doveadm, doveadm: Use io_stream_autocreate_ssl_client()

This also removes doveadm_client_settings.{ssl_set|ssl_ctx}

6 months agoglobal: Avoid specifying http_client_settings.ssl when possible
Timo Sirainen [Fri, 16 Jun 2023 14:35:11 +0000 (17:35 +0300)] 
global: Avoid specifying http_client_settings.ssl when possible

lib-http will now automatically pull the ssl settings.

6 months agolib-http: If http_client_settings.ssl is NULL, lookup settings automatically
Timo Sirainen [Fri, 16 Jun 2023 14:25:30 +0000 (17:25 +0300)] 
lib-http: If http_client_settings.ssl is NULL, lookup settings automatically

Remove the "unconfigured ssl" unit tests, since these are no longer
relevant.

6 months agolib-master: Remove unused master_service.ssl_ctx_initialized
Timo Sirainen [Fri, 16 Jun 2023 14:11:22 +0000 (17:11 +0300)] 
lib-master: Remove unused master_service.ssl_ctx_initialized

master_service_ssl_ctx_init() is called only once at startup, so there is no
need to support calling it multiple times.

6 months agolib-master: Use ssl_server_settings_to_iostream_set() to get server context settings
Timo Sirainen [Fri, 16 Jun 2023 14:08:18 +0000 (17:08 +0300)] 
lib-master: Use ssl_server_settings_to_iostream_set() to get server context settings

6 months agolib-master: Store initialized ssl context into iostream-ssl-context-cache
Timo Sirainen [Fri, 16 Jun 2023 14:05:00 +0000 (17:05 +0300)] 
lib-master: Store initialized ssl context into iostream-ssl-context-cache

6 months agolib-master: Remove unused master_service_ssl_init()
Timo Sirainen [Fri, 16 Jun 2023 14:04:17 +0000 (17:04 +0300)] 
lib-master: Remove unused master_service_ssl_init()

6 months agodoveadm: Use io_stream_autocreate_ssl_server()
Timo Sirainen [Fri, 16 Jun 2023 14:02:14 +0000 (17:02 +0300)] 
doveadm: Use io_stream_autocreate_ssl_server()

6 months agolib-http: Use io_stream_autocreate_ssl_server()
Timo Sirainen [Fri, 16 Jun 2023 13:59:35 +0000 (16:59 +0300)] 
lib-http: Use io_stream_autocreate_ssl_server()

6 months agolib-smtp: Remove smtp_submit_input.ssl
Timo Sirainen [Fri, 16 Jun 2023 19:48:26 +0000 (22:48 +0300)] 
lib-smtp: Remove smtp_submit_input.ssl

The ssl settings are no longer passed through to lib-smtp. Instead,
lib-ssl-iostream will pull the settings automatically.