https://bugs.openldap.org/show_bug.cgi?id=9624
Issue ID: 9624 Summary: Issues in client state tracking Product: OpenLDAP Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: --- Component: lloadd Assignee: bugs@openldap.org Reporter: ondra@mistotebe.net Target Milestone: ---
There are two places that don't track client state (BINDING/OPEN) correctly: - handle_one_request() reads c_state/c_io_state without holding the appropriate mutex - operation_unlink_client() assumes that if state is BINDING, the operation we're just unlinking is a bind request. However the client could have sent another operation without waiting for the bind response, we shouldn't touch state when disposing of those