Mercurial > dovecot > core-2.2
changeset 4411:a2420b745cd5 HEAD
Added support for SASL-IR extension.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sat, 17 Jun 2006 20:19:29 +0300 |
parents | 46710be9f4bf |
children | 521d07f9c247 |
files | configure.in src/imap-login/client-authenticate.c |
diffstat | 2 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.in Sat Jun 17 20:11:30 2006 +0300 +++ b/configure.in Sat Jun 17 20:19:29 2006 +0300 @@ -1700,7 +1700,7 @@ dnl ** capabilities dnl ** -capability="IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS" +capability="IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS" AC_DEFINE_UNQUOTED(CAPABILITY_STRING, "$capability", IMAP capabilities) CFLAGS="$CFLAGS $EXTRA_CFLAGS"
--- a/src/imap-login/client-authenticate.c Sat Jun 17 20:11:30 2006 +0300 +++ b/src/imap-login/client-authenticate.c Sat Jun 17 20:19:29 2006 +0300 @@ -238,16 +238,20 @@ /* we want only one argument: authentication mechanism name */ if (args[0].type != IMAP_ARG_ATOM && args[0].type != IMAP_ARG_STRING) return -1; - if (args[1].type != IMAP_ARG_EOL) - return -1; + if (args[1].type != IMAP_ARG_EOL) { + /* optional SASL initial response */ + if (args[1].type != IMAP_ARG_ATOM || + args[2].type != IMAP_ARG_EOL) + return -1; + } mech_name = IMAP_ARG_STR(&args[0]); if (*mech_name == '\0') return 0; client_ref(client); - sasl_server_auth_begin(&client->common, "IMAP", mech_name, NULL, - sasl_callback); + sasl_server_auth_begin(&client->common, "IMAP", mech_name, + IMAP_ARG_STR(&args[1]), sasl_callback); if (!client->common.authenticating) return 1;