JNDI/LDAP Service Provider Release Notes Feb 11, 1998 This is the 1.0.3 maintenance release of the JNDI LDAP service provider. Please send feedback on the LDAP service provider to us at jndi@java.sun.com, or to the public mailing list at jndi-interest@java.sun.com. CHANGES SINCE FCS 1.0.2 Here are the highlights of the changes to the LDAP service provider since the 1.0.2 release (Dec 15th, 1998) - Enclosed access to the java.naming.provider.url system property inside a doPrivileged block when using the Java 2 Platform Version 1.2. See LDAP.txt's "SECURITY CONSIDERATIONS" section. - Binding and lookup of objects follows draft-ryan-java-schema-01.rev.txt: * You can now associate a codebase attribute (javaCodeBase) with a Serializable object that is stored in the directory. When the object is read from the directory, the codebase will be consulted for loading the classes required by the Serializable object if they are not available in the classpath. * You can now bind a java.rmi.Remote object if you supply the "javaRemoteLocation" attribute. When a Remote object is looked up from the directory, and you have access to the RMI service provider, you will get back the Remote object. * Use the UpdateJavaObjects program to convert any Reference or Serializable objects in your directory to the schema defined in draft-ryan-java-schema-01.rev.txt. For more information on this, see schema/README.txt. - When the java.naming.referral property is set to ignore then the manageDsaIT LDAP control is sent with each LDAPv3 request. This control is now marked non-critical. See LDAP.txt's "ENVIRONMENT PROPERTIES" section. - Added support for LDAP schema Matching Rules and Syntax Definitions. - Fixed serialization problems with attributes returned by the LDAP provider. - Fixed addToEnvironment()/removeFromEnvironment() to return the old object (instead of the entire environment). - Fixed problem with bind()/rebind() methods modifying the input Attributes. KNOWN PROBLEMS AND THEIR WORKAROUNDS 1. Authenticating to referral contexts If you use the 'throw' option for handling referrals and the referred context requires different credentials, you need to use the following workaround: import com.sun.jndi.ldap.LdapReferralException; ... } catch (LdapReferralException e) { env.put(Context.SECURITY_PRINCIPAL, "newuser"); env.put(Context.SECURITY_CREDENTIALS, "newpasswd"); ctx = e.getReferralContext(env); ... } RELEASE INFORMATION This release contains: lib/ldap.jar class files for the LDAP service provider. lib/providerutil.jar utilities used by service providers developed by Sun. The LDAP service provider uses some of the classes in this jar. This jar file is interchangeable with the providerutil.jar file that you may have downloaded with one of the other service providers currently available from Sun. doc/providers/LDAP.txt contains detailed descriptions of the provider. http://java.sun.com/products/jndi/draft-ryan-java-schema-01.rev.txt contains the Internet-Draft describing the schema for representing Java objects in an LDAP directory. schema/UpdateJavaObjects.java schema/README.txt a utility for converting objects bound using the schema described in draft-ryan-java-schema-00.txt to the schema described in draft-ryan-java-schema-01.rev.txt. examples/ldap contains examples for the LDAP programmer. These examples illustrate how to perform operations equivalent to the Netscape SDK's C language examples. See examples/ldap/README. This release works with JNDI1.1 and higher releases. Your classpath must include the following when using the LDAP service provider: lib/jndi.jar:lib/ldap.jar:lib/providerutil.jar For SSL support, you also must have the SSL classes in your classpath or environment (see LDAP.txt). The classes in this release have been generated using the Java 2 Platform Version 1.2 FCS. ADDITIONAL INFORMATION examples/api (available as part of the general JNDI1.1 distribution) contains generic examples for accessing any naming and directory service, including LDAP. See examples/api/README. examples/browser (available as a separate download) contains a JNDI browser for browsing any naming and directory service, including LDAP. See examples/browser/README-DEMO.txt. JNDI javadoc, JNDI API and SPI specifications and a JNDI tutorial are available at Sun's Java Software web site: http://java.sun.com/products/jndi/.