From a82875925ede6b374d4e7a21f9fb77e14d9261d2 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 3 Mar 2025 14:52:12 +0200 Subject: [PATCH] global: Add plugin_dependency for settings coming from plugins --- src/auth/db-ldap-settings.c | 9 +++++++++ src/auth/db-lua.c | 3 +++ src/lib-sql/driver-cassandra.c | 3 +++ src/lib-sql/driver-mysql.c | 3 +++ src/lib-sql/driver-pgsql.c | 3 +++ src/lib-sql/driver-sqlite.c | 3 +++ src/plugins/acl/acl-settings.c | 2 ++ src/plugins/apparmor/apparmor-plugin.c | 1 + src/plugins/charset-alias/charset-alias-plugin.c | 1 + src/plugins/fs-compress/fs-compress.c | 1 + src/plugins/fts-flatcurve/fts-flatcurve-settings.c | 1 + src/plugins/fts-solr/fts-solr-settings.c | 1 + src/plugins/fts/fts-settings.c | 1 + src/plugins/imap-acl/imap-acl-plugin.c | 1 + src/plugins/last-login/last-login-plugin.c | 1 + src/plugins/lazy-expunge/lazy-expunge-settings.c | 1 + src/plugins/mail-compress/mail-compress-plugin.c | 1 + src/plugins/mail-crypt/crypt-settings.c | 3 +++ src/plugins/mail-log/mail-log-plugin.c | 1 + src/plugins/mail-lua/mail-lua-settings.c | 1 + src/plugins/notify-status/notify-status-plugin.c | 1 + src/plugins/pop3-migration/pop3-migration-plugin.c | 1 + .../push-notification/push-notification-settings.c | 2 ++ src/plugins/quota-clone/quota-clone-settings.c | 1 + src/plugins/quota/quota-fs.c | 1 + src/plugins/quota/quota-imapc.c | 1 + src/plugins/quota/quota-settings.c | 2 ++ src/plugins/quota/quota-status-settings.c | 1 + src/plugins/quota/quota-status.c | 1 + src/plugins/trash/trash-plugin.c | 1 + src/plugins/virtual/virtual-settings.c | 1 + src/plugins/welcome/welcome-plugin.c | 1 + 32 files changed, 55 insertions(+) diff --git a/src/auth/db-ldap-settings.c b/src/auth/db-ldap-settings.c index dd19aaf70f..6c8feb334e 100644 --- a/src/auth/db-ldap-settings.c +++ b/src/auth/db-ldap-settings.c @@ -59,6 +59,9 @@ static const struct setting_keyvalue ldap_default_settings_keyvalue[] = { const struct setting_parser_info ldap_setting_parser_info = { .name = "auth_ldap", +#ifndef BUILTIN_LDAP + .plugin_dependency = "auth/libauthdb_ldap", +#endif .check_func = ldap_setting_check, .defines = ldap_setting_defines, @@ -95,6 +98,9 @@ static const struct ldap_pre_settings ldap_pre_default_settings = { const struct setting_parser_info ldap_pre_setting_parser_info = { .name = "auth_ldap_pre", +#ifndef BUILTIN_LDAP + .plugin_dependency = "auth/libauthdb_ldap", +#endif .defines = ldap_pre_setting_defines, .defaults = &ldap_pre_default_settings, @@ -118,6 +124,9 @@ static const struct ldap_post_settings ldap_post_default_settings = { const struct setting_parser_info ldap_post_setting_parser_info = { .name = "auth_ldap_post", +#ifndef BUILTIN_LDAP + .plugin_dependency = "auth/libauthdb_ldap", +#endif .defines = ldap_post_setting_defines, .defaults = &ldap_post_default_settings, diff --git a/src/auth/db-lua.c b/src/auth/db-lua.c index ce65b3fb49..c3c2e67396 100644 --- a/src/auth/db-lua.c +++ b/src/auth/db-lua.c @@ -56,6 +56,9 @@ static const struct setting_keyvalue auth_lua_default_settings_keyvalue[] = { const struct setting_parser_info auth_lua_setting_parser_info = { .name = "auth_lua", +#ifndef BUILTIN_LUA + .plugin_dependency = "auth/libauthdb_lua", +#endif .defines = auth_lua_setting_defines, .default_settings = auth_lua_default_settings_keyvalue, diff --git a/src/lib-sql/driver-cassandra.c b/src/lib-sql/driver-cassandra.c index 21284d6d62..f935e8a958 100644 --- a/src/lib-sql/driver-cassandra.c +++ b/src/lib-sql/driver-cassandra.c @@ -230,6 +230,9 @@ static struct cassandra_settings cassandra_default_settings = { const struct setting_parser_info cassandra_setting_parser_info = { .name = "cassandra", +#ifdef SQL_DRIVER_PLUGINS + .plugin_dependency = "libdriver_cassandra", +#endif .defines = cassandra_setting_defines, .defaults = &cassandra_default_settings, diff --git a/src/lib-sql/driver-mysql.c b/src/lib-sql/driver-mysql.c index d5057b3a27..d16131858e 100644 --- a/src/lib-sql/driver-mysql.c +++ b/src/lib-sql/driver-mysql.c @@ -109,6 +109,9 @@ static struct mysql_settings mysql_default_settings = { const struct setting_parser_info mysql_setting_parser_info = { .name = "mysql", +#ifdef SQL_DRIVER_PLUGINS + .plugin_dependency = "libdriver_mysql", +#endif .defines = mysql_setting_defines, .defaults = &mysql_default_settings, diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index 6c0c66de33..c6872589be 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -54,6 +54,9 @@ static const struct pgsql_settings pgsql_default_settings = { const struct setting_parser_info pgsql_setting_parser_info = { .name = "pgsql", +#ifdef SQL_DRIVER_PLUGINS + .plugin_dependency = "libdriver_pgsql", +#endif .defines = pgsql_setting_defines, .defaults = &pgsql_default_settings, diff --git a/src/lib-sql/driver-sqlite.c b/src/lib-sql/driver-sqlite.c index a3adc24320..282a83bbf4 100644 --- a/src/lib-sql/driver-sqlite.c +++ b/src/lib-sql/driver-sqlite.c @@ -69,6 +69,9 @@ static const struct sqlite_settings sqlite_default_settings = { }; const struct setting_parser_info sqlite_setting_parser_info = { .name = "sqlite", +#ifdef SQL_DRIVER_PLUGINS + .plugin_dependency = "libdriver_sqlite", +#endif .defines = sqlite_setting_defines, .defaults = &sqlite_default_settings, diff --git a/src/plugins/acl/acl-settings.c b/src/plugins/acl/acl-settings.c index 5e0ec86da6..a26500881d 100644 --- a/src/plugins/acl/acl-settings.c +++ b/src/plugins/acl/acl-settings.c @@ -28,6 +28,7 @@ static bool acl_rights_settings_check(void *_set, pool_t ATTR_UNUSED pool, const struct setting_parser_info acl_rights_setting_parser_info = { .name = "acl_rights", + .plugin_dependency = "lib01_acl_plugin", .defines = acl_rights_setting_defines, .defaults = &acl_rights_default_settings, @@ -79,6 +80,7 @@ static bool acl_settings_check(void *_set ATTR_UNUSED, pool_t pool ATTR_UNUSED, const struct setting_parser_info acl_setting_parser_info = { .name = "acl", + .plugin_dependency = "lib01_acl_plugin", .defines = acl_setting_defines, .defaults = &acl_default_settings, diff --git a/src/plugins/apparmor/apparmor-plugin.c b/src/plugins/apparmor/apparmor-plugin.c index 1e6447352f..18cf3bbb1a 100644 --- a/src/plugins/apparmor/apparmor-plugin.c +++ b/src/plugins/apparmor/apparmor-plugin.c @@ -47,6 +47,7 @@ static const struct apparmor_settings apparmor_default_settings = { const struct setting_parser_info apparmor_setting_parser_info = { .name = "apparmor", + .plugin_dependency = "lib01_apparmor_plugin", .defines = apparmor_setting_defines, .defaults = &apparmor_default_settings, diff --git a/src/plugins/charset-alias/charset-alias-plugin.c b/src/plugins/charset-alias/charset-alias-plugin.c index ec1299d8bb..83f0cb95ce 100644 --- a/src/plugins/charset-alias/charset-alias-plugin.c +++ b/src/plugins/charset-alias/charset-alias-plugin.c @@ -64,6 +64,7 @@ static const struct charset_alias_settings charset_alias_default_settings = { const struct setting_parser_info charset_alias_setting_parser_info = { .name = "charset_alias", + .plugin_dependency = "lib20_charset_alias_plugin", .defines = charset_alias_setting_defines, .defaults = &charset_alias_default_settings, diff --git a/src/plugins/fs-compress/fs-compress.c b/src/plugins/fs-compress/fs-compress.c index 50cb6af521..d132f23949 100644 --- a/src/plugins/fs-compress/fs-compress.c +++ b/src/plugins/fs-compress/fs-compress.c @@ -55,6 +55,7 @@ static const struct fs_compress_settings fs_compress_default_settings = { const struct setting_parser_info fs_compress_setting_parser_info = { .name = "fs_compress", + .plugin_dependency = "libfs_compress", .defines = fs_compress_setting_defines, .defaults = &fs_compress_default_settings, diff --git a/src/plugins/fts-flatcurve/fts-flatcurve-settings.c b/src/plugins/fts-flatcurve/fts-flatcurve-settings.c index 3ca04c7510..1bbe3e9741 100644 --- a/src/plugins/fts-flatcurve/fts-flatcurve-settings.c +++ b/src/plugins/fts-flatcurve/fts-flatcurve-settings.c @@ -32,6 +32,7 @@ static const struct fts_flatcurve_settings fts_flatcurve_default_settings = { const struct setting_parser_info fts_flatcurve_setting_parser_info = { .name = "fts_flatcurve", + .plugin_dependency = "lib21_fts_flatcurve_plugin", .defines = fts_flatcurve_setting_defines, .defaults = &fts_flatcurve_default_settings, diff --git a/src/plugins/fts-solr/fts-solr-settings.c b/src/plugins/fts-solr/fts-solr-settings.c index 43a2e6c0f7..48e51a4247 100644 --- a/src/plugins/fts-solr/fts-solr-settings.c +++ b/src/plugins/fts-solr/fts-solr-settings.c @@ -36,6 +36,7 @@ static const struct setting_keyvalue fts_solr_default_settings_keyvalue[] = { const struct setting_parser_info fts_solr_setting_parser_info = { .name = FTS_SOLR_FILTER, + .plugin_dependency = "lib21_fts_solr_plugin", .defines = fts_solr_setting_defines, .defaults = &fts_solr_default_settings, diff --git a/src/plugins/fts/fts-settings.c b/src/plugins/fts/fts-settings.c index 298581e58a..493af6a073 100644 --- a/src/plugins/fts/fts-settings.c +++ b/src/plugins/fts/fts-settings.c @@ -74,6 +74,7 @@ static const struct setting_keyvalue fts_default_settings_keyvalue[] = { const struct setting_parser_info fts_setting_parser_info = { .name = FTS_FILTER, + .plugin_dependency = "lib20_fts_plugin", .defines = fts_setting_defines, .defaults = &fts_default_settings, diff --git a/src/plugins/imap-acl/imap-acl-plugin.c b/src/plugins/imap-acl/imap-acl-plugin.c index f72fb9a9eb..df403d0d97 100644 --- a/src/plugins/imap-acl/imap-acl-plugin.c +++ b/src/plugins/imap-acl/imap-acl-plugin.c @@ -62,6 +62,7 @@ static struct imap_acl_settings imap_acl_default_settings = { const struct setting_parser_info imap_acl_setting_parser_info = { .name = "imap_acl", + .plugin_dependency = "lib02_imap_acl_plugin", .defines = imap_acl_setting_defines, .defaults = &imap_acl_default_settings, diff --git a/src/plugins/last-login/last-login-plugin.c b/src/plugins/last-login/last-login-plugin.c index bdb1dbf669..b5a93704bd 100644 --- a/src/plugins/last-login/last-login-plugin.c +++ b/src/plugins/last-login/last-login-plugin.c @@ -44,6 +44,7 @@ static const struct last_login_settings last_login_default_settings = { const struct setting_parser_info last_login_setting_parser_info = { .name = "last_login", + .plugin_dependency = "lib10_last_login_plugin", .defines = last_login_setting_defines, .defaults = &last_login_default_settings, diff --git a/src/plugins/lazy-expunge/lazy-expunge-settings.c b/src/plugins/lazy-expunge/lazy-expunge-settings.c index d0fed68ba5..7265ce2afb 100644 --- a/src/plugins/lazy-expunge/lazy-expunge-settings.c +++ b/src/plugins/lazy-expunge/lazy-expunge-settings.c @@ -22,6 +22,7 @@ static struct lazy_expunge_settings lazy_expunge_default_settings = { const struct setting_parser_info lazy_expunge_setting_parser_info = { .name = "lazy_expunge", + .plugin_dependency = "lib02_lazy_expunge_plugin", .defines = lazy_expunge_setting_defines, .defaults = &lazy_expunge_default_settings, diff --git a/src/plugins/mail-compress/mail-compress-plugin.c b/src/plugins/mail-compress/mail-compress-plugin.c index ccb2254a8b..34a509cef6 100644 --- a/src/plugins/mail-compress/mail-compress-plugin.c +++ b/src/plugins/mail-compress/mail-compress-plugin.c @@ -62,6 +62,7 @@ static struct mail_compress_settings mail_compress_default_settings = { const struct setting_parser_info mail_compress_setting_parser_info = { .name = "mail_compress", + .plugin_dependency = "lib20_mail_compress_plugin", .defines = mail_compress_setting_defines, .defaults = &mail_compress_default_settings, diff --git a/src/plugins/mail-crypt/crypt-settings.c b/src/plugins/mail-crypt/crypt-settings.c index fc5c93eb6e..bd9ad5aeb6 100644 --- a/src/plugins/mail-crypt/crypt-settings.c +++ b/src/plugins/mail-crypt/crypt-settings.c @@ -23,6 +23,7 @@ static const struct crypt_private_key_settings crypt_private_key_default_setting const struct setting_parser_info crypt_private_key_setting_parser_info = { .name = "crypt_private_key", + .plugin_dependency = "lib10_mail_crypt_plugin", .defines = crypt_private_key_setting_defines, .defaults = &crypt_private_key_default_settings, @@ -70,6 +71,7 @@ static const struct crypt_settings crypt_default_settings = { const struct setting_parser_info crypt_setting_parser_info = { .name = "crypt", + .plugin_dependency = "lib10_mail_crypt_plugin", .defines = crypt_setting_defines, .defaults = &crypt_default_settings, @@ -93,6 +95,7 @@ static const struct crypt_acl_settings crypt_acl_default_settings = { const struct setting_parser_info crypt_acl_setting_parser_info = { .name = "crypt_acl", + .plugin_dependency = "lib05_mail_crypt_acl_plugin", .defines = crypt_acl_setting_defines, .defaults = &crypt_acl_default_settings, diff --git a/src/plugins/mail-log/mail-log-plugin.c b/src/plugins/mail-log/mail-log-plugin.c index 75b3ea1190..634f12a9bc 100644 --- a/src/plugins/mail-log/mail-log-plugin.c +++ b/src/plugins/mail-log/mail-log-plugin.c @@ -133,6 +133,7 @@ static bool mail_log_settings_check(void *_set, pool_t pool, const char **error_ const struct setting_parser_info mail_log_setting_parser_info = { .name = "mail_log", + .plugin_dependency = "lib20_mail_log_plugin", .defines = mail_log_setting_defines, .defaults = &mail_log_default_settings, diff --git a/src/plugins/mail-lua/mail-lua-settings.c b/src/plugins/mail-lua/mail-lua-settings.c index 338627e9c5..51b8ba7839 100644 --- a/src/plugins/mail-lua/mail-lua-settings.c +++ b/src/plugins/mail-lua/mail-lua-settings.c @@ -15,6 +15,7 @@ static const struct mail_lua_settings mail_lua_default_settings = { const struct setting_parser_info mail_lua_setting_parser_info = { .name = "mail_lua", + .plugin_dependency = "lib01_mail_lua_plugin", .defines = mail_lua_setting_defines, .defaults = &mail_lua_default_settings, diff --git a/src/plugins/notify-status/notify-status-plugin.c b/src/plugins/notify-status/notify-status-plugin.c index 1c58a27902..adb26624f1 100644 --- a/src/plugins/notify-status/notify-status-plugin.c +++ b/src/plugins/notify-status/notify-status-plugin.c @@ -56,6 +56,7 @@ static const struct notify_status_plugin_settings notify_status_plugin_default_s const struct setting_parser_info notify_status_plugin_setting_parser_info = { .name = "notify_status", + .plugin_dependency = "lib20_notify_status_plugin", .defines = notify_status_plugin_setting_defines, .defaults = ¬ify_status_plugin_default_settings, diff --git a/src/plugins/pop3-migration/pop3-migration-plugin.c b/src/plugins/pop3-migration/pop3-migration-plugin.c index fb3f90a703..498d354204 100644 --- a/src/plugins/pop3-migration/pop3-migration-plugin.c +++ b/src/plugins/pop3-migration/pop3-migration-plugin.c @@ -110,6 +110,7 @@ static const struct pop3_migration_settings pop3_migration_default_settings = { const struct setting_parser_info pop3_migration_setting_parser_info = { .name = "pop3_migration", + .plugin_dependency = "lib05_pop3_migration_plugin", .defines = pop3_migration_setting_defines, .defaults = &pop3_migration_default_settings, diff --git a/src/plugins/push-notification/push-notification-settings.c b/src/plugins/push-notification/push-notification-settings.c index 54d6752175..11d89474b5 100644 --- a/src/plugins/push-notification/push-notification-settings.c +++ b/src/plugins/push-notification/push-notification-settings.c @@ -38,6 +38,7 @@ static const struct push_notification_ox_settings push_notification_ox_default_s const struct setting_parser_info push_notification_ox_setting_parser_info = { .name = "push_notification_ox", + .plugin_dependency = "lib20_push_notification_plugin", .defines = push_notification_ox_setting_defines, .defaults = &push_notification_ox_default_settings, @@ -72,6 +73,7 @@ static const struct push_notification_settings push_notification_default_setting const struct setting_parser_info push_notification_setting_parser_info = { .name = "push_notification", + .plugin_dependency = "lib20_push_notification_plugin", .defines = push_notification_setting_defines, .defaults = &push_notification_default_settings, diff --git a/src/plugins/quota-clone/quota-clone-settings.c b/src/plugins/quota-clone/quota-clone-settings.c index dac2e5435c..43217bb248 100644 --- a/src/plugins/quota-clone/quota-clone-settings.c +++ b/src/plugins/quota-clone/quota-clone-settings.c @@ -23,6 +23,7 @@ static const struct quota_clone_settings quota_clone_default_settings = { const struct setting_parser_info quota_clone_setting_parser_info = { .name = "quota_clone", + .plugin_dependency = "lib20_quota_clone_plugin", .defines = quota_clone_setting_defines, .defaults = "a_clone_default_settings, .struct_size = sizeof(struct quota_clone_settings), diff --git a/src/plugins/quota/quota-fs.c b/src/plugins/quota/quota-fs.c index c5fe869f81..040acdc0e2 100644 --- a/src/plugins/quota/quota-fs.c +++ b/src/plugins/quota/quota-fs.c @@ -124,6 +124,7 @@ static const struct quota_fs_settings quota_fs_default_settings = { const struct setting_parser_info quota_fs_setting_parser_info = { .name = "quota_fs", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_fs_setting_defines, .defaults = "a_fs_default_settings, .struct_size = sizeof(struct quota_fs_settings), diff --git a/src/plugins/quota/quota-imapc.c b/src/plugins/quota/quota-imapc.c index 4b650e69cb..056df19f71 100644 --- a/src/plugins/quota/quota-imapc.c +++ b/src/plugins/quota/quota-imapc.c @@ -69,6 +69,7 @@ static const struct setting_keyvalue quota_imapc_default_settings_keyvalue[] = { }; const struct setting_parser_info quota_imapc_setting_parser_info = { .name = "quota_imapc", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_imapc_setting_defines, .defaults = "a_imapc_default_settings, .default_settings = quota_imapc_default_settings_keyvalue, diff --git a/src/plugins/quota/quota-settings.c b/src/plugins/quota/quota-settings.c index 3571f07112..0760c6f00f 100644 --- a/src/plugins/quota/quota-settings.c +++ b/src/plugins/quota/quota-settings.c @@ -37,6 +37,7 @@ static const struct quota_settings quota_default_settings = { const struct setting_parser_info quota_setting_parser_info = { .name = "quota", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_setting_defines, .defaults = "a_default_settings, .struct_size = sizeof(struct quota_settings), @@ -107,6 +108,7 @@ static const struct quota_root_settings quota_root_default_settings = { const struct setting_parser_info quota_root_setting_parser_info = { .name = "quota_root", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_root_setting_defines, .defaults = "a_root_default_settings, .struct_size = sizeof(struct quota_root_settings), diff --git a/src/plugins/quota/quota-status-settings.c b/src/plugins/quota/quota-status-settings.c index 6820df3ed1..8371757f96 100644 --- a/src/plugins/quota/quota-status-settings.c +++ b/src/plugins/quota/quota-status-settings.c @@ -24,6 +24,7 @@ static const struct quota_status_settings quota_status_default_settings = { const struct setting_parser_info quota_status_setting_parser_info = { .name = "quota_status", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_status_setting_defines, .defaults = "a_status_default_settings, diff --git a/src/plugins/quota/quota-status.c b/src/plugins/quota/quota-status.c index b5b25bdc73..860555421c 100644 --- a/src/plugins/quota/quota-status.c +++ b/src/plugins/quota/quota-status.c @@ -62,6 +62,7 @@ static const struct quota_status_result_settings quota_status_result_default_set const struct setting_parser_info quota_status_result_setting_parser_info = { .name = "quota_status_result", + .plugin_dependency = "lib10_quota_plugin", .defines = quota_status_result_setting_defines, .defaults = "a_status_result_default_settings, .struct_size = sizeof(struct quota_status_result_settings), diff --git a/src/plugins/trash/trash-plugin.c b/src/plugins/trash/trash-plugin.c index 6f6b0055bb..827ba91ec5 100644 --- a/src/plugins/trash/trash-plugin.c +++ b/src/plugins/trash/trash-plugin.c @@ -87,6 +87,7 @@ static const struct trash_settings trash_default_settings = { const struct setting_parser_info trash_setting_parser_info = { .name = "trash", + .plugin_dependency = "lib11_trash_plugin", .defines = trash_setting_defines, .defaults = &trash_default_settings, diff --git a/src/plugins/virtual/virtual-settings.c b/src/plugins/virtual/virtual-settings.c index 5d5605bf15..607f21af39 100644 --- a/src/plugins/virtual/virtual-settings.c +++ b/src/plugins/virtual/virtual-settings.c @@ -26,6 +26,7 @@ static const struct setting_keyvalue virtual_default_settings_keyvalue[] = { const struct setting_parser_info virtual_setting_parser_info = { .name = "virtual", + .plugin_dependency = "lib20_virtual_plugin", .defines = virtual_setting_defines, .defaults = &virtual_default_settings, diff --git a/src/plugins/welcome/welcome-plugin.c b/src/plugins/welcome/welcome-plugin.c index d01e7d5008..0429f2e9f5 100644 --- a/src/plugins/welcome/welcome-plugin.c +++ b/src/plugins/welcome/welcome-plugin.c @@ -48,6 +48,7 @@ static const struct welcome_settings welcome_default_settings = { }; const struct setting_parser_info welcome_setting_parser_info = { .name = "welcome", + .plugin_dependency = "lib99_welcome_plugin", .defines = welcome_setting_defines, .defaults = &welcome_default_settings, .struct_size = sizeof(struct welcome_settings), -- 2.47.3