Created an attachment (id=334053)
Fix referral issues
Also noticed, in the current code there's a potential memory leak in nsLDAPSSLInstall if prldap_set_sessioninfo fails; it will leak the dup'd hostname because it calls the wrong free function before returning.
(nsLDAPSecurityGlue.cpp:369 should be calling nsLDAPSSLFreeSessionClosure()...)
The socketClosure stuff doesn't seem to accomplish anything. It should probably be ripped out; there's no special handling needed for closure of individual sockets. It's only needed for closing the session handle.
The attached patch fixes these two issues in the existing code. It also fixes the referral issues I mentioned before, for both MozLDAP and OpenLDAP.
Created an attachment (id=334053)
Fix referral issues
Also noticed, in the current code there's a potential memory leak in nsLDAPSSLInstall if prldap_ set_sessioninfo fails; it will leak the dup'd hostname because it calls the wrong free function before returning.
(nsLDAPSecurity Glue.cpp: 369 should be calling nsLDAPSSLFreeSe ssionClosure( )...)
The socketClosure stuff doesn't seem to accomplish anything. It should probably be ripped out; there's no special handling needed for closure of individual sockets. It's only needed for closing the session handle.
The attached patch fixes these two issues in the existing code. It also fixes the referral issues I mentioned before, for both MozLDAP and OpenLDAP.