Netscape Directory SDK 4.0 for Java Release
Notes
Last Updated October 8, 1999
These release notes contain information about:
For the latest documentation, see the Netscape
Directory SDK 4.0 for Java Programmer's Guide, which is also available
on Netscape DevEdge.
Reference materials for the Directory SDK 4.0 for Java are produced
using the Javadoc utility. They are available in the doc/Reference
directory or online at: http://developer.netscape.com/docs/manuals/dirsdk/jsdk40/Reference/index.html.
What's
New in Version 4.0
The Netscape Directory SDK 4.0 for Java provides programmers with the
tools to develop directory-enabled software. This release includes:
-
Application Program Interface (API) updates to match the newest LDAP (Lightweight
Directory Access Protocol) internet drafts
-
an asynchronous interface to LDAP
-
a new SASL (Simple Authentication and Security Layer) API
-
the Netscape LDAP Service Provider for JNDI (Java Naming and Directory
Interface).
Additional improvements and changes to the Directory SDK are listed under
Bugs
Fixed Since Version 3.05.
API updates
The Netscape Directory SDK 4.0 for Java supports these changes to the
LDAP API:
-
Sophisticated client-side management of referral authentication using the
LDAPBind
interface.
-
Dynamic registration and instantiation of server response controls using
the register and newInstance methods of LDAPControl.
-
The separation of the constraint class into LDAPConstraints and
its subclass LDAPSearchConstraints. LDAPConstraints contains
only those methods implemented in the interface that apply to all operations.
LDAPSearchConstraints
is unchanged. All LDAPConnection methods that used to take LDAPSearchConstraints
as an argument (except for read and search methods) now pass LDAPConstraints
instead.
-
When using LDAPConnection for searching, retrieval of server response
controls is now handled by LDAPSearchResults. Although the SDK
is backward compatible, you should call LDAPSearchResults.getResponseControls()
instead of LDAPConnection.getResponseControls()when writing new
code.
-
LDAPConnection.getServerControls() now automatically parses controls.
As a result, calling parseResponse() is no longer necessary.
-
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 LDAPConnection.setConnSetupDelay() in
the Javadocs.
-
LDAPConnection has a new method called reconnect(). This
method first disconnects and then connects and binds again using the same
parameters and mechanisms as the original connection..
-
Support for connection pools. For more information see netscape.ldap.util.ConnectionPool
in the Javadocs.
-
The addition of LDAPInterruptedException, which is thrown if an
LDAP operation is interrupted.
-
The addition of LDAPProxiedAuthControl, which can execute operations,
using different credentials, without rebinding.
-
LDAPConnection now runs as a daemon thread. You no longer need
to call System.exit when terminating your program.
Asynchronous API
The Netscape Directory SDK 4.0 for Java provides an interface called
LDAPAsynchronousConnection.
This interface contains methods for performing LDAP operations asynchronously.
Instead of blocking while waiting for a response, methods in LDAPAsynchronousConnection
return control to an application before they complete. For more information
on the asynchronous interface, see "Using
the Asynchronous Interface" in the Netscape
Directory SDK 4.0 for Java Programmer's Guide.
SASL API
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 "Using
SASL Authentication" in the Netscape
Directory SDK 4.0 for Java Programmer's Guide.
JNDI Service Provider for LDAP
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.
The following JNDI features are not implemented in this release of the
Netscape LDAP Service Provider:
-
Support for federated names
-
Support for the "code base" attribute for objects stored in an LDAP directory.
The class name specified by the javaClassName attribute must exist
in the local CLASSPATH
-
The search() method for schema directory contexts. To perform
searches in a schema directory context use a Context.lookup()
request instead of DirContext.search().
For more information see "Using
the JNDI Service Provider" in the Netscape
Directory SDK 4.0 for Java Programmer's Guide.
Javadoc on the LDAP controls implemented by the provider can be found in
the doc/Reference/jndi directory.
Downloading
and Installing the SDK
The Directory SDK is available on the Netscape DevEdge website. You
can download it at http://developer.netscape.com/tech/directory/downloads.html.
The compressed file is approximately 1.25 MB.
Follow these instructions to install the Netscape Directory SDK:
UNIX (Solaris, HP-UX, IRIX, AIX, Digital
UNIX):
-
Save the file to the location on your hard drive where you want the SDK
installed.
-
Unzip the file by entering the command:
gunzip <filename>.tar.gz
-
Untar the resulting tar file by entering the command:
tar -xvof <filename>.tar
Windows 3.x/95/98/NT:
-
Save the file to disk.
-
Double-click the file to extract its contents.
Macintosh 68K and PPC:
-
Save the file to disk.
-
Double-click the file to extract its contents.
Updating
Java Classes in Netscape Communicator
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.
The SmartUpdate page for the LDAP Java classes is at: http://developer.netscape.com/software/ldap/ldap.html
Note: 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.
To enable SmartUpdate, Java, JavaScript,
and cookies:
-
Go to the Edit menu and choose Preferences
-
Select Advanced and make sure that Accept all cookies is active (it's radio
button is filled).
-
Make sure that Enable Java and Enable JavaScript are checked.
-
Choose Advanced | SmartUpdate from the left-hand panel.
-
Make sure that Enable SmartUpdate is checked.
-
Click OK.
Getting
Started with the Directory SDK
The Netscape Directory SDK 4.0 for Java includes classes for the LDAP
API. You can use these classes to write your own application to connect
to, search, and update LDAP servers.
After downloading and extracting the SDK, read the documentation in
the doc directory and look at the samples in the examples
directory.
Reading the Documentation
The Netscape Directory SDK for Java includes a programmer's guide and
a set of reference materials. The programmer's guide and the reference
are both in HTML format.
To view the programmer's guide:
-
Start Netscape Communicator.
-
Open the doc/contents.htm file in the browser.
Reference materials were constructed using the Javadoc utility.
To view the reference materials:
-
Start Netscape Communicator.
-
Open the doc/Reference/index.html file in the browser.
This documentation is also available online at: http://developer.netscape.com/docs/manuals/
Using the Examples
The Directory SDK also includes sample programs that you can modify,
compile, and run. Each program demonstrates how to use the classes to search
or update an LDAP server. The samples are in the examples directory.
For more information on these sample clients, see the README file in
the examples directory.
Bugs
Fixed Since Version 3.05
The following bugs have been fixed since the release of the Directory
SDK 3.05 for Java. Bug numbers are shown in parentheses.
-
LDAPSearchResults.getCount() returns 0 for synchronous searches.
(355365)
-
Applets in Communicator can't fetch an error string. (351004)
-
DN.contains() is implemented and documented incorrectly. (354615)
-
Search timeout is not handled correctly. (350998)
-
LDAPSchemaElement needs a modify() method. (350997)
-
LDAPBasePropertySupport should enable referrals. (350996, 350995)
-
Cannot set the cache once LDAPConnection has connected. (355904)
-
LDAPCache changes the contents of returned attributes. (355942)
-
The SDK calls Thread.stop(), suspend(), and resume().
(354503)
-
VLV controls don't support the optional context field. (355215)
-
The SDK doesn't support all the schema options described in RFC 2252. (354347)
-
LDAP Beans don't handle referrals. (353306)
-
LDAPIsMember doesn't handle dynamic groups. (353305)
-
The netscape.ldap.util.DN class does not consider ""
to be a valid DN. (352804)
-
LDAPCompareAttrNames should allow for the specification of a locale.
(351022)
-
LDAPSearch aborts on a size limit exception. (350624)
-
LDAPModificationSet is missing a toString method. (353308,
351719)
-
LDAPGetEntries should allow a choice of which attributes to return.
(353307)
-
The SDK should support the latest LDIF specification. (356470, 352056)
-
The SDK should treat a "null" filter as meaning "objectclass=*".
(354682)
-
LDAPSchema contains unnecessary public "add" methods.
(354997)
Reporting
Problems
Please submit your problem via the DevEdge
Bug Report Form.
Accessing
the Directory Developers Newsgroup
If you have additional questions or need more information about the
Netscape Directory SDK 4.0 for Java, please visit the DevEdge Directory
Server newsgroups.
Contains OROMatcher®
regular expression software from ORO Java Software. © Copyright
1997 by ORO Java Software.
Redistribution separate from Netscape Directory SDK for
Java or direct use of OROMatcher interfaces
requires a license from ORO Java Software. http://www.oroinc.com.
OROMatcher® is a trademark of Original Reusable Objects, Inc.
For more Internet development resources, try Netscape
TechSearch.