gsasl-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU gsasl branch, gsasl_1_6_x, updated. gsasl-1-6-1-6-ge785ef9


From: Simon Josefsson
Subject: [SCM] GNU gsasl branch, gsasl_1_6_x, updated. gsasl-1-6-1-6-ge785ef9
Date: Mon, 21 Nov 2011 12:38:40 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU gsasl".

http://git.savannah.gnu.org/cgit/gsasl.git/commit/?id=e785ef9b6382f8c7c52d7f49a308642d526a0527

The branch, gsasl_1_6_x has been updated
       via  e785ef9b6382f8c7c52d7f49a308642d526a0527 (commit)
      from  e09f7c3b0491d7377cd9496212f0b94ff935ee95 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit e785ef9b6382f8c7c52d7f49a308642d526a0527
Author: Enrico Scholz <address@hidden>
Date:   Sat Nov 12 23:35:17 2011 +0100

    ignore untagged responses during IMAP authentication
    
    Some IMAP server (e.g. dovecot) return new capabilities as untagged
    response.  Old code expected only one line (e.g. the final '. OK')
    which would be given out as part of the application data.  E.g. without
    this patch, authentication to a dovecot server would look like:
    
    | $ gsasl mailbox 143 --imap ...
    | ...
    | + BQQF/wAMAAAAAAAAIO4EoAH...
    | BQQE/wAMAAAAAAAAII9BbgH...
    | * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ...
    | Client authentication finished (server trusted)...
    | Enter application data (EOF to finish):
    | . OK Logged in
    
    Patches changes it to
    
    | + BQQF/wAMAAAAAAAAIX...
    | BQQE/wAMAAAAAAAAK2...
    | * CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ...
    | . OK Logged in
    | Client authentication finished (server trusted)...
    | Enter application data (EOF to finish):
    
    Dialog with cyrus-imapd is not changed and ends always with
    
    | + BQQF/wAMAAAAAAAAPqx...
    | BQQE/wAMAAAAAAAAL...
    | . OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ...] Success (tls protection)
    | Client authentication finished (server trusted)...
    | Enter application data (EOF to finish):
    
    Signed-off-by: Enrico Scholz <address@hidden>
    Signed-off-by: Simon Josefsson <address@hidden>

-----------------------------------------------------------------------

Summary of changes:
 src/imap.c |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/imap.c b/src/imap.c
index 6affa41..43509ba 100644
--- a/src/imap.c
+++ b/src/imap.c
@@ -173,8 +173,17 @@ imap_auth_finish (void)
 {
   char *in;
 
-  if (!readln (&in))
-    return 0;
+  for (;;)
+    {
+      if (!readln (&in))
+       return 0;
+
+      /* skip untagged responses which can be returned by the server after
+        authentication (e.g. dovecot returns new '* CAPABILITY' information
+        before the final '. OK'). */
+      if (in[0] != '*')
+       break;
+    }
 
   return 1;
 }


hooks/post-receive
-- 
GNU gsasl



reply via email to

[Prev in Thread] Current Thread [Next in Thread]