changeset 9339:355d5a40f7a7 HEAD

ldap: Don't log an error when server disconnects us because of idling.
author Timo Sirainen <tss@iki.fi>
date Tue, 25 Aug 2009 09:30:11 -0400
parents e1685886c795
children cc4af8e31175
files src/auth/db-ldap.c
diffstat 1 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/db-ldap.c	Tue Aug 25 09:08:11 2009 -0400
+++ b/src/auth/db-ldap.c	Tue Aug 25 09:30:11 2009 -0400
@@ -575,6 +575,7 @@
 {
 	struct timeval timeout;
 	LDAPMessage *res;
+	time_t prev_reply_diff;
 	int ret;
 
 	for (;;) {
@@ -596,6 +597,7 @@
 		db_ldap_handle_result(conn, res);
 		ldap_msgfree(res);
 	}
+	prev_reply_diff = ioloop_time - conn->last_reply_stamp;
 	conn->last_reply_stamp = ioloop_time;
 
 	if (ret == 0) {
@@ -606,8 +608,7 @@
 		i_error("LDAP: ldap_result() failed: %s", ldap_get_error(conn));
 		ldap_conn_reconnect(conn);
 	} else if (aqueue_count(conn->request_queue) > 0 ||
-		   ioloop_time - conn->last_reply_stamp <
-		   				DB_LDAP_IDLE_RECONNECT_SECS) {
+		   prev_reply_diff < DB_LDAP_IDLE_RECONNECT_SECS) {
 		i_error("LDAP: Connection lost to LDAP server, reconnecting");
 		ldap_conn_reconnect(conn);
 	} else {