Remove company specific release notes, README, etc.

git-svn-id: svn://10.0.0.236/branches/ldapcsdk_branch_50@113635 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mhein%sun.com
2002-02-04 22:44:42 +00:00
parent 5e910690c7
commit e80ca79fcb
5 changed files with 0 additions and 891 deletions

View File

@@ -1,17 +0,0 @@
=================================================================
iPlanet LDAP SDK for C, version 5.0
=================================================================
Documentation for this release of the LDAP SDK for C is located
at the following URL:
http://docs.iplanet.com/docs/manuals/directory.html#SDKC
The documentation set includes the "Release Notes" (in HTML
format) and the "Netscape LDAP SDK for C Programmer's Guide."
The Programmer's Guide is available in PDF and HTML formats.
Please note that the LDAP SDK for C library is most of the time
ahead of our official documentation. For example, we currently
don't have a 5.0 branded version of the documentation, however,
using the latest 4.1 version should be sufficient.

View File

@@ -1,43 +0,0 @@
The enclosed file[s] Exhibit A is licensed to you (either an individual
or a single entity, not including affiliates) pursuant to the terms
and conditions of the "Netscape ONE SDK END-USER LICENSE AGREEMENT"
between you and Netscape (the "Agreement"). Any use, copying,
distribution or other disposition of the file[s] in Exhibit A is governed
by the Agreement. For purposes of the Agreement, the file[s] in Exhibit A
is considered to be a "Redistributable Element," as defined in the
Agreement, and any distribution of the file[s] in Exhibit A shall be
subject to the same restrictions governing "Redistributable Element."
Exhibit A
The following files of the Netscape Directory SDK are redistributable:
lib/nsldap32v50.dll, lib/nsldap32v50.dll, (MS Windows 95/98 & NT)
lib/nsldappr32v50.dll, lib/nsldapssl32v50.dll, (MS Windows 95/98 & NT)
lib/nsldapssl32v50.lib,lib/nsldappr32v50.lib (MS Windows 95/98 & NT)
lib/libnspr3.dll, lib/libplc3.dll, (Windows NT)
lib/libplds3.dll (Windows NT)
lib/nsiutil32v50.lib (Windows NT)
lib/nsldif32v50.lib (Windows NT)
lib/nsldif32v50.lib (Windows NT)
lib/nss.dll, lib/ssl.dll (MS Windows 95/98 & NT)
lib/nspr3.dll, lib/plc3.dll, lib/plds3.dll (MS Windows 95/98)
lib/plc3.so, lib/libplds3.so, lib/libnspr3.so, (UNIX)
lib/libldapssl50.so (UNIX)
lib/libldap50.so (UNIX)
lib/libfreebl_hybrid_3.so (UNIX)
lib/libfreebl_pure32_3.so (UNIX)
lib/libiutil50.so (UNIX)
lib/libfreebl_hybrid_3.sl (HPUX)
lib/libfreebl_pure32_3.sl (HPUX)
lib/plc3.sl, lib/libplds3.sl, lib/libnspr3.sl, (HPUX)
lib/libldapssl50.sl (HPUX)
lib/libiutil50.sl (HPUX)
For purposes of this Agreement, format of Files shall have an operating
system-generic file specification format to specify multiple files. The
following are examples of this format:
"lib/*.class" (all files in the subdirectory "lib/" ending in .class )

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,500 +0,0 @@
<html>
<head>
<TITLE>Release Notes for Netscape LDAP SDK for C, version 4.1</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="GENERATOR" CONTENT="By hand, m'man">
<META NAME="Author" CONTENT="Kelly Rich">
</HEAD>
<BODY BGCOLOR="#ffffff" VLINK="#ff0000">
<P><CENTER><IMG SRC="release.gif" NOSAVE BORDER="0" HEIGHT="32"
WIDTH="468" NATURALSIZEFLAG="0" ALIGN="BOTTOM"></CENTER></P>
<H1><CENTER>N<FONT SIZE="+2">ETSCAPE </FONT>D<FONT SIZE="+2">IRECTORY
</FONT>S<FONT SIZE="+2">ERVER</FONT></CENTER></H1>
<H2><CENTER>LDAP SDK for C, version 4.1</CENTER></H2>
<P><CENTER>Last updated November 15, 2000</CENTER></P>
<p>
<hr>
<!-- Contents -->
<table width=100% cellpadding="0" cellspacing="0">
<tr>
<td width="3%">&nbsp;</td> <!-- Left Margin -->
<td width="93%"> <!-- Content -->
<h2>
<font size=+3>C</font>ONTENTS</h2>
<p>These release notes include:</p>
<UL>
<LI><A HREF="#platforms">Supported Platforms</A>
<LI><A HREF="#install">Installing the SDK</a>
<LI><A HREF="#new">New Features and Enhancements</A>
<ul>
<LI><A HREF="#connect_timeout">LDAP_X_OPT_CONNECT_TIMEOUT</A>
<LI><A HREF="#errmsg">LDAP library/API Version Mismatch Error Messages</A>
<LI><A HREF="#64bit">64 Bit Safe Changes</A>
<LI><A HREF="#parseurl">ldap_url_parse() with Space-Separated Lists of Hosts</A>
</ul>
<LI><A HREF="#problems">Known Problems</A>
<li><a href="#info">More Information</a>
</UL>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="platforms"></A><font size=+3>S</font>UPPORTED
<font size=+3>P</font>LATFORMS</H2>
<P>The LDAP SDK for C, version 4.1 provides support for the following platforms:</P>
<UL>
<LI>SunOS 5.6 (32-bit)
<li>SunOS 5.8 (64-bit)
<LI>AIX 4.3.2
<LI>Digital Tru64 (Digital Unix 4.0d)
<LI>HP-UX 11.0 (both 32-bit and 64-bit)
<LI>Linux 2.2 (for x86) (glibc 2.0)
<LI>Windows NT 4.0 sp6
<li>Windows 95, Windows 98
</UL>
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="install"></A><font size="+3">I</font>NSTALLING THE <FONT SIZE="+3">S</FONT>DK</H2>
<p>Follow these instructions to install the Netscape LDAP SDK for C:</p>
<ul>
<li>For UNIX systems (Solaris, AIX, Digital Tru64, HP/UX, Linux)
<ol>
<li>Save the appropriate UNIX file to disk.
<li>Uncompress the gzip file by typing:
<pre> gunzip &lt;filename&gt;.tar.gz</pre>
<li>Unpack the resulting tar file by typing:
<pre> tar xvof &lt;filename&gt;.tar</pre>
</li>
</ol>
<li>For Win32 systems (Windows NT and Windows 95)
<ol>
<li>Save the file named <tt>dk41x32s.exe</tt> to disk.
<li>Install the SDK by double-clicking the file in File Manager or Windows Explorer.
</ol>
</ul>
<p>Note that you should install this version of the LDAP SDK for C into a different directory than any other installed version of this software.</p>
<!-- New Features-->
<!-- Note: The following enhancements have NOT been added to the LDAP SDK for C manual. -->
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="new"></A><font size="+3">N</font>EW <font size="+3">F</font>EATURES AND <font size="+3">E</font>NHANCEMENTS</H2>
<p>This section of enhancements details the changes that were made to both versions 4.0 and 4.1 of the LDAP SDK for C.</p>
<p>The following set of modifications were made to the LDAP SDK for C, version 4.1:</p>
<UL>
<LI>The LDAP SDK for C library names were changed to indicate the new version of the SDK. For example, the new Solaris version of the SDK library is <tt>libldapssl41.so</tt>. For information on how to build and link applications that uses this SDK, see the make files for the SDK examples.
<p>
<LI>Various changes were made to the LDAP SDK for C to align it with the LDAPv3, described in RFC&nbsp;2251. You can find this RFC at the following URL:
<BLOCKQUOTE><A HREF="http://www.ietf.org/rfc/rfc2251.txt?number=2251">
http://www.ietf.org/rfc/rfc2251.txt?number=2251</A>
</BLOCKQUOTE>
<LI>Non-blocking connect functionality has been added. For more information, please see
<A HREF="#connect_timeout">LDAP_X_OPT_CONNECT_TIMEOUT</A>.
<p>
<LI>A new extended I/O function callback scheme was added to the SDK. The <tt>ldap_x_ext_io_fns</tt> struct has been added to hold extended I/O function pointers. The <tt>ldap.h</tt> file outlines the new callbacks.
<p>
<LI>Netscape Portable Runtime library (NSPR) support was added. The library, <tt>libldappr</tt> was added to provide a simple way for an application that is using NSPR to tie <tt>libldap</tt> into their environment. The <tt>ldappr.h</tt> file outlines the new interface. The library <tt>libldapr</tt> is statically linked in the version of the SDK that is available from both Mozilla and iPlanet's web sites.
<p>The new example <tt>nsprio.c</tt> shows how to use the new interfaces. Note that before you can compile the example, you will need to rework the makefile to include NSPR v3.5.1. You can checkout the NSPR 3.5.1 source from <a href="http://www.mozilla.org">www.mozilla.org</a> with the following CVS command:
<pre>
cvs co -r NSPRPUB_RELEASE_3_5_1 mozilla/nsprpub
</pre>
<p>Make sure to set your <tt>CVSROOT</tt> environment variable as described on <A HREF="http://www.mozilla.org/cvs.html">http://www.mozilla.org/cvs.html</A> before running the cvs checkout command. For information on NSPR and its API, see <A HREF="http://www.mozilla.org/docs/refList/refNSPR/">http://www.mozilla.org/docs/refList/refNSPR/</A>.<p>
<li>The <tt>ldap_search*()</tt> line of functions was modified as follows:
<ul>
<LI>The <tt>ldap_search*()</tt> line of functions now return <tt>LDAP_PARAM_ERROR</tt> if a <tt>sizelimit</tt> smaller than -1 is passed to the function call.</li>
<LI>The <tt>ldap_search*()</tt> line of functions now set <tt>*result</tt> to <tt>NULL</tt> in all error situations.</LI>
</ul>
<p>
<li>The <tt>ldapmodify</tt> utility was modified as follows:
<ul>
<LI>The <tt>-A</tt> option was added, which causes the tool to display non-ASCII values in conjunction with the <tt>-v</tt> option.</li>
<LI>The <tt>-B</tt> and <tt>-q</tt> options were added, which provide support for the bulk import feature available in the iPlanet Directory Server, version 5.0.</li>
<!-- 4.0 enhancements -->
<LI>Support for the <tt>version</tt> directive was added.
<LI>Support for <tt>changetype</tt> with <tt>moddn</tt> was added.
<LI>Improved the LDIF output to provide better support for file URLs.
</ul>
<p>
<li>The <tt>ldapsearch</tt> utility was modified as follows:
<ul>
<LI>The <tt>-e</tt> option was added, which minimizes base-64 encoding of values. <br>
By default, <tt>ldapsearch</tt> will always produce ASCII values and any non-ASCII values (such as UTF-8 characters) as base-64 encoded characters. The new <tt>-e</tt> option causes <tt>ldapsearch</tt> to return as much real data as is possible. With <tt>-e</tt>, only values or DNs that contain an '<tt>\r</tt>', an '<tt>\n</tt>', or that start with ':', ' ', or '<tt>&lt;</tt>' are base-64 encoded. Note that the <tt>-e</tt> option may cause <tt>ldapsearch</tt> to produce LDIF that does not conform to RFC 2849, found at (<A HREF="ftp://ftp.isi.edu/in-notes/rfc2849.txt">ftp://ftp.isi.edu/in-notes/rfc2849.txt</A>).</LI>
<LI>The <tt>-U</tt> option was added, which operates in conjunction with the <tt>-t</tt> option (which causes <tt>ldapsearch</tt> to produce file URLs).</li>
<LI>To conform with RFC 2849, <tt>ldapsearch</tt> now outputs a "<tt>version: 1</tt>" line at the start of all LDIF. A new <tt>-1</tt> (minus 1) option has been added to <tt>ldapsearch</tt> to suppress this line.</li>
<LI>The <tt>ldapsearch</tt> utility has been modified to support a zero length filter, represented as either &quot;&quot; or <tt>NULL</tt>. The zero-length filter &quot;&quot; is now an alias for &quot;<tt>(objectclass=*)</tt>&quot;.</li>
</ul>
<p>
<LI>The following new examples have been added to the SDK:
<UL>
<LI>csearch -- search with ldap_memcache</LI>
<LI>ssnoauth -- search over SSL</LI>
<LI>ssearch -- search over SSL with cert based authentication</LI>
<LI>nsprio -- example usage of the extended IO callbacks</LI>
<LI>psearch -- uses persistent search</LI>
<LI>srvsort -- shows server-side sorting</LI> <!-- Added in 4.0-->
<LI>ppolicy -- shows use of password policies</LI> <!-- Added in 4.0-->
<LI>crtfilt -- demonstrates the use of <tt>ldap_create_filter()</tt></LI> <!-- Added in 4.0-->
</UL>
<p>
</ul>
<!-- End of 4.1 enhancements -->
<!-- Start of of 4.0 enhancements -->
<p>The following set of modifications were made to the LDAP SDK for C, version 4.0:</p>
<ul>
<li>The <tt>ldap.h</tt> header file was modified as follows:
<UL>
<LI>Support was added for discovery of API version information at run-time with the <tt>LDAP_OPT_API_INFO</tt> option and <tt>LDAPAPIInfo</tt> structure.
<LI>Support was added for the discovery of API extensions at run-time with the <tt>LDAP_OPT_API_FEATURE_INFO</tt> and <tt>LDAPAPIFeatureInfo</tt> structures.
<LI>The following macros were added to support the discovery of API version information at compile-time: <tt>LDAP_VENDOR_VERSION</tt>, <tt>LDAP_VENDOR_NAME</tt>, and <tt>LDAP_API_VERSION</tt>.
<LI>A set pf <tt>LDAP_API_FEATURE_*</tt> macros were added to support the discovery of API extensions at compile-time.
<LI>The <tt>LDAP_OPT_PRIVATE_EXTENSION_BASE</tt> macro was added.
<LI>The <tt>ldap_unbind_ext()</tt> function was added.
<LI>The <tt>ldap_mods_u</tt> name was added to the <tt>mod_vals</tt> union.
<li>A number of function parameters were modified to be declared with <tt>const</tt>.
</ul>
<p>
<li>The <tt>ldap_get_option()</tt> function was modified as follows:
<ul>
<LI>Support for the <tt>LDAP_OPT_HOST_NAME</tt> option was added.
<LI>The function now returns a duplicate copy of data when <tt>LDAP_OPT_SERVER_CONTROLS</tt>, <tt>LDAP_OPT_CLIENT_CONTROLS</tt>, or <tt>LDAP_OPT_ERROR_STRING</tt> are retrieved.
<LI>The <tt>LDAP_OPT_MATCHED_DN</tt> option was added.
<LI>Support for <tt>LDAP_OPT_ERROR_NUMBER</tt> and <tt>LDAP_OPT_ERROR_STRING</tt> were added.
</ul>
<p>
<li>The <tt>lber.h</tt> header file was modified as follows:
<ul>
<LI>Support was added for the <tt>LBER_USE_DER</tt> option.
<LI>Several internal datatypes were changed to provide support for <tt>liblber</tt>. In the header file, see the definition for <tt>_LP64</tt> for details.
<li>The typedef <tt>BerValue</tt> was added to the <tt>berval</tt> struct, as follows:
<BLOCKQUOTE>
<PRE>
typedef struct berval {
unsigned long bv_len;
char *bv_val;
} BerValue;
</PRE>
</BLOCKQUOTE>
</ul>
<p>
<LI>Support was added for receiving unsolicited LDAPv3 notification messages.
<p>
<LI>The header files <tt>disptmpl.h</tt> and <tt>srchpref.h</tt> are now shipped with the SDK.
<p>
<LI>When using SSL client authentication with the command-line utilities, you are no longer required to provide the Cert DB password with the <tt>-W</tt> option on the command line. If you do not specify the <tt>-W</tt> option, the command-line utility will prompt you for your Cert DB password.
<p>Alternatively, you can provide a path to a PIN file that contains your Cert DB password. The format of a PIN file is the same as the PIN file that you would use for a 4.1 Netscape Directory Server. That is, if your Cert DB password is <tt>secret12</tt>, then you would enter the following line into your PIN file:
<BLOCKQUOTE>
<PRE>Internal (Software) Token:secret12</PRE>
</BLOCKQUOTE>
<P>You would then point to this file using the <tt>-I</tt> option on the command line utility. For example:</P>
<BLOCKQUOTE>
<PRE>-I /h/bjensen/.netscape/my_pin_file</PRE>
</BLOCKQUOTE>
<P>The use of either the PIN file or interactive prompting for your password means that your Cert DB password is not exposed through process examination (that is, by using the <tt>ps</tt> command on Unix).</P>
</ul>
<!-- End of Enhancements -->
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="connect_timeout"></A>LDAP_X_OPT_CONNECT_TIMEOUT</H2>
<P>The LDAP SDK for C, v4.1 provides a new option that allows you to control the TCP/IP timeout. Normally connection attempts will block for a period of time when the connection is for a host that is not reachable. <tt>LDAP_X_OPT_CONNECT_TIMEOUT</tt> allows you to control the amount of time for which a connection attempt will block in the event that the host is not reachable. You can tell the SDK to return immediately, return after an amount of time that you specify, or to block indefinitely.</P>
<P>The timeout value is set on a per-session handle basis and you can control the default timeout that is used by all session handles. Use <tt>ldap_set_option()</tt> to set the timeout value. Use <tt>ldap_get_option()</tt> to return the timeout value that is set for the current session handle.</P>
<H3>Timeout Values</H3>
<P>To support this option, the following special values are now available:</P>
<UL>
<LI><P><tt>LDAP_X_IO_TIMEOUT_NO_WAIT</tt> -- The connection attempt returns immediately even if the server is reachable.</P>
<LI><P><tt>LDAP_X_IO_TIMEOUT_NO_TIMEOUT</tt> -- The connection attempt will block until the host responds, or for the duration of the platform's connection timeout. Depending on the platform, the default connection timeout can be anywhere from 20 seconds to 3 minutes or longer. This value is the default.</P>
</UL>
<P>In addition, you can specify a timeout value in milliseconds.</P>
<H3>Setting the Timeout Value</H3>
<P>The following code fragment sets the timeout value for the session handle to 10 seconds.</P>
<PRE>
#include &lt;stdio.h&gt;
#include &quot;ldap.h&quot;
#define HOST &quot;mydirectory.siroe.com&quot;
#define PORT 389
...
LDAP *ld;
LDAPMessage *result;
int rc, version;
/* timeout is specified in milliseconds. 10000 = 10 seconds. */
int timeout = 10000;
...
if ( ( ld = ldap_init( HOST, PORT ) ) == NULL ) {
perror( &quot;ldap_init&quot; );
return( -1 );
}
if ( ldap_set_option( ld, LDAP_X_OPT_CONNECT_TIMEOUT, &amp;timeout ) != LDAP_SUCCESS ) {
rc = ldap_get_lderrno( ld, NULL, NULL);
fprintf( stderr, &quot;ldap_set_option: %s\n&quot;, ldap_err2string( rc ) );
ldap_unbind( ld );
return (rc);
}
...
</PRE>
<P>You can also control the default timeout for all LDAP session handles by setting the <t>LDAP&nbsp;*</tt> value to <tt>NULL</tt> using <tt>ldap_set_option()</tt>. For example:</P>
<PRE>
int timeout = LDAP_X_IO_TIMEOUT_WAIT;
ldap_set_option( NULL, LDAP_X_OPT_CONNECT_TIMEOUT, &amp;timeout );
/* the default timeout is now set for all new ldap connections that
are created after this call to ldap_set_option. */
</PRE>
<H3>Retrieving the Timeout Value</H3>
<P>The following code fragment retrieves the timeout value for the current session handle.</P>
<PRE>
#include &lt;stdio.h&gt;
#include &quot;ldap.h&quot;
#define HOST &quot;mydirectory.siroe.com&quot;
#define PORT 389
...
LDAP *ld;
LDAPMessage *result;
int rc, version, timeout;
...
if ( ( ld = ldap_init( HOST, PORT ) ) == NULL ) {
&nbsp;&nbsp;perror( &quot;ldap_init&quot; );
return( -1 );
}
if ( ldap_get_option( ld, LDAP_X_OPT_CONNECT_TIMEOUT, &amp;timeout ) != LDAP_SUCCESS ) {
rc = ldap_get_lderrno( ld, NULL, NULL);
fprintf( stderr, &quot;ldap_set_option: %s\n&quot;, ldap_err2string( rc ) );
ldap_unbind( ld );
return (rc);
}
switch( timeout ) {
case LDAP_X_IO_TIMEOUT_NO_WAIT:
printf(&quot;The connection is set to not block\n&quot;);
break;
case LDAP_X_IO_TIMEOUT_NO_TIMEOUT:
printf(&quot;The connection is set to block indefinitely\n&quot;);
break;
default:
printf(&quot;The connection timeout is set to %d seconds&quot;, (timeout/1000) );
break;
}
...
</PRE>
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="errmsg"></A>LDAP library/API Version Mismatch Error Messages</H2>
<p>This feature was added to version 4.0 of the LDAP SDK for C.</p>
<P>Various macros and structures have been added to the SDK to allow for compile-time and run-time discovery of the API version. Their intended use is to allow you to ensure that you are compiling and running with the correct version of the LDAP SDK for C. These features are in line with the latest LDAP SDK for C API Internet Draft.</P>
<P>As a result of these changes, the command line tools bundled with the LDAP SDK for C now check to ensure that they are running with the correct version of the library. If your library path variable (LD_LIBRARY_PATH on most Unix systems and the PATH variable on Windows NT) is set so that an old version of the LDAP SDK for C library is in use, then the command line tools can return one of the following error messages:</P>
<PRE>ldapsearch: unable to retrieve LDAP library version information;
this program requires an LDAP library that implements revision
2003 or greater of the LDAP API.
ldapsearch: this program requires an LDAP library that implements revision
2003 or greater of the LDAP API; running with revision 2002.
ldapsearch: this program requires Netscape Communications Corp.'s LDAP
library version 3.20 or greater; running with version 3.00.</PRE>
<P>By default, the tools will exit if they see a mismatch in versions. To override the version mismatch, you can use <tt>-0</tt> option (zero, not 'o') with the tools, but results may vary.</P>
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="64bit"></A>64-Bit Safe Changes</H2>
<p>This feature was added to version 4.0 of the LDAP SDK for C.</p>
<P>Internal data types for <tt>liblber</tt> have been upgraded so that the data types are 64-bit safe. This is done in the following section of code in <tt>lber.h</tt>:</P>
<BLOCKQUOTE><PRE>
/*
* Implementation-specific integer data types. If living in an LP64
* environment (where sizeof(long) is 64 bits), we use unsigned ints;
* otherwise we use unsigned longs. The goal is to always use 32-bit
* quantities and to also be backwards compatible with previous SDK
* versions which used unsigned longs.
*/
#if defined(_LP64)
typedef unsigned int ber_len_t;
typedef int ber_signed_len_t;
typedef unsigned int ber_tag_t;
typedef int ber_int_t;
#else
typedef unsigned long ber_len_t;
typedef long ber_signed_len_t;
typedef unsigned long ber_tag_t;
typedef long ber_int_t;
#endif
</PRE></BLOCKQUOTE>
<P>This change makes <tt>liblber</tt> consistent between environments where <tt>int</tt> data types are 32 bits and those where they are 64 bits. However, this change may cause some compilers, especially c++ compilers where strong type checking is enforced, to emit warnings or errors when you recompile old code.</P>
<P>
<HR ALIGN=LEFT SIZE="12">
<H2><A NAME="parseurl"></A>ldap_url_parse() with Space-Separated Lists of Hosts</H2>
<p>This feature was added to version 4.0 of the LDAP SDK for C.</p>
<P>You can now pass <tt>ldap_url_parse()</tt> a string that uses the following format:</P>
<pre>ldap://host1:port1 host2:port2 host2:port3 ... hostn:portn/&lt;basedn&gt;</pre>
<P>Using this formatting, <tt>ldap_url_parse()</tt> will return results that are acceptable to <tt>ldap_init()</tt>. For example:</P>
<BLOCKQUOTE><PRE>
LDAP *ld;
LDAPURLDesc *ludpp;
int res;
char *url = &quot;ldap://phonebook.example.com:2389 directory.example.com:389/o=example.com&quot;;
res = ldap_url_parse(url, &amp;ludpp);
ld = ldap_init(ludpp-&gt;host, ludpp-&gt;port);
</PRE></BLOCKQUOTE>
<P>This input causes <TT>ldap_init()</TT> to try to connect to each host and port in the URL string until it finds a host with which it can connect.</P>
<P>Note that <TT>ludpp-&gt;port</TT> is set to the port identified on the last host in the URL string. If <TT>ludpp-&gt;port</TT> is used as shown here, then the last port identified on the URL string becomes the default port for any hosts for which a port is not explicitly set. Using the example above, suppose the URL string contained the following:</P>
<PRE>
ldap://phonebook.example.com phonebook2.example.com phonebook3.example.com:2389/o=example.com
</PRE>
<P>Here, <TT>ldap_init()</TT> would use port 2389 for all the hosts that it tries. If the last host in the string does not identify a port, then <TT>ludpp-&gt;port</TT> is set to zero (0). Setting the port to 0 tells <TT>ldap_init()</TT> to use the default port, which is 389 for <TT>ldap://</TT> urls and 636 for <TT>ldaps://</TT> urls.</P>
<p>
<hr ALIGN=LEFT SIZE="12">
<H2><a name="problems"></a><font size="+3">K</font>NOWN
<font size="+3">P</font>ROBLEMS</H2>
<P>The following is a known bug in this release of the LDAP SDK for C:</P>
<UL>
<LI>The IO Connect Timeout feature does not work on Windows NT with SSL. That is, the Windows NT connection always blocks for the Windows NT TCP/IP timeout value (approximately 50 seconds) in the event that the host is not reachable. This is because the PR_Connect() function in the Windows NT version of NSPR does not timeout, and so a timeout value cannot be set for it. This problem will be resolved in a future release when a fixed version of NSPR becomes available. (42900)</LI>
</UL>
<p>
<HR ALIGN=LEFT SIZE="12">
<h2><a NAME="info"></a><font size=+3>M</font>ORE
<font size=+3>I</font>NFORMATION</h2>
<p>Netscape and iPlanet provide binary releases of this SDK. However, note that this SDK is also available in source code form as part of the Mozilla.org open source project. Refer to the following site for more information on how you can get the source code and contribute to the further development of this SDK: </p>
<blockquore><pre>http://www.mozilla.org/directory</pre></blockquote>
<h3>Product Documentation</h3>
<p>The <cite>LDAP SDK for C Programmer's Guide, version 4.1</cite> is available in HTML and PDF formats. You can access this manual at the following site: <a href="http://docs.iplanet.com/docs/manuals/directory.html#SDK">http://docs.iplanet.com/docs/manuals/directory.html#SDK</a>.</p>
<p>Installation instructions and release notes for all iPlanet and Netscape servers are posted at <a href="http://docs.iplanet.com/docs/manuals/index.html">http://docs.iplanet.com/docs/manuals/index.html</a>.</p>
<H3>Reporting Problems with the LDAP SDK for C</H3>
<P>Please submit problem reports to the netscape.public.mozilla.directory newsgroup and/or mailing list. For information on locating this and other Mozilla newsgroups and mailing lists, please see <A HREF="http://www.mozilla.org/community.html">http://www.mozilla.org/community.html</A>
</P>
<p>&nbsp;</p>
</td> <!-- End Content -->
<td width="4%">&nbsp;</td> <!-- Right Margin -->
</tr>
</table>
<hr>
<h5>Copyright 2000 &copy; Sun Microsystems, Inc. Some preexisting portions Copyright &copy; 2000 Netscape Communications Corp. All Rights Reserved.</h5>
</BODY>
</HTML>

View File

@@ -1,331 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Michael Hein">
<meta name="GENERATOR" content="Mozilla/4.7 [en] (X11; U; SunOS 5.7 sun4u) [Netscape]">
<title>Release notes for LDAP C SDK 5.x</title>
</head>
<body>
<h1>
Release Notes for LDAP C SDK 5.x</h1>
<i>Michael Hein <a href="mailto:mhein@sun.com">mhein@sun.com</a></i>
<br>Mark Smith&nbsp;&nbsp;&nbsp;<a href="mailto:mcs@netscape.com"> mcs@netscape.com</a>
<p><font size=+1><a href="#LDAP C SDK 5.0">LDAP C SDK 5.0 (3/28/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.1">LDAP C SDK 5.01 (06/13/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.2">LDAP C SDK 5.02 (07/03/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.3">LDAP C SDK 5.03 (08/02/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.04 (08/15/2001)">LDAP C SDK 5.04
(08/15/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.05 (10/04/2001)">LDAP C SDK 5.05
(10/04/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.06 (10/04/2001) (This release is targeted for www.">LDAP
C SDK 5.06 (11/07/2001)</a></font>
<br><font size=+1><a href="#LDAP C SDK 5.06 (10/04/2001) (This release is targeted for www.">LDAP
C SDK 5.07 (02/02/2001)</a></font>
<p><a NAME="LDAP C SDK 5.0"></a><b><font size=+2>LDAP C SDK 5.0 (3/28/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
Migrated to NSS 3.2 and NSPR 4.1</li>
<li>
Build system rewritten to accommodate move to mozilla</li>
<li>
530135 - simple filters are truncated</li>
<li>
520548 - only print info if -vv is used</li>
<li>
529868 - support "version 2" proxied auth control</li>
<li>
Various bugs reported through Mozilla.org fixed in this release</li>
</ul>
<p><br><a NAME="LDAP C SDK 5.1"></a><b><font size=+2>LDAP C SDK 5.01 (06/13/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
540490 - ber_scanf leaks memory on encoding errors</li>
<li>
don't link libldap with NSPR libraries</li>
<li>
543857 - broken command line utilities because of ber_scanf() changes</li>
<li>
394822 - command line tools should support password policy</li>
<li>
539148 - Unix ldapmodify cannot parse NT replica dump</li>
<li>
526153 - -Z option is not checked in case of SSL client auth</li>
<li>
Added files in coreconf as needed for Linux 7.1 build</li>
<li>
(added to tip of ldapcsdk_branch_50 branch)</li>
<li>
Took out libdbm module as we are no longer dependent on&nbsp; it (NSS includes
it) as we don't build static ldap library versions anymore</li>
<li>
546204 - HP-UX command line utilities not working</li>
<li>
added SunOS5.8_i86pc.mk, SunOS5.9.mk, SunOS5.9_i86pc.mk, and updated SunOS5.mk
for Solaris x86 support</li>
<li>
misc changes for i86 support</li>
</ul>
<p><br><a NAME="LDAP C SDK 5.2"></a><b><font size=+2>LDAP C SDK 5.02 (07/03/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
&nbsp;
<ul>
<li>
header file reorg.&nbsp; The ldap.h header file has now been split up into
4 separate files (ldap-standard.h, ldap-extension.h, ldap-deprecated.h,
and ldap-to-be-deprecated.h) and a new file, ldap-platform.h has been added
to the distribution.&nbsp; As per LDAP C API draft, user is only required
to ldap.h and the files list above are included automatically.</li>
<li>
ltest builds once again (Solaris only).</li>
<li>
Use IPv6 (if available) when NSPR I/O is used via libprldap.</li>
<li>
Change the cmd line utilities to always use NSPR I/O via libprldap.</li>
<li>
Add support for IPv6 addresses (in square brackets) to the ldap_init()
call and libldap's LDAP URL parser.</li>
<li>
Export ldap-platform.h and ldappr.h (shipped as public headers).</li>
<li>
Add top-level COMPS_FROM_OBJDIR=1 gmake option for use in the non-coreconf
case.</li>
<li>
Remove outdated build instructions.</li>
<li>
Add support for building examples within a source tree.</li>
<li>
nsprio now takes an optional hostport argument.</li>
<li>
add check for ld_mutex != NULL in LDAP_MUTEX_LOCK/UNLOCK macros This fixes
a crash that can occur when using libprldap.</li>
<li>
73830 - Calling ldap_init() with a NULL hostname results in core.&nbsp;
The crash occurred because the host pointer ("localhost") was being freed
twice. Now we ensure that the host is set to NULL by ldap_x_hostlist_next()
in the special case when NULL was passed into ldap_x_hostlist_first(),
which is more consistent to the caller and eliminates the double free problem.</li>
<li>
nsprio build fixes</li>
<li>
build static libldap50.a library and include in distribution (Note this
is the ldap library only.&nbsp; We do not ship the ssl enable library as
a static library.&nbsp; When you use this library you will have to link
with the static liblber library as well)</li>
<li>
Cannot use the __declspec (thread) semantics for thread local storage if
one want to use LoadLibrary to dynamically load DLL at runtime.&nbsp; This
issue was found on NT only and cause PerLdap to fail.</li>
</ul>
<p><br><a NAME="LDAP C SDK 5.3"></a><b><font size=+2>LDAP C SDK 5.03 (08/02/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
345002 - Implement persistent search (345002)</li>
<li>
550410 - "-s" scope implementation</li>
<li>
550409 - fix for false success report in verbose mode</li>
<li>
Include liblber functions in Linux libldap build</li>
<li>
BER speedup changes (via writev)</li>
<li>
Update components to NSS 3.3,&nbsp; NSPR 4.12, and SVRCORE 3.3</li>
<li>
553151 - Abnormal behavior of get_get_next_buffer() under extreme conditions</li>
<li>
package up additional header files for internal product builds</li>
</ul>
<br>&nbsp;
<p><a NAME="LDAP C SDK 5.04 (08/15/2001)"></a><b><font size=+2>LDAP C SDK
5.04 (08/15/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
555890 - ldapsearch is broken on NT/Linux/OSF</li>
<li>
added the new packaging script for www.iplanet.com</li>
</ul>
<p><br><a NAME="LDAP C SDK 5.05 (10/04/2001)"></a>
<br><b><font size=+2>LDAP C SDK 5.05 (10/04/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
new option to command line utilities to alllow for -w - to prompt for the
simple bind password from the command line</li>
<li>
new option to command line utilities to allow for -j to read the simple
bind password from a specified file name</li>
<li>
misc. ber changes to io.c</li>
<li>
take out -lC in tools/clients/Makefile.client since we are now picking
up clean forte6 components</li>
<li>
558135 - smart referrals with three contiguous slashes don't work</li>
<li>
allow for the setting of controls via command line interface</li>
<li>
bump to forte6.2 component for Solaris 5.8 (This change only applies to
the NSS component)</li>
<li>
559670 - use of select() cause problems with > 1024 connections in iDS
chaining code</li>
<li>
support sun4m architecture</li>
</ul>
<a NAME="LDAP C SDK 5.06 (10/04/2001) (This release is targeted for www."></a>
<br><b><font size=+2>LDAP C SDK 5.06 (11/07/2001)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
560859 - use of select() appears to limit connections to 1024.&nbsp; This
is manifested in using select in the non-blocking connect code (os-ip.c).&nbsp;
Have increased platform specific FD_SETSIZE constant to get around this
limitation.&nbsp; This was done to reduce the risk of creating poll bugs.</li>
<li>
561412 - no timeout in ssl_write in liblber.&nbsp; Changed the usage of
PR_Write to PR_Send as PR_Send will allow for the specifying a timeout.&nbsp;
This value should probably be settable from outside libprldap.&nbsp; This
is the real fix that needs to be put in place.</li>
<li>
561268 - Option '-w -' for command line utilities does not work on Win
NT &amp; Win 2000</li>
<li>
a bunch of misc changes were committed to make the build system "company"
agnostic which allows the builder of the LDAP C SDK to specify company
version, company name etc.</li>
</ul>
<a NAME="LDAP C SDK 5.07 (11/07/2001) (This release is targeted for www."></a>
<br><b><font size=+2>LDAP C SDK 5.07 (02/02/2002)</font></b>
<h2>
Bugs/enhancements fixed in this release:</h2>
<ul>
<li>
fix regression on command line tools with -J option</li>
<li>
add new prldap functionality to set timeout on PR_Send(), PR_Write() etc.
calls.</li>
<li>
A base64 encode value that commences (after decoding) with a '&lt;' is
incorrectly interpreted as LDIF URL syntax attr:&lt;</li>
<li>
114041 - previously allocated mutexes leaked when using LDAP_OPT_THREAD_FNS.</li>
<li>
73830 - Calling ldap_init() with a NULL hostname results in core. The crash
occurred because the host pointer ("localhost") was being freed twice.
Now we ensure that the host is set to NULL by ldap_x_hostlist_next() in
the special case when NULL was passed into ldap_x_hostlist_first(), which
is more consistent to the caller and eliminates the double free problem.</li>
<li>
112076 - crash due to double free of ssip->lssei_keypasswd.&nbsp; This
code was inadvertently not migrated to NSS 3.x as this was a known change
in behavior from 2.x</li>
<li>
updated changes for idar writev (io.c, lber-int.h)</li>
<li>
120406 - can't use more than 127 threads with SSL or NSPR. Previously,
we allocated one NSPR thread-private data index for each active LDAP *.&nbsp;
Now we only allocate one for the entire prldap library (this library now
has its own thread-private DATA layer).</li>
<li>
include nspr header files in distribution (in include-nspr) as a convenience
for developers</li>
<li>
move component version info to a separate file</li>
<li>
enable COMPONENT_PULL_METHOD=FTP for UNIX builds</li>
<li>
106057 - the nsldapi_os_connect_with_to() function should use poll()</li>
<li>
upgrade to NSS 3.2.2</li>
<br>&nbsp;</ul>
</body>
</html>