JNDI 1.1.1 Release Notes Feb 11, 1999 This is the 1.1.2 version of JNDI. Please send feedback to the JNDI team at jndi@java.sun.com, or to the public mailing list at jndi-interest@java.sun.com. JNDI 1.1.2 is a maintanence release. There are no API changes. Client applications and service providers written to JNDI 1.1 or JNDI 1.1.1 will work without modification with JNDI 1.1.2. CHANGES SINCE 1.1.2 (8/27/98) - Enclosed access to JNDI-related system properties inside a doPrivileged block when using the Java 2 Platform Version 1.2. See "SECURITY" section below. - Class loading of object factories use the class loader of the application (instead of the class loader that loaded JNDI) when using Java 1.2. These changes only affect applications using Java 1.2. Applications that use Java 1.1.x continue to work. - Fixed minor bug in NamingManager.getObjectInstance() to allow non-Context objects named by URLs to be returned. RELEASE INFORMATION This 1.1.2 release consists of material generic to JNDI: lib/jndi.jar class files for JNDI classes examples/api Simple examples using JNDI to access naming and directory services examples/spi Simple example of service provider The classes in this release have been generated using the Java 2 Platform Version 1.2 FCS. See individual release notes for service providers for information on using these JNDI classes with individual service providers. Some Java application environments fail to properly load multiple jar files. One workaround is to extract the class files from each of the jar files using either the jar tool, or a third-party utility for managing zip files. For some releases of the JDK, the jar tool may need to be run twice to extract the contents of a jar file. ADDITIONAL INFORMATION The JNDI API and SPI specifications, the updated javadoc, a tutorial, and a demo browser are available at the Java Software Web site (http://java.sun.com/jndi/). JAVA 2 PLATFORM VERSION 1.2 SECURITY CONSIDERATIONS When using JNDI with a SecurityManager installed in the Java 2 Platform Veresion 1.2, you must grant JNDI (jndi.jar) the following permissions: permission java.util.PropertyPermission "java.naming.factory.initial", "read"; permission java.util.PropertyPermission "java.naming.factory.object", "read"; permission java.util.PropertyPermission "java.naming.factory.url.pkgs", "read"; permission java.lang.RuntimePermission "getClassLoader"; [If the class loader that loaded JNDI is neither the same nor an ancestor of the class loader of the application.] Plus all of the permissions granted to the service providers being used except those wrapped inside doPrivileged blocks. You must grant to the application using JNDI and service providers all of the permissions granted to JNDI and the service providers provider except for the PropertyPermissions listed above. [JNDI accesses these properties inside a doPrivileged block.] Note: If JNDI and the service providers are installed in the jre/lib/ext directory, they are by default granted "AllPermission" and the permissions mentioned for them need not be explicitly granted. In this common scenario, you would only have to deal with the permissions listed for the application code, object factories, and your own service providers.