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