Problems with \Noselect folders in cyrus-imap 3.4
Michael Menge <[email protected]>
| Newsgroups | gmane.mail.imap.cyrus |
|---|---|
| Message-ID | <20240808155924.Horde.dtbtQM5ozafLf7qWqe-ROHa@webmail.uni-tuebingen.de> |
Hi all,
after upgrading from cyrus imap 3.0 to 3.4.9 (3.4.8-patched) we discovered
some problems unexpected behavior connected to \Noselect mailboxes
(where sub-folders are created without existing direct parent).
Cyrus 3.4.x prevents deleting the parent if there are still subfolders,
but does NOT prevent you from creating sub-folders without parents,
and does NOT fix existing dangling folders by creating the parent folder.
We are still in the process to debug the problems, but wanted to share
the information that we have found to help others with the same problems
and to get information from others.
1. The "\Noselect" folders are not shown in LIST imap command with wildcards
> 1 LIST "" "*"
> * LIST (\HasNoChildren) "/" INBOX
> * LIST (\HasNoChildren) "/" drafts
> * LIST (\HasNoChildren) "/" sent
> * LIST (\HasNoChildren) "/" trash
> 1 OK Completed (0.000 secs 4 calls)
> 2 CREATE bla/fasel
> 2 OK [MAILBOXID (b5f15320-b028-48d7-b04d-1795f67f48df)] Completed
> 3 LIST "" "*"
> * LIST (\HasNoChildren) "/" INBOX
> * LIST (\HasNoChildren) "/" bla/fasel
> * LIST (\HasNoChildren) "/" drafts
> * LIST (\HasNoChildren) "/" sent
> * LIST (\HasNoChildren) "/" trash
> 3 OK Completed (0.000 secs 6 calls)
> 4 LIST "" "bla*"
> * LIST (\HasNoChildren) "/" bla/fasel
> 4 OK Completed (0.000 secs 2 calls)
> 5 LIST "" "bla"
> * LIST (\Noselect \HasChildren) "/" bla
> 5 OK Completed (0.000 secs 2 calls)
> 6 CREATE bla
> 6 OK [MAILBOXID (8fc0b0d4-639a-4432-a75e-a30506f72576)] Completed
> 7 LIST "" "bla*"
> * LIST (\HasChildren) "/" bla
> * LIST (\HasNoChildren) "/" bla/fasel
> 7 OK Completed (0.000 secs 2 calls)
Cyrus-imapd 3.0.x did show these folders as "\Noselect"
2. mbexamine stops after hitting the \Noselect folder
and does not process later folders
> # mbexamine -C /etc/imapd_be.conf user/zrstes8* | grep -A2 -e Exami
> Examining user/zrstes8... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/bla...
After creating the folder bla mbexamine does examine all folders
> # mbexamine -C /etc/imapd_be.conf user/zrstes8* | grep -A2 -e Exami
> Examining user/zrstes8... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/bla... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8/bla
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/bla/fasel... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8/bla/fasel
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/drafts... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8/drafts
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/sent... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8/sent
> Mailbox ACL: zrstes8 lrswipkxtecda
> --
> Examining user/zrstes8/trash... Mailbox Header Info:
> Path to mailbox: /srv/cyrus-be/ssd-part/B/user/zrstes8/trash
> Mailbox ACL: zrstes8 lrswipkxtecda
3. SETMETADATA can lockup backend server
our procedere for deleting users did reset the special use METADATA with
'SETMETADATA "*" (/private/specialuse NIL)' (to mitigate
https://github.com/cyrusimap/cyrus-imapd/issues/2599)
this did lockup the backend server in 3 cases, and failed in some
other cases.
We do not know why the server did lockup in some cases and not in others.
But i suspect that a lock was placed on a cyrus database file and was not
released
4. We did try to create the missing mailboxes, but some were reserved
on the mupdate master.
I did try to clean up the reservations with "ctl_mboxlist -m -a"
as the man page for ctl_mboxlist
states that the "-m" option does synchronize the mailbox list. But
it does not work.
The mailboxes were still reserved. A have to manual DELETE the
reservation on the mupdate master,
which is a tedious task as I have not found an easy way to list
all reserved mailbox names, not
reserved by current user actions.
Kind Regards
Michael Menge
--------------------------------------------------------------------------------
Michael Menge Tel.: (49) 7071 / 29-70316
Universität Tübingen Fax.: (49) 7071 / 29-5912
Zentrum für Datenverarbeitung mail:
[email protected]
Wächterstraße 76
72074 Tübingen
------------------------------------------
Cyrus: Info
Permalink: https://cyrus.topicbox.com/groups/info/T72d2e03305c67431-Me32139d20eaf7f231986c21d
Delivery options: https://cyrus.topicbox.com/groups/info/subscription
smime.p7s
(application/pkcs7-signature, 6.5 KB) - not displayed