[Date Prev][Date Next] [Chronological] [Thread] [Top]

Library does not handle closed connection (ITS#2427)



Full_Name: Niels van Tongeren
Version: 2.0.25
OS: OSF1 Alpha Unix
URL: 
Submission from: (NULL) (212.136.56.8)


The LDAP library (client side) is not aware of the a fact that the LDAP server
closed the connection and the client does not read the TCP FIN.
When, between two requests to the LDAP server, the LDAP server closed the
connection, a client (using the openLDAP library) still uses the connection to
write the request on.
The library should first check if there is data waiting to be read (including
the FIN). If the connection is closed, it must close his side and return to the
calling function that the connection can no longer be used.

Reproduction:
- Start up the client and bind to the LDAP server;
- Perform any request to the LDAP server and wait for the response;
- Stop and start the LDAP server;
- Again perform any request to the LDAP server and ascertain that the LDAP
library used the 'old' connection to the LDAP server to write the request.

I have already created a unix fix on release 2.0.25 (so not on a 'current'
release). If you want me to upload this fix, please say so.

Kind regards,

Niels van Tongeren
LogicaCMG