We are using this library as part of a network probe, where we attempt to make an unauthenticated bind and gather some basic information about a host that appears to be listening on the standard LDAP ports. We found that in some rare cases, the connection may be killed out-of-band or black holed by an intermediary firewall.
In these cases, we identified a couple of deadlocks in the v3.Conn.Close and v3.messageContext.sendResponse methods:
We are using this library as part of a network probe, where we attempt to make an unauthenticated bind and gather some basic information about a host that appears to be listening on the standard LDAP ports. We found that in some rare cases, the connection may be killed out-of-band or black holed by an intermediary firewall.
In these cases, we identified a couple of deadlocks in the
v3.Conn.Close
andv3.messageContext.sendResponse
methods:This PR fixes these deadlock conditions by applying the configured timeout in both cases.