Order of SASL2 methods announced? (Cyrus IMAPD2)

Pascal Gienger Pascal.Gienger at uni-konstanz.de
Sat Sep 13 05:25:04 EDT 2003


Rob Siemborski <rjs3 at andrew.cmu.edu> wrote:

> Mostly Randomly.  Somewhat based on the order the plugin is loaded.
> Security requirements of SASL basicly dictate that the client ignore the
> order they are advertised.
>
>> The problem arises (again) with Microsoft Outlook and Outlook Express.
>>
>> Outlook breaks when "AUTH=NTLM" is not the FIRST method announced! It
>> gives me an error saying "DIGEST-MD5: authentication failed" in Outlook
>> (sure, Microsoft products only handle GSSAPI, NTLM and plaintext).
>
> So, if you don't want to use DIGEST (or whatever), restrict what is
> advertised with sasl_mech_list.

So I would have to disable all but NTLM to be sure AUTH=NTLM is the first 
or only "AUTH" visible. No I won't do this for Microsoft users only because 
of their broken clients.
Users noticed the behaviour because sending mail with SPA/NTLM did work 
(our mail relays use sasl2 with postfix and there "AUTH NTLM"/"AUTH=NTLM" 
is surprisingly the first auth announced):

250-AUTH NTLM PLAIN LOGIN DIGEST-MD5 CRAM-MD5
250-AUTH=NTLM PLAIN LOGIN DIGEST-MD5 CRAM-MD5

So this worked. My imapd however gives this:

* CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE 
UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND SORT 
THREAD=ORDEREDSUBJECT THREAD=REFERENCES IDLE STARTTLS AUTH=DIGEST-MD5 
AUTH=NTLM AUTH=CRAM-MD5 ANNOTATEMORE X-NETSCAPE

And Outlook ALWAYS tries to use "DIGEST-MD5" saying it can't do so. What a 
perfectly dumb and broken client.
I set up a fake imapd (using echo and read) to see how Outlook behaves when 
parsing "AUTH". When putting "AUTH=NTLM" before DIGEST-MD5, Outlook works. 
Quite funny. It's just for the record in case anybody experiences the same 
strange behaviour.

I won't change anything in my installation.
Outlook users can still use SSL if they don't want their password exposed.

Thank you for your clarification!

Pascal




More information about the Info-cyrus mailing list