summaryrefslogtreecommitdiffstats
path: root/imap/auth_sasl.c
diff options
context:
space:
mode:
authorBrendan Cully <brendan@kublai.com>2005-08-12 22:33:00 +0000
committerBrendan Cully <brendan@kublai.com>2005-08-12 22:33:00 +0000
commit7167f49e4b89d5fccd82a9af6fab8f0d9d36fe24 (patch)
tree4c683a06dece5f77e024ac7bfd53f8a35b2e45ee /imap/auth_sasl.c
parent2819f7006e9a2cac9f3324b757ffa8d43ef54f9f (diff)
Override SASL initial response if the server spoke first in its
continuation response. Closes: #2034.
Diffstat (limited to 'imap/auth_sasl.c')
-rw-r--r--imap/auth_sasl.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/imap/auth_sasl.c b/imap/auth_sasl.c
index a76677ff..34a3bf1d 100644
--- a/imap/auth_sasl.c
+++ b/imap/auth_sasl.c
@@ -150,7 +150,10 @@ imap_auth_res_t imap_auth_sasl (IMAP_DATA* idata, const char* method)
}
}
- if (!client_start)
+ /* client-start is only available with the SASL-IR extension, but
+ * SASL 2.1 seems to want to use it regardless, at least for DIGEST
+ * fast reauth. Override if the server sent an initial continuation */
+ if (!client_start || buf[0])
{
do
{