1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472
|
<!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="GENERATOR" content="Mozilla/4.72 [en] (WinNT; I) [Netscape]">
<meta name="Author" content="Jacob Rosenschein">
<meta name="Description" content="Release Notes for version 4.1 of the Directory SDK for Java">
<meta name="KeyWords" content="Java SDK, Directory SDK, LDAP SDK, SDK, LDAP, Directory, Netscape Directory, Netscape SDK, Java LDAP SDK">
<title>Directory SDK 4.1 for Java Source Code Release Notes</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<center>
<h2>
<font face="Arial,Helvetica">Directory SDK 4.1 for Java Source Code Release
Notes</font></h2></center>
<center>Last Updated May 06, 2000</center>
<p>These release notes contain information about:
<ul>
<li>
<a href="#new41">What's New in Version 4.1</a></li>
<li>
<a href="#fixed40">Bugs Fixed Since Version 4.0</a></li>
<li>
<a href="#new">What's New in Version 4.0</a></li>
<li>
<a href="#fixed305">Bugs Fixed Since Version 3.05</a></li>
<li>
<a href="#install">Downloading and Building the Source</a></li>
<li>
<a href="#update">Updating Java Classes in Netscape Communicator</a></li>
<li>
<a href="#report">Reporting Problems</a></li>
<li>
<a href="#newsgroup">Accessing the Directory Developers Newsgroup</a></li>
</ul>
For the latest documentation, see the <i><a href="http://developer.iplanet.com/docs/manuals/dirsdk/jsdk40/contents.htm" TARGET="_top">Netscape
Directory SDK 4.0 for Java Programmer's Guide</a></i>, which is available
on the iPlanet Developer Documentation site.
<p>Reference materials for the Directory SDK 4.x for Java are produced
using the Javadoc utility. They are available in the <tt>/dist/doc/</tt>
directory where you installed the SDK or online at:
<br><tt><a href="http://developer.iplanet.com/docs/manuals/dirsdk/jsdk40/Reference/index.html">http://developer.iplanet.com/docs/manuals/dirsdk/jsdk40/Reference/index.html</a>.</tt>
<p>If you only want the Directory SDK 4.x for Java (not the source code),
you can download it from the <a href="http://www.iplanet.com/downloads/developer/index.html">iPlanet
Developer Downloads</a> site.
<p>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="new41"></a><b><font face="Arial,Helvetica"><font size=+1>What's
New in Version 4.1</font></font></b>
<p>The Directory SDK 4.1 for Java is a bug fix relase. Please check the
list of <a href="#fixed40">Bugs Fixed Since Version 4.0</a>. The following
new features have been added in this release:
<ul>
<li>
A new class, <tt>netscape.ldap.factory.JSSESocketFactory</tt>. It implements
the <tt>LDAPSocketFactory</tt> interface using the Java Secure Socket Extension
(JSSE) intefaces as the SSL provider. A JSSE implementation is not
packaged with the Directory SDK classes; you will need to have one in your
CLASSPATH to be able to use <tt>JSSESocketFactory</tt>. A reference
implementation of JSSE interfaces is available at <a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a>.</li>
<li>
A new interface, <tt>netscape.ldap.LDAPTraceWriter,</tt> enables
logging of LDAP trace messages in environments where an <tt>OutputStream</tt>
cannot be used. The interface is meant primarily for integrating LDAP tracing
with the servlet log facility.</li>
<li>
A new method <tt>setConnectTimeout() </tt>has been added to <tt>LDAPConnection.
</tt>This
method allows you to limit the amount of time that application code
waits for <tt>LDAPConnection.connnect() </tt>to establish a connection.
By setting the connect timeout, an application can avoid blocking for a
long period of time when a Directory Server host is down or unreachable.</li>
<li>
All base classes in the <tt>netscape.ldap</tt> and <tt>netscape.ldap.util</tt>
package are now serializable.</li>
</ul>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="fixed40"></a><b><font face="Arial,Helvetica"><font size=+1>Bugs
Fixed Since Version 4.0</font></font></b>
<p>The following bugs have been fixed since the release of the Directory
SDK 4.0 for Java. iPlanet bug numbers are shown in parentheses.
<ul>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=28001">28001</a>:
Parsing in <tt>LDAPUrl(String url)</tt> ignores attributes if DN is empty.</li>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=28005">28005</a>:
Exceptions thrown in <tt>connect()</tt> and <tt>disconnect()</tt>.</li>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=13546">13546</a>:
<tt>JDAPFilterOpers</tt>
throws StringIndexOutOfBoundsException.</li>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=16514">16514</a>:
<tt>LDAPAttributeSet.removeElementAt()</tt>
doesn't remove the attribute completely.</li>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=34326">34326:</a><tt>
LDAPDN.unEscapeRDN()</tt> removes all /'s - not just the escape characters.</li>
<li>
Bugzilla <a href="http://bugzilla.mozilla.org/show_bug.cgi?id=29262">29262:</a><tt>
LDAPSearch</tt> doesn't apply base64-encoding to to nonprintable DNs.</li>
<li>
Wrong user DN supplied for referral on bind operation. (364869)</li>
<li>
4.0 LDAPMatchingRuleSchema not binary compatible with 3.x. (365423)</li>
<li>
LDAP JDK does not properly abandon operation. (341439)</li>
<li>
<tt>RDN.equals()</tt> assumes case-insensitivity, ignores multiple values.
(365574)</li>
<li>
<tt>authenticate()</tt> with bad password does not throw exception. (366578)</li>
<li>
Should provide DSML option for LDAPSearch. (368416)</li>
<li>
Incorrect signature for <tt>LDAPResponseListener.merge()</tt>. (364775)</li>
<li>
MS JVM throws <tt>LDAPSortControl</tt> runtime exception. (365574)</li>
<li>
Need new method <tt>LDAPDN.equals( String dn1, String dn2)</tt>. (365575)</li>
<li>
Some 3.x <tt>LDAPSchema</tt> public methods are protected in 4.x. (381574)</li>
<li>
Server using VLV for non-search operations - 'Critical extension unavailable'
error in log. (382605)</li>
<li>
<tt>LDAPSearchResults.getCount()</tt> returns wrong count. (355336)</li>
<li>
<tt>LDAPCache.cleanup()</tt> throws NullPointerException. (388736)</li>
<li>
<tt>LDAPConnection.read()</tt> doesn't return subentries (387722)</li>
<li>
LDAP SDK 4.0 causes NAS crash. (390128)</li>
<li>
NullPointerException in <tt>deleteThreadConnEntry()</tt>. (389228)</li>
<li>
<tt>LDAPSchema.getSyntaxes()</tt> missing (I-D conformance). (388463)</li>
<li>
SASL bugs found at CMU. (391585)</li>
<li>
<tt>LDAPCompareAttrNames</tt> not consistently case-sensitive. (390382)</li>
<li>
<tt>LDAPEntry</tt> throws a null exception when reading non existing attribute
(388577)</li>
<li>
NullPointerException with Malformed Filter. (390249)</li>
<li>
LDAP objects not really serializable. (356821)</li>
<li>
<tt>LDAPSearch -l</tt> option does not work correctly (393676)</li>
<li>
NullPointerException in <tt>LDAPSearch</tt> (387453)</li>
<li>
<tt>java-object-schema.conf</tt> is not packaged with SDK. (390154)</li>
<li>
JNDI SP: <tt>LdapContextImpl.reconnect(null)</tt> throw null pointer exceptions
(383788)</li>
</ul>
<hr SIZE=1 NOSHADE WIDTH="100%">
<p><a NAME="new"></a><b><font face="Arial,Helvetica"><font size=+1>What's
New in Version 4.0</font></font></b>
<p>The Directory SDK 4.0 for Java provides programmers with the tools to
develop directory-enabled software. This release includes:
<ul>
<li>
Application Program Interface (API) updates to match the newest LDAP (Lightweight
Directory Access Protocol) internet drafts</li>
<li>
an asynchronous interface to LDAP</li>
<li>
a new SASL (Simple Authentication and Security Layer) API</li>
<li>
the Netscape LDAP Service Provider for LDAP.</li>
</ul>
Additional improvements and changes to the Directory SDK are listed under
<a href="#fixed305">Bugs
Fixed Since Version 3.05</a>.
<p><b><font face="Arial,Helvetica">API updates</font></b>
<p>The Directory SDK 4.0 for Java supports these changes to the LDAP API:
<ul>
<li>
Sophisticated client-side management of referral authentication using the
<tt>LDAPBind</tt>
interface.</li>
<li>
Dynamic registration and instantiation of server response controls using
the <tt>register</tt> and <tt>newInstance</tt> methods of <tt>LDAPControl</tt>.</li>
<li>
The separation of the constraint class into <tt>LDAPConstraints</tt> and
its subclass <tt>LDAPSearchConstraints</tt>. <tt>LDAPConstraints</tt> contains
only those methods implemented in the interface that apply to <i>all </i>operations.
<tt>LDAPSearchConstraints</tt>
is unchanged. All <tt>LDAPConnection</tt> methods that used to take <tt>LDAPSearchConstraints</tt>
as an argument (except for read and search methods) now pass <tt>LDAPConstraints</tt>
instead.</li>
<li>
When using <tt>LDAPConnection</tt> for searching, retrieval of server response
controls is now handled by <tt>LDAPSearchResults</tt>. Although the SDK
is backward compatible, you should call <tt>LDAPSearchResults.getResponseControls()</tt>
instead of <tt>LDAPConnection.getResponseControls()</tt>when writing new
code.</li>
<li>
<tt>LDAPConnection.getServerControls()</tt> now automatically parses controls.
As a result, calling <tt>parseResponse()</tt> is no longer necessary.</li>
<li>
Support for transparent failover connection policies. The available policies
are: (1) serial, (2) parallel with no delay, and (3) parallel with delay.
For more information, see <tt>LDAPConnection.setConnSetupDelay()</tt> in
the javadocs.</li>
<li>
<tt>LDAPConnection</tt> has a new method called <tt>reconnect()</tt>. This
method first disconnects and then connects and binds again using the same
parameters and mechanisms as the original connection..</li>
<li>
Support for connection pools. For more information see <tt>netscape.ldap.util.ConnectionPool</tt>
in the javadocs.</li>
<li>
The addition of <tt>LDAPInterruptedException</tt>, which is thrown if an
LDAP operation is interrupted.</li>
<li>
The addition of <tt>LDAPProxiedAuthControl</tt>, which can execute operations,
using different credentials, without rebinding.</li>
<li>
<tt>LDAPConnection</tt> now runs as a daemon thread. You no longer need
to call <tt>System.exit</tt> when terminating your program.</li>
</ul>
<b><font face="Arial,Helvetica">Asynchronous API</font></b>
<p>The Directory SDK 4.0 for Java provides an interface called
<tt>LDAPAsynchronousConnection</tt>.
This interface contains methods for performing LDAP operations asynchronously.
Instead of blocking while waiting for a response, methods in <tt>LDAPAsynchronousConnection</tt>
return control to an application before they complete. For more information
on the asynchronous interface, see "<a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/asynch.htm">Using
the Asynchronous Interface</a>" in the <i><a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/contents.htm">Netscape
Directory SDK 4.0 for Java Programmer's Guide</a></i>.
<p><b><font face="Arial,Helvetica">SASL API</font></b>
<p>SASL allows clients and servers to communicate securely. The API accomplishes
this by finding a common authentication scheme and facilitating a series
of challenge and response interchanges between the client and server. If
these interchanges complete successfully, the client is authenticated.
For more information on SASL see "<a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/sasl.htm">Using
SASL Authentication</a>" in the <i><a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/contents.htm">Netscape
Directory SDK 4.0 for Java Programmer's Guide</a></i>.
<p><b><font face="Arial,Helvetica">JNDI Service Provider for LDAP</font></b>
<p>JNDI is a Java API that provides a common way for programmers to access
a variety of naming and directory services. This is accomplished via a
layer of software called a Service Provider. The Directory SDK includes
a Service Provider for LDAP.
<p>The following JNDI features are not implemented in this release of the
Netscape LDAP Service Provider:
<ul>
<li>
Support for federated names</li>
<li>
Support for the "code base" attribute for objects stored in an LDAP directory.
The class name specified by the <tt>javaClassName</tt> attribute must exist
in the local <tt>CLASSPATH</tt></li>
<li>
The <tt>search()</tt> method for schema directory contexts. To perform
searches in a schema directory context use a <tt>Context.lookup()</tt>
request instead of <tt>DirContext.search()</tt>.</li>
</ul>
For more information see "<a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/JNDIchap.htm">Using
the JNDI Service Provider</a>" in the <i><a href="http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/contents.htm">Netscape
Directory SDK 4.0 for Java Programmer's Guide</a></i>.
<p>
<hr SIZE=1 NOSHADE WIDTH="100%">
<p><a NAME="fixed305"></a><b><font face="Arial,Helvetica"><font size=+1>Bugs
Fixed Since Version 3.05</font></font></b>
<p>The following bugs have been fixed since the release of the Directory
SDK 3.05 for Java. Bug numbers are shown in parentheses.
<ul>
<li>
<tt>LDAPSearchResults.getCount()</tt> returns 0 for synchronous searches.
(355365)</li>
<li>
Applets in Communicator can't fetch an error string. (351004)</li>
<li>
<tt>DN.contains()</tt> is implemented and documented incorrectly. (354615)</li>
<li>
Search timeout is not handled correctly. (350998)</li>
<li>
<tt>LDAPSchemaElement</tt> needs a <tt>modify()</tt> method. (350997)</li>
<li>
<tt>LDAPBasePropertySupport</tt> should enable referrals. (350996, 350995)</li>
<li>
Cannot set the cache once <tt>LDAPConnection</tt> has connected. (355904)</li>
<li>
<tt>LDAPCache</tt> changes the contents of returned attributes. (355942)</li>
<li>
The SDK calls <tt>Thread.stop()</tt>, <tt>suspend()</tt>, and <tt>resume()</tt>.
(354503)</li>
<li>
VLV controls don't support the optional context field. (355215)</li>
<li>
The SDK doesn't support all the schema options described in RFC 2252. (354347)</li>
<li>
LDAP Beans don't handle referrals. (353306)</li>
<li>
<tt>LDAPIsMember</tt> doesn't handle dynamic groups. (353305)</li>
<li>
The <tt>netscape.ldap.util.DN</tt> class does not consider <tt>""</tt>
to be a valid DN. (352804)</li>
<li>
<tt>LDAPCompareAttrNames</tt> should allow for the specification of a locale.
(351022)</li>
<li>
<tt>LDAPSearch</tt> aborts on a size limit exception. (350624)</li>
<li>
<tt>LDAPModificationSet</tt> is missing a <tt>toString</tt> method. (353308,
351719)</li>
<li>
<tt>LDAPGetEntries</tt> should allow a choice of which attributes to return.
(353307)</li>
<li>
The SDK should support the latest LDIF specification. (356470, 352056)</li>
<li>
The SDK should treat a <tt>"null"</tt> filter as meaning <tt>"objectclass=*"</tt>.
(354682)</li>
<li>
<tt>LDAPSchema</tt> contains unnecessary public <tt>"add"</tt> methods.
(354997)</li>
</ul>
<hr SIZE=1 NOSHADE WIDTH="100%">
<br><a NAME="install"></a><b><font face="Arial,Helvetica"><font size=+1>Downloading
and Building the Source</font></font></b>
<p>The Directory SDK source code is available on the Mozilla website. You
can download it at <a href="http://www.mozilla.org/directory/javasdk.html">http://www.mozilla.org/directory/javasdk.html</a>.
<p>Follow the instructions at <a href="http://www.mozilla.org/directory/buildjsdk-4.0.txt">http://www.mozilla.org/directory/buildjsdk-4.0.txt</a>
to build the Netscape Directory SDK.
<p>
<hr SIZE=1 NOSHADE WIDTH="100%"><a NAME="update"></a><b><font face="Arial,Helvetica"><font size=+1>Updating
Java Classes in Netscape Communicator</font></font></b>
<p>The LDAP Java classes contained in Netscape Communicator 4.7 and earlier
are outdated. You can upgrade these class files to the latest versions
using Communicator's SmartUpdate feature.
<p>The SmartUpdate page for the LDAP Java classes is at: <a href="http://developer.netscape.com/software/ldap/ldap.html">http://developer.netscape.com/software/ldap/ldap.html</a>
<p><b>Note: </b>This page uses Communicator's SmartUpdate feature to update
the classes. Before visiting this page, you must enable SmartUpdate, Java,
JavaScript, and cookies in Communicator.
<p><b><font face="Arial,Helvetica">To enable SmartUpdate, Java, JavaScript,
and cookies:</font></b>
<ul>
<li>
Go to the Edit menu and choose Preferences.</li>
<li>
Select Advanced and make sure that Accept all cookies is active (it's radio
button is filled).</li>
<li>
Make sure that Enable Java and Enable JavaScript are checked.</li>
<li>
Choose Advanced | SmartUpdate from the left-hand panel.</li>
<li>
Make sure that Enable SmartUpdate is checked.</li>
<li>
Click OK.</li>
</ul>
<hr SIZE=1 NOSHADE WIDTH="100%"><a NAME="report"></a><b><font face="Arial,Helvetica"><font size=+1>Reporting
Problems</font></font></b>
<p>Please submit your problem via the the <a href="http://bugzilla.mozilla.org">Bugzilla</a>
bugsystem . Use the "LDAP Java SDK" component.
<p>
<hr SIZE=1 NOSHADE WIDTH="100%"><a NAME="newsgroup"></a><b><font face="Arial,Helvetica"><font size=+1>Accessing
the Directory Developers Newsgroup</font></font></b>
<p>If you have additional questions or need more information about the
Netscape Directory SDK 4.x for Java, please visit the Mozilla <a href="news://news.mozilla.org/netscape.public.mozilla.directory">Directory
newsgroup</a> and the DevEdge <a href="http://developer.netscape.com/support/newsgroups/" TARGET="_top">Directory
Server newsgroups</a>.
<center>
<p>
<hr SIZE=1 NOSHADE WIDTH="100%"><font size=-1>Contains OROMatcher®
regular expression software from ORO Java Software. <nobr>© </nobr>Copyright
1997 by ORO Java Software.</font>
<br><font size=-1>Redistribution separate from Netscape Directory SDK for
Java or direct use of OROMatcher interfaces</font>
<br><font size=-1>requires a license from ORO Java Software. <a href="http://www.oroinc.com/" TARGET="_top">http://www.oroinc.com</a>.
OROMatcher® is a trademark of Original Reusable Objects, Inc.</font>
<p><font size=-1>For more Internet development resources, try <a href="http://home.netscape.com/computing/techsearch/index.html?cp=dev01bnts" TARGET="_top">Netscape
TechSearch</a>.</font></center>
<hr SIZE=0 WIDTH="100%">
</body>
</html>
|