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.3.9~2370 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f5e35763912e29c420a6977a211ae215ece3a8ab;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 0b650aad6e..809e9e3dc7 100644 --- a/src/plugins/fts/fts-user.c +++ b/src/plugins/fts/fts-user.c @@ -296,6 +296,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; @@ -354,8 +355,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)