Hello community, here is the log from the commit of package dovecot22 for openSUSE:Factory checked in at 2017-02-07 12:06:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dovecot22 (Old) and /work/SRC/openSUSE:Factory/.dovecot22.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dovecot22" Changes: -------- --- /work/SRC/openSUSE:Factory/dovecot22/dovecot22.changes 2016-12-13 19:34:40.579618363 +0100 +++ /work/SRC/openSUSE:Factory/.dovecot22.new/dovecot22.changes 2017-02-07 12:06:21.425093471 +0100 @@ -1,0 +2,6 @@ +Mon Feb 6 11:41:17 UTC 2017 - mrueck...@suse.de + +- added 79195413c349af7f9ce26871bf79c70af07ea7ce.patch: + backport patch from git to fix crashes when using FTS plugins + +------------------------------------------------------------------- New: ---- 79195413c349af7f9ce26871bf79c70af07ea7ce.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dovecot22.spec ++++++ --- /var/tmp/diff_new_pack.NkpnKk/_old 2017-02-07 12:06:22.296970115 +0100 +++ /var/tmp/diff_new_pack.NkpnKk/_new 2017-02-07 12:06:22.300969550 +0100 @@ -1,7 +1,7 @@ # # spec file for package dovecot22 # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -126,6 +126,7 @@ Source7: dovecot-2.2-pigeonhole.configfiles Patch: dovecot-2.2.18-dont_use_etc_ssl_certs.patch Patch1: dovecot-2.2.18-better_ssl_defaults.patch +Patch2: 79195413c349af7f9ce26871bf79c70af07ea7ce.patch Summary: IMAP and POP3 Server Written Primarily with Security in Mind License: BSD-3-Clause and LGPL-2.1+ and MIT Group: Productivity/Networking/Email/Servers @@ -305,6 +306,7 @@ %setup -q -n %{pkg_name}-%{dovecot_version} -a 1 %patch -p1 %patch1 -p1 +%patch2 -p1 %{__gzip} -9v ChangeLog # Fix plugins dir. %{__sed} -i 's|#mail_plugin_dir = /usr/lib/dovecot|mail_plugin_dir = %{_libdir}/dovecot/modules|' doc/example-config/conf.d/10-mail.conf ++++++ 79195413c349af7f9ce26871bf79c70af07ea7ce.patch ++++++ >From 79195413c349af7f9ce26871bf79c70af07ea7ce Mon Sep 17 00:00:00 2001 From: Aki Tuomi <aki.tu...@dovecot.fi> Date: Fri, 3 Feb 2017 14:22:02 +0200 Subject: [PATCH] fts: Use mailbox_list_created hook Otherwise the deinit hook might get lost and fts would not be deinitialized. Reverts 11f12ca1c97583b551a4286fa6cd1ab33aa67680 which seems to have been unnecessary Fixes indexer-worker signal 11 crash --- src/plugins/fts/fts-plugin.c | 2 +- src/plugins/fts/fts-storage.c | 29 +++++++++-------------------- src/plugins/fts/fts-storage.h | 3 +-- 3 files changed, 11 insertions(+), 23 deletions(-) diff --git a/src/plugins/fts/fts-plugin.c b/src/plugins/fts/fts-plugin.c index 2a4c216..287b049 100644 --- a/src/plugins/fts/fts-plugin.c +++ b/src/plugins/fts/fts-plugin.c @@ -13,7 +13,7 @@ const char *fts_plugin_version = DOVECOT_ABI_VERSION; static struct mail_storage_hooks fts_mail_storage_hooks = { - .mail_namespaces_added = fts_mail_namespaces_added, + .mailbox_list_created = fts_mailbox_list_created, .mailbox_allocated = fts_mailbox_allocated, .mail_allocated = fts_mail_allocated }; diff --git a/src/plugins/fts/fts-storage.c b/src/plugins/fts/fts-storage.c index 857f845..4d16871 100644 --- a/src/plugins/fts/fts-storage.c +++ b/src/plugins/fts/fts-storage.c @@ -830,13 +830,18 @@ static void fts_mailbox_list_deinit(struct mailbox_list *list) flist->module_ctx.super.deinit(list); } - - -static void -fts_mailbox_list_init(struct mailbox_list *list, const char *name) +void +fts_mailbox_list_created(struct mailbox_list *list) { struct fts_backend *backend; const char *path, *error; + const char *name = mail_user_plugin_getenv(list->ns->user, "fts"); + + if (name == NULL || name[0] == '\0') { + if (list->mail_set->mail_debug) + i_debug("fts: No fts setting - plugin disabled"); + return; + } if (!mailbox_list_get_root_path(list, MAILBOX_LIST_PATH_TYPE_INDEX, &path)) { if (list->mail_set->mail_debug) { @@ -865,22 +870,6 @@ fts_mailbox_list_init(struct mailbox_list *list, const char *name) } } -void fts_mail_namespaces_added(struct mail_namespace *namespaces) -{ - struct mail_namespace *ns; - const char *name; - - name = mail_user_plugin_getenv(namespaces->user, "fts"); - if (name == NULL || name[0] == '\0') { - if (namespaces->user->mail_debug) - i_debug("fts: No fts setting - plugin disabled"); - return; - } - - for (ns = namespaces; ns != NULL; ns = ns->next) - fts_mailbox_list_init(ns->list, name); -} - struct fts_backend *fts_mailbox_backend(struct mailbox *box) { struct fts_mailbox_list *flist = FTS_LIST_CONTEXT(box->list); diff --git a/src/plugins/fts/fts-storage.h b/src/plugins/fts/fts-storage.h index bfc9999..ed79880 100644 --- a/src/plugins/fts/fts-storage.h +++ b/src/plugins/fts/fts-storage.h @@ -53,6 +53,5 @@ struct fts_backend *fts_list_backend(struct mailbox_list *list); void fts_mail_allocated(struct mail *mail); void fts_mailbox_allocated(struct mailbox *box); -void fts_mail_namespaces_added(struct mail_namespace *namespaces); - +void fts_mailbox_list_created(struct mailbox_list *list); #endif