From: Timo Sirainen Date: Fri, 28 Feb 2025 09:22:54 +0000 (+0200) Subject: *-login: For Pro edition, default to "high performance mode" X-Git-Tag: 2.4.1~99 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ec12598a5f337eb62a0fddda99de1dffb5e13524;p=thirdparty%2Fdovecot%2Fcore.git *-login: For Pro edition, default to "high performance mode" --- diff --git a/src/imap-login/imap-login-settings.c b/src/imap-login/imap-login-settings.c index ba4e2dc3fd..f4e0c49d7b 100644 --- a/src/imap-login/imap-login-settings.c +++ b/src/imap-login/imap-login-settings.c @@ -20,7 +20,9 @@ struct service_settings imap_login_service_settings = { .drop_priv_before_exec = FALSE, +#ifndef DOVECOT_PRO_EDITION .restart_request_count = 1, +#endif .unix_listeners = ARRAY_INIT, .fifo_listeners = ARRAY_INIT, @@ -80,6 +82,10 @@ static const struct setting_keyvalue imap_login_default_settings_keyvalue[] = { { "service/imap-login/imap_capability/LITERAL+", "yes" }, { "service/imap-login/imap_capability/LITERAL-", "yes" }, { "imap_id_send/name", DOVECOT_NAME }, +#ifdef DOVECOT_PRO_EDITION + { "service/imap-login/service_process_limit", "%{system:cpu_count}" }, + { "service/imap-login/service_process_min_avail", "%{system:cpu_count}" }, +#endif { NULL, NULL }, }; diff --git a/src/pop3-login/pop3-login-settings.c b/src/pop3-login/pop3-login-settings.c index 8ecf742d60..a4e1bdd547 100644 --- a/src/pop3-login/pop3-login-settings.c +++ b/src/pop3-login/pop3-login-settings.c @@ -20,7 +20,9 @@ struct service_settings pop3_login_service_settings = { .drop_priv_before_exec = FALSE, +#ifndef DOVECOT_PRO_EDITION .restart_request_count = 1, +#endif .unix_listeners = ARRAY_INIT, .fifo_listeners = ARRAY_INIT, @@ -46,6 +48,14 @@ const struct setting_keyvalue pop3_login_service_settings_defaults[] = { { NULL, NULL } }; +static const struct setting_keyvalue pop3_login_default_settings_keyvalue[] = { +#ifdef DOVECOT_PRO_EDITION + { "service/pop3-login/service_process_limit", "%{system:cpu_count}" }, + { "service/pop3-login/service_process_min_avail", "%{system:cpu_count}" }, +#endif + { NULL, NULL }, +}; + static const struct setting_define pop3_login_setting_defines[] = { SETTING_DEFINE_LIST_END }; @@ -54,4 +64,5 @@ const struct setting_parser_info pop3_login_setting_parser_info = { .name = "pop3_login", .defines = pop3_login_setting_defines, + .default_settings = pop3_login_default_settings_keyvalue, }; diff --git a/src/submission-login/submission-login-settings.c b/src/submission-login/submission-login-settings.c index a8b883dc3a..767fd6b137 100644 --- a/src/submission-login/submission-login-settings.c +++ b/src/submission-login/submission-login-settings.c @@ -24,7 +24,9 @@ struct service_settings submission_login_service_settings = { .drop_priv_before_exec = FALSE, +#ifndef DOVECOT_PRO_EDITION .restart_request_count = 1, +#endif .unix_listeners = ARRAY_INIT, .fifo_listeners = ARRAY_INIT, @@ -74,11 +76,20 @@ static const struct submission_login_settings submission_login_default_settings .submission_backend_capabilities = ARRAY_INIT, }; +static const struct setting_keyvalue submission_login_default_settings_keyvalue[] = { +#ifdef DOVECOT_PRO_EDITION + { "service/submission-login/service_process_limit", "%{system:cpu_count}" }, + { "service/submission-login/service_process_min_avail", "%{system:cpu_count}" }, +#endif + { NULL, NULL }, +}; + const struct setting_parser_info submission_login_setting_parser_info = { .name = "submission_login", .defines = submission_login_setting_defines, .defaults = &submission_login_default_settings, + .default_settings = submission_login_default_settings_keyvalue, .struct_size = sizeof(struct submission_login_settings), .pool_offset1 = 1 + offsetof(struct submission_login_settings, pool),