From: Timo Sirainen Date: Mon, 5 Feb 2018 21:54:33 +0000 (+0200) Subject: fts: Fix searching headers with TEXT/BODY X-Git-Tag: 2.2.35~97 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6eb122cd6aeab8027367b4e657963a0e2b60c18e;p=thirdparty%2Fdovecot%2Fcore.git fts: Fix searching headers with TEXT/BODY TEXT is searching headers and BODY is searching MIME headers. Those headers were indexed with data language, so search must also include data language when looking up words. We'll just include the data language for all searches now, so it should always work correctly. --- diff --git a/src/plugins/fts/fts-user.c b/src/plugins/fts/fts-user.c index 71da3cefaf..e2be286ebb 100644 --- a/src/plugins/fts/fts-user.c +++ b/src/plugins/fts/fts-user.c @@ -295,6 +295,7 @@ fts_user_init_data_language(struct mail_user *user, struct fts_user *fuser, p_array_init(&fuser->data_languages, user->pool, 1); array_append(&fuser->data_languages, &user_lang, 1); + array_append(&fuser->languages, &user_lang, 1); fuser->data_lang = user_lang; return 0; @@ -349,8 +350,6 @@ static void fts_user_free(struct fts_user *fuser) array_foreach(&fuser->languages, user_langp) fts_user_language_free(*user_langp); - if (fuser->data_lang != NULL) - fts_user_language_free(fuser->data_lang); } int fts_mail_user_init(struct mail_user *user, const char **error_r)