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

Reply via email to