]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
16 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.

16 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()

16 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

16 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

16 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.

16 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.

16 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

16 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.

16 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

16 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()

16 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.

16 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.

16 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 =
}

16 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

16 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.

16 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.

16 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.

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

16 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

16 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.

16 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-

16 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

16 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.

16 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.

16 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

16 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

16 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.

16 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

16 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.

16 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

16 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

16 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

16 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.

16 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

16 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

16 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

16 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

16 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
  }

16 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

16 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.

16 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

16 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()

16 months agodoveconf: Read configuration in its own data stack frame
Timo Sirainen [Thu, 24 Aug 2023 19:36:36 +0000 (15:36 -0400)] 
doveconf: Read configuration in its own data stack frame

16 months agoconfig: Don't allow config file to contain key=value for lists or filters
Timo Sirainen [Tue, 22 Aug 2023 19:46:07 +0000 (15:46 -0400)] 
config: Don't allow config file to contain key=value for lists or filters

For example although it's allowed to use "-o namespace=name1" to add a
new named array filter in command line, in config file this would just
cause confusion, so require namespace name1 { .. } instead.

16 months agolib-settings: Sort overridden settings by the key path's element count
Timo Sirainen [Tue, 15 Aug 2023 00:00:53 +0000 (20:00 -0400)] 
lib-settings: Sort overridden settings by the key path's element count

This is especially important to get fs_parent/fs_parent/.. hierarchy to
work correctly. An alternative could have been to require specifying the
overridden settings in the correct order, but that would require a stable
merging algorithm to be used instead of qsort().

16 months agolib-settings: Use only the same setting root's settings
Timo Sirainen [Mon, 14 Aug 2023 23:01:46 +0000 (19:01 -0400)] 
lib-settings: Use only the same setting root's settings

16 months agolib-settings: Support %{variables} also with strlist settings
Timo Sirainen [Fri, 11 Aug 2023 20:00:45 +0000 (23:00 +0300)] 
lib-settings: Support %{variables} also with strlist settings

16 months agofts: Fix potential memory leaks when init() fails
Timo Sirainen [Fri, 11 Aug 2023 21:41:23 +0000 (00:41 +0300)] 
fts: Fix potential memory leaks when init() fails

16 months agodict-fs: Implement new init() API
Timo Sirainen [Fri, 11 Aug 2023 18:59:18 +0000 (21:59 +0300)] 
dict-fs: Implement new init() API

16 months agolib-settings: Add settings_root_find() and settings_instance_find()
Timo Sirainen [Fri, 11 Aug 2023 14:20:23 +0000 (17:20 +0300)] 
lib-settings: Add settings_root_find() and settings_instance_find()

16 months agoutil: test-fs - Change to fs_init_auto() API
Timo Sirainen [Thu, 10 Aug 2023 22:31:02 +0000 (01:31 +0300)] 
util: test-fs - Change to fs_init_auto() API

16 months agolib-storage: Change mailboxes_fs to be initialized with fs_init_auto()
Timo Sirainen [Thu, 10 Aug 2023 22:23:42 +0000 (01:23 +0300)] 
lib-storage: Change mailboxes_fs to be initialized with fs_init_auto()

16 months agolib-fs: Change unit tests to use fs_init_auto()
Timo Sirainen [Thu, 10 Aug 2023 22:15:04 +0000 (01:15 +0300)] 
lib-fs: Change unit tests to use fs_init_auto()

16 months agolib-settings: Add settings_simple_*() API
Timo Sirainen [Thu, 10 Aug 2023 22:14:16 +0000 (01:14 +0300)] 
lib-settings: Add settings_simple_*() API

This is mainly intended to easily provide settings for unit tests.

16 months agolib-settings: Make settings_instance_free(&NULL) no-op
Timo Sirainen [Thu, 10 Aug 2023 22:02:00 +0000 (01:02 +0300)] 
lib-settings: Make settings_instance_free(&NULL) no-op

16 months agodoveadm: Add "mail dict" commands
Timo Sirainen [Thu, 10 Aug 2023 10:53:30 +0000 (13:53 +0300)] 
doveadm: Add "mail dict" commands

These are similar to "doveadm dict" commands, but they're run in the mail
user context. This way all user-specific settings are applied and process
uid/gid is also set properly.

16 months agodoveadm dict: Split functions in preparation for "doveadm mail dict" commands
Timo Sirainen [Thu, 10 Aug 2023 09:14:37 +0000 (12:14 +0300)] 
doveadm dict: Split functions in preparation for "doveadm mail dict" commands

16 months agodoveadm dict iter: Move iter-specific parameter handling to cmd_dict_iter()
Timo Sirainen [Thu, 10 Aug 2023 09:13:25 +0000 (12:13 +0300)] 
doveadm dict iter: Move iter-specific parameter handling to cmd_dict_iter()

16 months agodoveadm dict: Remove unused code
Timo Sirainen [Thu, 10 Aug 2023 09:05:56 +0000 (12:05 +0300)] 
doveadm dict: Remove unused code

16 months agodoveadm dict: Change dict-uri parameter to filter-name
Timo Sirainen [Thu, 10 Aug 2023 08:57:18 +0000 (11:57 +0300)] 
doveadm dict: Change dict-uri parameter to filter-name

This makes it work similarly to "doveadm fs".

16 months agodoveadm: Add "mail fs" commands
Timo Sirainen [Mon, 7 Aug 2023 08:17:34 +0000 (11:17 +0300)] 
doveadm: Add "mail fs" commands

These are similar to "doveadm fs" commands, but they're run in the mail user
context. This way all user-specific settings are applied and process
uid/gid is also set properly.

16 months agolib-storage: Add MAIL_STORAGE_SERVICE_FLAG_MINIMAL_USER_INIT
Timo Sirainen [Mon, 7 Aug 2023 08:57:00 +0000 (11:57 +0300)] 
lib-storage: Add MAIL_STORAGE_SERVICE_FLAG_MINIMAL_USER_INIT

This is needed/used only by the obox format currently.

16 months agolib-storage: Add mail_storage_service_get_flags()
Timo Sirainen [Mon, 7 Aug 2023 08:56:52 +0000 (11:56 +0300)] 
lib-storage: Add mail_storage_service_get_flags()

16 months agodoveadm fs: Split functions in preparation for "doveadm mail fs" commands
Timo Sirainen [Mon, 7 Aug 2023 08:16:44 +0000 (11:16 +0300)] 
doveadm fs: Split functions in preparation for "doveadm mail fs" commands

16 months agodoveadm fs: Change fs-driver & fs-args parameters to filter-name
Timo Sirainen [Mon, 7 Aug 2023 06:08:45 +0000 (09:08 +0300)] 
doveadm fs: Change fs-driver & fs-args parameters to filter-name

The filter-name refers to the filter section in config file that contains
the fs_driver and other necessary settings. It's also possible to specify
all necessary settings using -o parameter, e.g.:

doveadm \
  -o fs_parent/fs_driver=posix \
  -o fs_driver=randomfail \
  -o fs_randomfail_ops/read=50 \
  fs get "" /path/to/file

Note that currently the order of fs_driver settings is important here,
because the first match is used. This may change in the future.

16 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

16 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

16 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.

16 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.

16 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.

16 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

16 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

16 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

16 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

16 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

16 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.

16 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.

16 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

16 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

16 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

16 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

16 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

16 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

16 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.

16 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

16 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

16 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.

16 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()

16 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()

16 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()

16 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()

16 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

16 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.

16 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.

16 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()

16 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.

16 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.

16 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

16 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

16 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.