diff -urpX /usr/share/dontdiff dovecot-1.0-test46.vanilla/src/pop3-login/client-authenticate.c dovecot-1.0-test46/src/pop3-login/client-authenticate.c --- dovecot-1.0-test46.vanilla/src/pop3-login/client-authenticate.c 2004-09-15 17:19:12.000000000 +0400 +++ dovecot-1.0-test46/src/pop3-login/client-authenticate.c 2004-10-05 20:43:18.000000000 +0400 @@ -284,16 +284,19 @@ int cmd_auth(struct pop3_client *client, string_t *buf; size_t argslen; - if (*args == '\0' && - auth_client_find_mech(auth_client, "NTLM") != NULL) { - /* This is needed to allow MS Outlook to use NTLM - authentication. Sometimes this kludge is called - "old-style SASL discovery". */ + if (*args == '\0') { + /* Old-style SASL discovery, used by MS Outlook */ + int i, count; client_send_line(client, "+OK"); - client_send_line(client, "NTLM"); + mech = auth_client_get_available_mechs(auth_client, &count); + for (i = 0; i < count; i++) { + if (mech[i].advertise) { + client_send_line(client, mech[i].name); + } + } client_send_line(client, "."); return TRUE; - } + } /* */ p = strchr(args, ' ');