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

Re: Inconsistent use of tcp_close() causes handle leaks (ITS#667)

1.2.11 NT support is known to be incomplete, quite experimental,
and unsupported.  In fact, nothing past the basic clients has
ever worked.  2.0, when released, will contain a more complete
NT port.

In the meantime, for SDKs, I suggest using the Mozilla/Netscape SDKs
or those available from Microsoft.  For a server, you can try
the Eudora slapd port (http://www.eudora.com/), buy something, or

You are, of course, welcomed to help in the development of our
NT port.  See the developer's FAQ and developer's list for more


At 07:36 PM 8/16/00 +0000, jay.sillars@spanlink.com wrote:
>Full_Name: Jay Sillars
>Version: 1.2.11
>OS: WinNT
>URL: ftp://ftp.openldap.org/incoming/
>Submission from: (NULL) (
>On the windows platform socket file descriptors must be closed with the
>closesocket function rather than the close function.  The close function will
>fail, and the program will leak handles.  The macro tcp_close() does this
>correctly, but is not being called consistently.  Here are the lines I found
>that should be changed to use tcp_close() instead of close():
>openldap-1.2.11\clients\gopher\go500.c(253):                    close( s );
>openldap-1.2.11\clients\gopher\go500.c(262):                    close( ns );
>openldap-1.2.11\clients\gopher\go500gw.c(281):                  close( s );
>openldap-1.2.11\clients\gopher\go500gw.c(290):                  close( ns );
>openldap-1.2.11\libraries\libldap\cldap.c(87):  close( s );
>openldap-1.2.11\libraries\libldap\cldap.c(92):  close( s );
>openldap-1.2.11\libraries\libldap\cldap.c(98):  close( s );
>openldap-1.2.11\libraries\libldap\cldap.c(133):                 close( s );
>openldap-1.2.11\libraries\libldap\cldap.c(142):             close( s );
>openldap-1.2.11\libraries\libldap\cldap.c(157):     close( s );
>openldap-1.2.11\servers\ldapd\main.c(420):                      close(ns);
>openldap-1.2.11\servers\ldapd\main.c(438):              close( tcps );
>openldap-1.2.11\servers\ldapd\main.c(452):                      close( tcps );
>openldap-1.2.11\servers\ldapd\main.c(469):                      close( ns );
>openldap-1.2.11\servers\ldapd\main.c(476):                      close( ns );
>openldap-1.2.11\servers\slapd\daemon.c(400):    close( tcps );
>openldap-1.2.11\servers\slapd\main.c(292):                              close( c.c_sb.sb_sd );
>openldap-1.2.11\servers\slapd\result.c(454):            close( conn->c_sb.sb_sd );