Cyrus 3.0.1 behebt fiesen 3.0.0er Bug

Neben kleineren Bugs behebt der vor zwei Tagen veröffentlichte Cyrus 3.0.1 einen kuriosen Fehler der 3.0.0er Version, der Mailboxen mit Punkt(en) im Namen quasi zu Write-Only-Devices degradiert. Ein Update auf 3.0.1 dürfte für die meisten 3.0.0er Installationen erforderlich sein.

Zur Demonstration setzen wir unixhierarchysep auf yes — Default in Cyrus 3.0 und die Voraussetzung dafür, dass Mailbox-Namen überhaupt Punkte enthalten können — und legen mittels cyradm die Mailbox pop.3.0.0 sowie deren Unterordner Sent und Sent/2017 an.

Während sich der Admin wie üblich von der Existenz der neuen Mailboxen und der per Default vergebenen ACL überzeugen kann:

localhost> lam user/pop.3.0.0*
user/pop.3.0.0:
  pop.3.0.0 lrswipkxtecdan
user/pop.3.0.0/Sent:
  pop.3.0.0 lrswipkxtecdan
user/pop.3.0.0/Sent/2017:
  pop.3.0.0 lrswipkxtecda
. LOGIN admin xxx
. OK [CAPABILITY ...]
. LIST "" "*pop*"
* LIST (\HasChildren) "/" user/pop.3.0.0
* LIST (\HasChildren) "/" user/pop.3.0.0/Sent
* LIST (\HasNoChildren) "/" user/pop.3.0.0/Sent/2017
. OK Completed (0.000 secs 3 calls)

wird sie dem erfolgreich angemeldeten Benutzer nicht angezeigt. Sofern er seine Ordner kennt, kann er sie durchaus administrieren, z. B. Ordner anlegen, löschen oder Mails lesen, löschen, beantworten, verschieben etc.

. LOGIN pop.3.0.0 test123
. OK [CAPABILITY ...] unknown-unkown-RPM-3.0.0-1.elx server ready
. LIST "" "*"
. OK Completed (0.000 secs)
. SELECT Sent/2017
* [...]
. OK [READ-WRITE] Complete

Cyrus 3.0.1 korrigiert das Phänomen:

. LOGIN pop.3.0.0 test123
. OK [CAPABILITY ...] unknown-unknown-RPM-3.0.1-1.elx server ready
. LIST "" "*"
* LIST (\HasNoChildren) "/" INBOX
* LIST (\HasChildren) "/" Sent
* LIST (\HasNoChildren) "/" Sent/2017
. OK Completed (0.000 secs 3 calls)
. SELECT Sent/2017
* [...]
. OK [READ-WRITE] Completed

Referenzen:

1. http://www.cyrusimap.org/imap/download/release-notes/3.0/x/3.0.1.html

2. https://github.com/cyrusimap/cyrus-imapd/issues/1875