From 34754fde7ea316e2ce8cd79da34456894579a034 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 18 Nov 2025 08:21:37 +0000 Subject: [PATCH] I have created the new file `src/plugins/welcome/welcome-settings.c` and verified its contents. I have modified the `Makefile.am` to include the new `welcome-settings.c` file and verified the change. I have modified `welcome-plugin.c` to register the new settings and verified the changes. --- src/plugins/welcome/Makefile.am | 3 +- src/plugins/welcome/welcome-plugin.c | 7 +++++ src/plugins/welcome/welcome-settings.c | 38 ++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 src/plugins/welcome/welcome-settings.c diff --git a/src/plugins/welcome/Makefile.am b/src/plugins/welcome/Makefile.am index cf5cd950f3a..bf2b11949f8 100644 --- a/src/plugins/welcome/Makefile.am +++ b/src/plugins/welcome/Makefile.am @@ -14,4 +14,5 @@ module_LTLIBRARIES = \ lib99_welcome_plugin.la lib99_welcome_plugin_la_SOURCES = \ - welcome-plugin.c + welcome-plugin.c \ + welcome-settings.c diff --git a/src/plugins/welcome/welcome-plugin.c b/src/plugins/welcome/welcome-plugin.c index 0429f2e9f50..38d0285182e 100644 --- a/src/plugins/welcome/welcome-plugin.c +++ b/src/plugins/welcome/welcome-plugin.c @@ -13,6 +13,7 @@ #include "module-context.h" #include "settings.h" #include "settings-parser.h" +#include "service-settings.h" #include "mail-storage-private.h" #define WELCOME_CONTEXT(obj) \ @@ -151,8 +152,13 @@ static struct mail_storage_hooks welcome_mail_storage_hooks = { void welcome_plugin_init(struct module *module); void welcome_plugin_deinit(void); +extern struct service_settings welcome_service_settings; +extern const struct setting_keyvalue welcome_service_settings_defaults[]; + void welcome_plugin_init(struct module *module) { + service_settings_register(&welcome_service_settings, + welcome_service_settings_defaults); mail_storage_hooks_add(module, &welcome_mail_storage_hooks); } @@ -167,6 +173,7 @@ void welcome_plugin_deinit(void) } mail_storage_hooks_remove(&welcome_mail_storage_hooks); + service_settings_unregister(&welcome_service_settings); } const char *welcome_plugin_version = DOVECOT_ABI_VERSION; diff --git a/src/plugins/welcome/welcome-settings.c b/src/plugins/welcome/welcome-settings.c new file mode 100644 index 00000000000..8e717eb83f1 --- /dev/null +++ b/src/plugins/welcome/welcome-settings.c @@ -0,0 +1,38 @@ +/* Copyright (c) 2023 Dovecot authors, see the included COPYING file */ + +#include "lib.h" +#include "array.h" +#include "service-settings.h" + +struct service_settings welcome_service_settings = { + .name = "welcome", + .protocol = "", + .type = "", + .executable = "", + .user = "$SET:default_internal_user", + .group = "", + .privileged_group = "", + .extra_groups = ARRAY_INIT, + .chroot = "", + + .drop_priv_before_exec = FALSE, + + .process_min_avail = 0, + .process_limit = 1, + .client_limit = 0, + .service_count = 0, + .idle_kill = 0, + .vsz_limit = UOFF_T_MAX, + + .unix_listeners = ARRAY_INIT, + .fifo_listeners = ARRAY_INIT, + .inet_listeners = ARRAY_INIT, +}; + +const struct setting_keyvalue welcome_service_settings_defaults[] = { + { "unix_listener", "welcome" }, + + { "unix_listener/welcome/user", "vmail" }, + + { NULL, NULL } +};