]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fts: Change fts_search_timeout=0 to be an error, not infinite
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Fri, 29 Nov 2024 09:17:53 +0000 (11:17 +0200)
committerAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 17 Jan 2025 08:40:01 +0000 (10:40 +0200)
src/plugins/fts/fts-indexer.c
src/plugins/fts/fts-settings.c

index 9f3ad2f32bd2ce6a301876d302dd777f75d045af..fc6c405648857551a544ac6a36e1d68110f17ea8 100644 (file)
@@ -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);
index 106e9c5ee503e82d76f88dba434d1a9d6f6d5efe..298581e58ad12686abe09db49b41afb06bdeb34e 100644 (file)
@@ -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;