imap/2435: capability needs to be rechecked after login
>Number: 2435
>Notify-List: deckrider@xxxxxxxxx
>Category: imap
>Synopsis: capability needs to be rechecked after login
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: mutt-dev
>State: open
>Keywords:
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Aug 22 05:36:37 +0200 2006
>Originator: David Everly
>Release: 1.5.13
>Organization:
I've also opened a debian bug report:
http://bugs.debian.org/384076
>Environment:
Debian Release: 3.1
Architecture: i386 (i686)
Kernel: Linux 2.6.16-2-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
>Description:
Running mutt against Mirapoint IMAP4PROXY 3.5.8-GR server, the server gives the
following capabilities before login:
CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
However, after login if mutt would check, the following capabilities would be
returned instead:
CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS
NAMESPACE LITERAL+ UIDPLUS CHILDREN
Note that ACL is no longer in the list after login.
It seems to be within the spirit of the rfcs, to recheck after login...here is
a small patch to mutt 1.5.13 that will re-ask the capabilities after
authentication.
>How-To-Repeat:
Here is the debug output before applying the attached patch. Note that the
server doesn't know about MYRIGHTS. Mutt would know this and not ask, if it
had re-checked capabilities after login:
Connected to imap.mcilink.com:143 on fd=4
4< * OK Mirapoint IMAP4PROXY 3.5.8-GR server ready
IMAP queue drained
4> a0000 CAPABILITY^M
4< * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
Handling CAPABILITY
4< a0000 OK Completed
IMAP queue drained
imap_authenticate: Using any available method.
local ip: 166.34.132.36;41513, remote ip:166.38.62.50;143
SASL: No worthy mechs found
imap_auth_sasl: IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS
unavailableSending LOGIN command for c-david.everly@xxxxxxxxxx
4< a0001 OK LOGIN completed.
IMAP queue drained
4> a0002 LIST "" ""^M
4< * LIST (\Noselect) "/" ""
Root delimiter: /
4< a0002 OK LIST completed.
IMAP queue drained
4> a0003 MYRIGHTS "INBOX"^M
a0004 STATUS "INBOX.Drafts" (MESSAGES)^M
a0005 SELECT "INBOX"^M
4< a0003 BAD Protocol Error: "Unidentifiable command specified".
>Fix:
Apply the patch.
>Add-To-Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/x-patch; name="mutt-imap.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="mutt-imap.patch"
LS0tIGltYXAvaW1hcC5jCTIwMDYtMDgtMjEgMTU6MzA6MjYuMDAwMDAwMDAwIC0wNjAwCisrKyBp
bWFwL2ltYXAuYwkyMDA2LTA4LTIxIDE1OjMyOjAzLjAwMDAwMDAwMCAtMDYwMApAQCAtMzc2LDYg
KzM3Niw3IEBACiAgIH0KICAgaWYgKG5ldyAmJiBpZGF0YS0+c3RhdGUgPT0gSU1BUF9BVVRIRU5U
SUNBVEVEKQogICB7CisgICAgaW1hcF9jaGVja19jYXBhYmlsaXRpZXMgKGlkYXRhKTsKICAgICAv
KiBnZXQgcm9vdCBkZWxpbWl0ZXIsICcvJyBhcyBkZWZhdWx0ICovCiAgICAgaWRhdGEtPmRlbGlt
ID0gJy8nOwogICAgIGltYXBfY21kX3F1ZXVlIChpZGF0YSwgIkxJU1QgXCJcIiBcIlwiIik7Cg==