[IMAPx] Use extended LIST with Cyrus IMAP >= 2.5.11
In the past Cyrus IMAPD has not returned \Subscribed on extended LIST and EDS was tweaked not to use extended LIST with Cyrus IMAP.
Since Cyrus 2.5.11 and Cyrus 3.0 this is not anymore the case.
https://lists.andrew.cmu.edu/pipermail/cyrus-devel/2018-June/004279.html
https://github.com/cyrusimap/cyrus-imapd/issues/11
Please tweak Evolution Data Server to use again extended LIST when communicating with cyrus, possibly renaming is_cyrus in src/camel/providers/imapx/camel-imapx-server.c to is_cyrus2.
Samples
> telnet mail.aegee.org 143
> Trying 144.76.142.78...
> Connected to mail.aegee.org.
> Escape character is '^]'.
> * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS LOGINDISABLED] mail.aegee.org Cyrus IMAP 3.0.7-27-g0507ce576-dirty server ready
> telnet ns.festa.bg 143
> Trying 213.91.180.10...
> Connected to ns.festa.bg.
> Escape character is '^]'.
> * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=LOGIN AUTH=OTP SASL-IR] ns Cyrus IMAP v2.4.18 server ready
> telnet gate.gbo-ag.de 143
> Trying 46.243.87.168...
> Connected to rimbach.gbo-ag.de.
> Escape character is '^]'.
> * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE STARTTLS AUTH=PLAIN AUTH=LOGIN AUTH=CRAM-MD5 SASL-IR] servername Cyrus IMAP v2.4.16 server ready
> openssl s_client -connect trac.nic.uoregon.edu:993
> * OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=PLAIN SASL-IR] motion.nic.uoregon.edu Cyrus IMAP4 v2.3.7-Invoca-RPM-2.3.7-16.el5_11 server ready
The v
before the version was removed in https://github.com/cyrusimap/cyrus-imapd/commit/1d4c37 which is part of 3.0, but not on 2.5.
I guess the hack shall be disabled if the server returns
Cyrus IMAP 3 or Cyrus IMAP v2.5.x or Cyrus IMAP 2.5.x with x >= 11.
The v was, intentionally or not, used to distinguish between a released or development version, looking at the cited commit (compare the line @echo "#define _CYRUS_VERSION in the distgit and snapshot targets in Makefile.am).