dovecot-auth hangs when many (>128) LDAP queries are submited simultaneously.
(for example via pop3 benchmarking tool).

Bug is in src/auth/db-ldap.c:db_ldap_request_queue_next

       if (queue_size > DB_LDAP_MAX_PENDING_REQUESTS) {
               /* wait until server has replied to some requests */
               return FALSE;
       }

(queue_size is total queue size, not only queries sent to LDAP server.)

I think this condition should be:

   if (conn->pending_count >= DB_LDAP_MAX_PENDING_REQUESTS) {

Reply via email to