1 /* 2 * Copyright (c) 2014, 2020, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /** 27 * Defines the Java Naming and Directory Interface (JNDI) API. 28 * <p> 29 * Common standard JNDI environment properties that may be supported 30 * by JNDI providers are defined and documented in 31 * {@link javax.naming.Context}. Specific JNDI provider implementations 32 * may also support other environment properties, which are specific 33 * to their implementation. 34 * 35 * @implNote 36 * The following implementation specific properties are supported by the 37 * default LDAP Naming Service Provider implementation in the JDK: 38 * <ul> 39 * <li>{@code com.sun.jndi.ldap.connect.timeout}: 40 * <br>The value of this property is the string representation 41 * of an integer representing the connection timeout in 42 * milliseconds. If the LDAP provider cannot establish a 43 * connection within that period, it aborts the connection attempt. 44 * The integer should be greater than zero. An integer less than 45 * or equal to zero means to use the network protocol's (i.e., TCP's) 46 * timeout value. 47 * <br> If this property is not specified, the default is to wait 48 * for the connection to be established or until the underlying 49 * network times out. 50 * </li> 51 * <li>{@code com.sun.jndi.ldap.read.timeout}: 52 * <br>The value of this property is the string representation 53 * of an integer representing the read timeout in milliseconds 54 * for LDAP operations. If the LDAP provider cannot get a LDAP 55 * response within that period, it aborts the read attempt. The 56 * integer should be greater than zero. An integer less than or 57 * equal to zero means no read timeout is specified which is equivalent 58 * to waiting for the response infinitely until it is received. 59 * <br>If this property is not specified, the default is to wait 60 * for the response until it is received. 61 * </li> 62 * <li>{@systemProperty com.sun.jndi.ldap.tls.cbtype}: 63 * <br>The value of this property is the string representing the TLS 64 * Channel Binding type required for an LDAP connection over SSL/TLS. 65 * Possible values are : 66 * <ul> 67 * <li>"tls-unique" - Channel Binding data is created on the basis 68 * of TLS Finished Message. Not supported right now. 69 * </li> 70 * <li>"tls-server-end-point" - Channel Binding data is created on 71 * the basis of the TLS server certificate. 72 * </li> 73 * </ul> 74 * <br>If this property is not specified, the client does not send 75 * channel binding information to the server. 76 * </li> 77 * </ul> 78 * 79 * @provides javax.naming.ldap.spi.LdapDnsProvider 80 * 81 * @uses javax.naming.ldap.spi.LdapDnsProvider 82 * 83 * @moduleGraph 84 * @since 9 85 */ 86 module java.naming { 87 requires java.security.sasl; 88 89 exports javax.naming; 90 exports javax.naming.directory; 91 exports javax.naming.event; 92 exports javax.naming.ldap; 93 exports javax.naming.spi; 94 exports javax.naming.ldap.spi; 95 96 exports com.sun.jndi.toolkit.ctx to 97 jdk.naming.dns; 98 exports com.sun.jndi.toolkit.url to 99 jdk.naming.dns, 100 jdk.naming.rmi; 101 102 uses javax.naming.ldap.StartTlsResponse; 103 uses javax.naming.spi.InitialContextFactory; 104 uses javax.naming.ldap.spi.LdapDnsProvider; 105 106 provides java.security.Provider with 107 sun.security.provider.certpath.ldap.JdkLDAP; 108 }