dovecot-1.1: Workaround to never idle-disconnect IDLEing clients...

dovecot at dovecot.org dovecot at dovecot.org
Wed Mar 26 21:27:15 EET 2008


details:   http://hg.dovecot.org/dovecot-1.1/rev/498975950370
changeset: 7437:498975950370
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Mar 26 21:27:10 2008 +0200
description:
Workaround to never idle-disconnect IDLEing clients got broken by timeout
code changes.

diffstat:

1 file changed, 6 insertions(+), 5 deletions(-)
src/imap/cmd-idle.c |   11 ++++++-----

diffs (22 lines):

diff -r cdb007c1923d -r 498975950370 src/imap/cmd-idle.c
--- a/src/imap/cmd-idle.c	Sun Mar 23 17:55:51 2008 +0200
+++ b/src/imap/cmd-idle.c	Wed Mar 26 21:27:10 2008 +0200
@@ -102,12 +102,13 @@ static void keepalive_timeout(struct cmd
 		return;
 	}
 
-	/* Sending this keeps NATs/stateful firewalls alive, and it also
-	   updates client->last_output so we don't ever disconnect the
-	   client. Sending this output should kill dead connections and there
-	   are several clients that really want to IDLE forever (Outlook
-	   especially). */
+	/* Sending this keeps NATs/stateful firewalls alive. Sending this
+	   also catches dead connections. */
 	client_send_line(ctx->client, "* OK Still here");
+	/* Make sure idling connections don't get disconnected. There are
+	   several clients that really want to IDLE forever and there's not
+	   much harm in letting them do so. */
+	timeout_reset(ctx->client->to_idle);
 }
 
 static void idle_sync_now(struct mailbox *box, struct cmd_idle_context *ctx)


More information about the dovecot-cvs mailing list