dovecot-2.2: imap-login: If CAPABILITY is already in server bann...

dovecot at dovecot.org dovecot at dovecot.org
Mon Jun 24 23:39:38 EEST 2013


details:   http://hg.dovecot.org/dovecot-2.2/rev/6e8bbc150fa9
changeset: 16544:6e8bbc150fa9
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Jun 24 23:33:59 2013 +0300
description:
imap-login: If CAPABILITY is already in server banner, don't ask for it again.

diffstat:

 src/imap-login/imap-proxy.c |  6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diffs (23 lines):

diff -r 082fe68e38c9 -r 6e8bbc150fa9 src/imap-login/imap-proxy.c
--- a/src/imap-login/imap-proxy.c	Mon Jun 24 23:14:35 2013 +0300
+++ b/src/imap-login/imap-proxy.c	Mon Jun 24 23:33:59 2013 +0300
@@ -63,7 +63,8 @@
 	unsigned int len;
 	const char *mech_name, *error;
 
-	str_append(str, "C CAPABILITY\r\n");
+	if (client->proxy_backend_capability == NULL)
+		str_append(str, "C CAPABILITY\r\n");
 
 	if (client->common.proxy_mech == NULL) {
 		/* logging in normally - use LOGIN command */
@@ -129,6 +130,9 @@
 			proxy_write_id(client, str);
 		if (str_array_icase_find(capabilities, "SASL-IR"))
 			client->proxy_sasl_ir = TRUE;
+		i_free(client->proxy_backend_capability);
+		client->proxy_backend_capability =
+			i_strdup(t_strcut(line + 5 + 12, ']'));
 	}
 
 	ssl_flags = login_proxy_get_ssl_flags(client->common.login_proxy);


More information about the dovecot-cvs mailing list