6.0.0-beta1
7/6/25

[#11285] Kolab storage: Multiple ".default" folder types lead to crash
Summary Kolab storage: Multiple ".default" folder types lead to crash
Queue Horde Framework Packages
Queue Version Git develop
Type Enhancement
State Resolved
Priority 1. Low
Owners wrobel (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 07/19/2012 (4735 days ago)
Due
Updated 10/15/2012 (4647 days ago)
Assigned 08/21/2012 (4702 days ago)
Resolved 09/01/2012 (4691 days ago)
Milestone
Patch No

History
10/15/2012 08:36:29 PM Git Commit Comment #10 Reply to this comment
Changes have been made in Git (develop):

commit f048df0e3dd927b2965f42bf575421c0deab81dd
Author: Gunnar Wrobel <p@rdus.de>
Date:   Sun Sep 2 01:09:04 2012 +0200

     Add all required hooks to handle Kolab default folders (Bug #11285).

  bundles/kolab_webmail/kronolith/config/hooks.php   |   59 
++++++++++++++++++++
  .../kronolith/config/prefs.d/20-kolab.php          |    2 +
  bundles/kolab_webmail/mnemo/config/hooks.php       |   10 ++-
  .../mnemo/config/prefs.d/20-kolab.php              |    2 +
  bundles/kolab_webmail/nag/config/hooks.php         |   59 
++++++++++++++++++++
  .../kolab_webmail/nag/config/prefs.d/20-kolab.php  |    2 +
  bundles/kolab_webmail/turba/config/hooks.php       |   59 
++++++++++++++++++++
  .../turba/config/prefs.d/20-kolab.php              |    2 +
  8 files changed, 191 insertions(+), 4 deletions(-)

http://git.horde.org/horde-git/-/commit/f048df0e3dd927b2965f42bf575421c0deab81dd
10/15/2012 08:36:24 PM Git Commit Comment #9 Reply to this comment
Changes have been made in Git (develop):

commit 34e0702bf8683892900e71e28187586739c8740f
Author: Gunnar Wrobel <p@rdus.de>
Date:   Sat Sep 1 23:49:51 2012 +0200

     Notify in case of a duplicate default (Bug #11285).

  bundles/kolab_webmail/mnemo/config/hooks.php |   15 +++++++++++++--
  1 files changed, 13 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/34e0702bf8683892900e71e28187586739c8740f
09/01/2012 11:19:28 PM Gunnar Wrobel Comment #8
State ⇒ Resolved
Reply to this comment
Should be done. Ready for retesting.
09/01/2012 11:18:22 PM Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit f048df0e3dd927b2965f42bf575421c0deab81dd
Author: Gunnar Wrobel <p@rdus.de>
Date:   Sun Sep 2 01:09:04 2012 +0200

     Add all required hooks to handle Kolab default folders (Bug #11285).

  bundles/kolab_webmail/kronolith/config/hooks.php   |   59 
++++++++++++++++++++
  .../kronolith/config/prefs.d/20-kolab.php          |    2 +
  bundles/kolab_webmail/mnemo/config/hooks.php       |   10 ++-
  .../mnemo/config/prefs.d/20-kolab.php              |    2 +
  bundles/kolab_webmail/nag/config/hooks.php         |   59 
++++++++++++++++++++
  .../kolab_webmail/nag/config/prefs.d/20-kolab.php  |    2 +
  bundles/kolab_webmail/turba/config/hooks.php       |   59 
++++++++++++++++++++
  .../turba/config/prefs.d/20-kolab.php              |    2 +
  8 files changed, 191 insertions(+), 4 deletions(-)

http://git.horde.org/horde-git/-/commit/f048df0e3dd927b2965f42bf575421c0deab81dd
09/01/2012 11:18:16 PM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit 34e0702bf8683892900e71e28187586739c8740f
Author: Gunnar Wrobel <p@rdus.de>
Date:   Sat Sep 1 23:49:51 2012 +0200

     Notify in case of a duplicate default (Bug #11285).

  bundles/kolab_webmail/mnemo/config/hooks.php |   15 +++++++++++++--
  1 files changed, 13 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/34e0702bf8683892900e71e28187586739c8740f
08/29/2012 12:50:15 PM Git Commit Comment #5 Reply to this comment
Changes have been made in Git (master):

commit 97738dc9b600f63e28c8224ae2c0205581ff39de
Author: Gunnar Wrobel <p@rdus.de>
Date:   Tue Aug 28 19:49:41 2012 +0200

     Add two different strategies for dealing with double default 
folders (bail and log, Bug #11285)

  .../Kolab/Storage/List/Query/List/Defaults.php     |  119 
++++++++++++++++++++
  .../Storage/List/Query/List/Defaults/Bail.php      |   51 +++++++++
  .../Kolab/Storage/List/Query/List/Defaults/Log.php |   68 +++++++++++
  .../Storage/Unit/List/Query/List/DefaultsTest.php  |  105 +++++++++++++++++
  4 files changed, 343 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/97738dc9b600f63e28c8224ae2c0205581ff39de
08/28/2012 08:25:53 PM Git Commit Comment #4 Reply to this comment
Changes have been made in Git (develop):

commit 97738dc9b600f63e28c8224ae2c0205581ff39de
Author: Gunnar Wrobel <p@rdus.de>
Date:   Tue Aug 28 19:49:41 2012 +0200

     Add two different strategies for dealing with double default 
folders (bail and log, Bug #11285)

  .../Kolab/Storage/List/Query/List/Defaults.php     |  119 
++++++++++++++++++++
  .../Storage/List/Query/List/Defaults/Bail.php      |   51 +++++++++
  .../Kolab/Storage/List/Query/List/Defaults/Log.php |   68 +++++++++++
  .../Storage/Unit/List/Query/List/DefaultsTest.php  |  105 +++++++++++++++++
  4 files changed, 343 insertions(+), 0 deletions(-)

http://git.horde.org/horde-git/-/commit/97738dc9b600f63e28c8224ae2c0205581ff39de
08/21/2012 09:16:28 AM Gunnar Wrobel Comment #3 Reply to this comment
Switching that to logging should not be a problem. Providing a 
notification should be possible within a Kolab specific "default 
folder hook". The latter is missing anyhow - meaning that the 
information of default folders is currently not respected by the 
groupware applications.
08/21/2012 08:20:44 AM Gunnar Wrobel Comment #2
Assigned to Gunnar Wrobel
State ⇒ Assigned
Reply to this comment
Trying to establish a fix for this as well.
07/19/2012 03:29:19 PM Thomas Jarosch Comment #1
State ⇒ New
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Kolab storage: Multiple ".default" folder types lead to crash
Type ⇒ Enhancement
Priority ⇒ 1. Low
Reply to this comment
Hi,

Kolab uses IMAP annotations to specify the content of a folder. It's 
stored in the "folder-type" annotation. This folder type can be 
"event, task" and others.

There can also be a suffix of ".default", which indicates this should 
be the default folder for this content type.

Right now Horde dies with a "fatal error" if there are two or more 
folders with the ".default" annotation. If this error is on a folder 
shared to all users, Horde will no longer work for all users.

The exception looks like this:
2012-07-19T16:59:39+02:00 ERR: HORDE [mnemo] Both folders 
user/groupware/Kalender and user/groupware/Kalender/IGC-Kalender are 
marked as default folder of type event! [pid 24440 on line 366 of 
"/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/List/Cache.php"]
2012-07-19T16:59:39+02:00 EMERG: HORDE [horde] exception 
'Horde_Kolab_Storage_Exception' with message 'Both folders 
user/groupware/Kalender and user/groupware/Kalender/IGC-Kalender are 
marked as default folder of type event!' in 
/datastore/DEVEL/horde/framework/Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/List/Cache.php:366

The same check is in 
Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/List/Cache.php and 
Kolab_Storage/lib/Horde/Kolab/Storage/List/Query/List/Base.php.

-> It would be much better to present one of those fancy popup error 
messages. The user can continue to work and the admin still gets 
notified to fix this.

Thomas

Saved Queries