From: Timo Sirainen Date: Fri, 29 Nov 2024 09:17:53 +0000 (+0200) Subject: fts: Change fts_search_timeout=0 to be an error, not infinite X-Git-Tag: 2.4.0~175 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=16a5226e66e20c32780d49894b30a208cab292e9;p=thirdparty%2Fdovecot%2Fcore.git fts: Change fts_search_timeout=0 to be an error, not infinite --- diff --git a/src/plugins/fts/fts-indexer.c b/src/plugins/fts/fts-indexer.c index 9f3ad2f32b..fc6c405648 100644 --- a/src/plugins/fts/fts-indexer.c +++ b/src/plugins/fts/fts-indexer.c @@ -9,6 +9,7 @@ #include "strescape.h" #include "time-util.h" #include "str-parse.h" +#include "settings-parser.h" #include "mail-user.h" #include "mail-storage-private.h" #include "fts-api.h" @@ -280,7 +281,9 @@ int fts_indexer_init(struct fts_backend *backend, struct mailbox *box, ctx->ioloop = io_loop_create(); ctx->connection_list = connection_list_init(&indexer_client_set, &indexer_client_vfuncs); - ctx->conn.input_idle_timeout_secs = fset->search_timeout; + ctx->conn.input_idle_timeout_secs = + fset->search_timeout == SET_TIME_INFINITE ? 0 : + fset->search_timeout; connection_init_client_unix(ctx->connection_list, &ctx->conn, path); ret = connection_client_connect(&ctx->conn); diff --git a/src/plugins/fts/fts-settings.c b/src/plugins/fts/fts-settings.c index 106e9c5ee5..298581e58a 100644 --- a/src/plugins/fts/fts-settings.c +++ b/src/plugins/fts/fts-settings.c @@ -146,6 +146,11 @@ static bool fts_settings_check(void *_set, pool_t pool ATTR_UNUSED, const char **error_r) { struct fts_settings *set = _set; + + if (set->search_timeout == 0) { + *error_r = "fts_search_timeout must not be 0"; + return FALSE; + } set->parsed_search_add_missing_body_only = strcmp(set->search_add_missing, FTS_SEARCH_ADD_MISSING_BODY_SEARCH_ONLY) == 0;