WalterH
Das ist nicht richtig. Die 2 Themen (Taifun und dieses Thema) sind jedoch komplett getrennt voneinander. Im o.g. Fall liegt wohl tatsächlich ein Fehler bei der Headerverarbeitung vor. Wir denken, dass dieses Problem (RFC822.HEADER) jedoch bald gelöst ist.
Zu der genannten Aussage (und zu Thema Taifun vs. RFC3501 relevant):
Grommunio ist RFC3501 konform. Nach bisherigen Erkenntnissen und tiefergehenden Prüfungen ist RFC3501 in einem kritischen Punkt jedoch unerwartet "flexibel":
https://datatracker.ietf.org/doc/html/rfc3501#section-5.1 :
"Any character which is one of the atom-specials (see the Formal Syntax) will require that the mailbox name be represented as a quoted string or literal."
Betonung liegt bei or. Weiter:
"A literal is a sequence of zero or more octets (including CR and LF)"
literal = buchstäblich, "so wie es da steht". Das schließt von der Wörterbuchbedeutung schon aus, dass irgendeine Transformation/Quoting vorgenommen wird, denn dann wäre es ja nicht buchstäblich sondern im übertragenen Sinne. Das ist auch industrieweit so akzeptiert.
prefix-quoted with an octet count in the form of an open brace ("{"), the number of octets, close brace ("}"), and CRLF
=> Da in (IMAP-String-)Literalen kein Quoting gemacht wird, müssen sie zwangsläufig mit einem Runlength-Parameter versehen werden, damit man weiß, wann man das Literal endet und wieder interpretierwürdige Zeichen anfangen.
=> Daraus ergibt sich, dass "INBOX" als {5}\r\nINBOX zu emittieren ist, und genau das macht gromox-imap.
Sowohl Clients als auch Server können solche länge-geprefixte Literale senden, beide Seiten müssen sie praktisch jederzeit verstehen wenn ein String kommen darf.
In weiteren Tests haben wir festgestellt, dass dovecot im IMAP proxy mode die Literals von gromox-imap verstanden, verarbeitet und re-emittiert diese dovecottypisch dann als Atom bzw. Quoted String statt als Literal. Alle Varianten sind zulässig und gültig laut RFC.
Somit ist dies vollkommen zulässig (gromox-imap):
* LIST (\HasNoChildren) "/" {10}
Sent Items
* LIST (\HasNoChildren) "/" {13}
Deleted Items
* LIST (\HasNoChildren) "/" {11}
Junk E-mail
oder auch (dovecot)
* LIST (\HasNoChildren) "/" "Sent Items"
* LIST (\HasNoChildren) "/" "Deleted Items"
* LIST (\HasNoChildren) "/" "Junk E-mail"
Beide Varianten sind RFC3501-konform.
Hingegen scheint es, dass hier die ruby library (nach ersten Erkenntnissen) ausschließlich die quoted printable Variante erwartet, insofern scheint hier Zammad bzw. die dahinterliegende ruby Bibliothek nicht RC3501 konform zu sein. Dieses Ergebnis war für uns ebenfalls unerwartet.
Wir sind bisher auch vom Ergebnis der Untersuchung überrascht und wissen noch nicht genau, wie wir hier sinnvoll agieren sollen, denn nach aktuellem Stand der Erkenntnisse ist gromox-imap eben wohl zu 100% RFC3501 konform.