]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
login: Use AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP if protocol supports it.
authorTimo Sirainen <tss@iki.fi>
Wed, 23 Nov 2011 22:52:09 +0000 (00:52 +0200)
committerTimo Sirainen <tss@iki.fi>
Wed, 23 Nov 2011 22:52:09 +0000 (00:52 +0200)
src/imap-login/client.c
src/login-common/login-common.h
src/login-common/sasl-server.c
src/pop3-login/client.c

index 4fdd56c89257f80aa6220ab7fd21505aa19da9c4..8333687ae36a25c2446226f42cd70025f5b2c0cf 100644 (file)
@@ -499,7 +499,9 @@ static const struct login_binary imap_login_binary = {
        .client_vfuncs = &imap_client_vfuncs,
        .preinit = imap_login_preinit,
        .init = imap_login_init,
-       .deinit = imap_login_deinit
+       .deinit = imap_login_deinit,
+
+       .sasl_support_final_reply = FALSE
 };
 
 int main(int argc, char *argv[])
index 0a6ac12fe5b363d73f6fbb3a2342474572a36ffb..003d0f840b5f2934d3a05ae87ba7c78fa27a21ff 100644 (file)
@@ -27,6 +27,8 @@ struct login_binary {
        void (*preinit)(void);
        void (*init)(void);
        void (*deinit)(void);
+
+       bool sasl_support_final_reply;
 };
 
 extern const struct login_binary *login_binary;
index 25b0e58181c2ca2da5f590a323f858ff38557c3e..a021b3abfb368ad530691220cd18d42cd9d6ea4f 100644 (file)
@@ -72,6 +72,8 @@ client_get_auth_flags(struct client *client)
                /* e.g. webmail */
                auth_flags |= AUTH_REQUEST_FLAG_NO_PENALTY;
        }
+       if (login_binary->sasl_support_final_reply)
+               auth_flags |= AUTH_REQUEST_FLAG_SUPPORT_FINAL_RESP;
        return auth_flags;
 }
 
index 387ac41a1a5dd16402492b11853c1558d1a3462e..d61bc059f476eb7ed03351b9d6edd94f24541e33 100644 (file)
@@ -252,7 +252,9 @@ static const struct login_binary pop3_login_binary = {
        .client_vfuncs = &pop3_client_vfuncs,
        .preinit = pop3_login_preinit,
        .init = pop3_login_init,
-       .deinit = pop3_login_deinit
+       .deinit = pop3_login_deinit,
+
+       .sasl_support_final_reply = FALSE
 };
 
 int main(int argc, char *argv[])