]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
ldap: Don't log an error when server disconnects us because of idling.
authorTimo Sirainen <tss@iki.fi>
Tue, 25 Aug 2009 13:31:43 +0000 (09:31 -0400)
committerTimo Sirainen <tss@iki.fi>
Tue, 25 Aug 2009 13:31:43 +0000 (09:31 -0400)
--HG--
branch : HEAD

src/auth/db-ldap.c

index e1730c838f9fa66baf0d5063c732265ef910c9ab..9f08cda186784cef00534dfaa6af2afa2f7993ca 100644 (file)
@@ -610,6 +610,7 @@ static void ldap_input(struct ldap_connection *conn)
 {
        struct timeval timeout;
        LDAPMessage *res;
+       time_t prev_reply_diff;
        int ret;
 
        do {
@@ -631,6 +632,8 @@ static void ldap_input(struct ldap_connection *conn)
                db_ldap_handle_result(conn, res);
                ldap_msgfree(res);
        } while (conn->io != NULL);
+
+       prev_reply_diff = ioloop_time - conn->last_reply_stamp;
        conn->last_reply_stamp = ioloop_time;
 
        if (ret > 0) {
@@ -644,8 +647,7 @@ static void ldap_input(struct ldap_connection *conn)
                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 {