On Wed, 2007-04-11 at 19:50 -0500, Ben Beuchler wrote: > I'd note that if your client is performing search + bind on the same > connection in an asynchronous manner, then the server behavior as per > RFC4511 is undefined, since a server is not supposed to be willing to > handle operations intermixed with binds until a bind is concluded. That > is, any operation can be multiplexed on a single LDAP connection > __except__ binds, which must be serialized.
That's how I thought it was working. But I think I found a bug in there. See if the attached patch fixes it?
Index: src/auth/db-ldap.c =================================================================== RCS file: /var/lib/cvs/dovecot/src/auth/db-ldap.c,v retrieving revision 1.41.2.18 diff -u -r1.41.2.18 db-ldap.c --- src/auth/db-ldap.c 19 Jan 2007 15:27:42 -0000 1.41.2.18 +++ src/auth/db-ldap.c 12 Apr 2007 08:00:32 -0000 @@ -196,6 +196,8 @@ request->callback(conn, request, NULL); return; } + db_ldap_add_delayed_request(conn, request); + return; } msgid = ldap_search(conn->ld, request->base, scope,
signature.asc
Description: This is a digitally signed message part
