/* * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ // These classes are not referenced in the JDK but we can't // remove them for compatibility reason. Define this module // first so that other modules don't need to exclude these clases module private-legacy { include sun.misc.Cache*, sun.misc.ClassLoaderUtil, sun.misc.Compare, sun.misc.ConditionLock, sun.misc.CRC16, sun.misc.Lock, sun.misc.Regexp, sun.misc.RequestProcessor, sun.misc.Sort, sun.misc.Request, sun.misc.Timeable, sun.misc.Timer, sun.misc.TimerThread, sun.misc.TimerTickThread, sun.misc.UCDecoder, sun.misc.UCEncoder, sun.misc.UUDecoder, sun.misc.UUEncoder, com.sun.net.ssl.SSLContext, sun.net.NetworkServer, sun.net.URLCanonicalizer, sun.reflect.misc.ConstructorUtil, sun.reflect.FieldInfo, sun.reflect.SignatureIterator, sun.reflect.generics.reflectiveObjects.NotImplementedException, sunw.io.Serializable, sunw.util.EventListener, sunw.util.EventObject; } // Deprecated classes that aren't referenced/used go here. module deprecated { // add deprecated security classes once b78 is promoted } /**************************************************************************/ module base { // core classes include java.lang.*, java.lang.annotation.*, java.lang.ref.*, java.lang.reflect.*, java.math.*, java.net.*, java.util.*, java.util.concurrent.**, java.util.jar.*, java.util.regex.*, java.util.spi.*, java.util.zip.*, java.text.**; exclude java.util.jar.Pack200*, java.util.XMLUtils, java.text.Bidi; include java.io.*, java.nio.*, java.nio.charset.**; exclude java.io.TempFileHelper, java.nio.BufferPoolMXBean; // security APIs // javax.crypto and javax.security.auth are included to avoid inconsistent // spliting of JCA and JAAS. This adds about 85k. Also note that some deprecated // classes must be included for now (see 6876158, 6876170) include java.security.*, java.security.cert.*, java.security.interfaces.*, java.security.spec.*, javax.security.auth.**, javax.crypto.**; // Sun and RSA security providers (except LDAP CertStore) // roots sun.security.provider.* sun.security.provider.certpath.* sun.security.rsa.* include com.sun.security.auth.PrincipalComparator, com.sun.security.auth.SubjectCodeSource, com.sun.security.auth.login.**, com.sun.security.auth.Policy*, sun.security.action.*, sun.security.ec.*, sun.security.jca.*, sun.security.pkcs.*, sun.security.provider.*, sun.security.provider.certpath.*, sun.security.rsa.*, sun.security.util.*, sun.security.validator.*, sun.security.x509.*, sun.security.timestamp.*; // this list is based on the classlist generated from the rootset // need investigation exclude sun.security.ec.ECD*, sun.security.ec.ECKeyPairGenerator, sun.security.ec.SunEC*, sun.security.pkcs.PKCS10*, sun.security.pkcs.EncodingException, sun.security.util.AuthResources_*, sun.security.util.Resources_*, sun.security.util.BigInt, sun.security.util.HostnameChecker, sun.security.x509.CertAndKeyGen, sun.security.util.PathList; // Kerberos not needed exclude javax.security.auth.kerberos.**, sun.security.jgss.**, sun.security.krb5.**, sun.security.ssl.Kerberos*, org.ietf.jgss.**; // property events and annotations include java.beans.ChangeListenerMap, java.beans.IndexedPropertyChangeEvent, java.beans.PropertyChange*, java.beans.PropertyVetoException, java.beans.VetoableChange*, java.beans.ConstructorProperties; // mandatory charsets include sun.nio.cs.*; exclude sun.nio.cs.AbstractCharsetProvider, sun.nio.cs.CharsetMapping, sun.nio.cs.IBM*, sun.nio.cs.ISO*, sun.nio.cs.KOI8_*, sun.nio.cs.MS125*, sun.nio.cs.UTF_32*, sun.nio.cs.SingleByteDecoder, sun.nio.cs.SingleByteEncoder; allow sun.nio.cs.ISO_8859_1, sun.nio.cs.ISO_8859_15, sun.nio.cs.MS1252; include sun.text.*, sun.text.normalizer.*; // resource files include sun/text/resources/*.icu; exclude sun.text.bidi.*, sun.text.CharArrayCodePointIterator, sun.text.CharSequenceCodePointIterator, sun.text.CharacterIteratorCodePointIterator, sun.text.CodePointIterator; include sun.util.*, sun.util.calendar.*, sun.util.logging.*, sun.util.resources.LocaleData, sun.util.resources.LocaleNamesBundle, sun.util.resources.OpenListResourceBundle; // US_en locale include sun.text.resources.BreakIteratorInfo, sun.text.resources.FormatData, sun.text.resources.FormatData_en_US, sun.util.resources.CalendarData, sun.util.resources.CalendarData_en, sun.util.resources.TimeZoneNames, sun.util.resources.TimeZoneNames_en, sun.util.resources.TimeZoneNamesBundle, sun.util.resources.LocaleNames, sun.util.resources.LocaleNames_en, sun.util.resources.LocalenamesBundles, sun.util.resources.CurrencyNames, sun.util.resources.CurrencyNames_en_US, sun.util.EmptyListResourceBundle; // resources file needed by // - sun.misc.ExtensionInfo // - sun.security.provider.PolicyFile // - com.sun.security.auth.PolicyFile include sun.misc.resources.Messages, sun.security.util.Resources, sun.security.util.AuthResources; // java.nio.channels and java.nio.file not in base include sun.nio.ch.Interruptible, sun.nio.ch.DirectBuffer, sun.nio.ByteBuffered; include sun.reflect.**; // protocol handlers include sun.net.www.protocol.file.*, sun.net.www.protocol.jar.*, sun.net.www.protocol.http.*; include sun.net.*, sun.net.spi.*, sun.net.idn.*, sun.net.util.*, sun.net.www.*, sun.net.www.http.*, sun.net.spi.nameservice.*; // resource file for sun.net.idn include sun/net/idn/*; // classes in net-compat exclude sun.net.Telnet*, sun.net.TransferProtocolClient; // classes in deploy exclude sun.net.www.protocol.http.AuthCacheBridge; // classes in security-jsse exclude java.net.SecureCacheResponse; // launcher include sun.launcher.LauncherHelper, sun.launcher.resources.launcher; include sun.misc.*; exclude sun.misc.FIFOQueueEnumerator, sun.misc.LIFOQueueEnumerator, sun.misc.GC, sun.misc.PerformanceLogger, sun.misc.Queue, sun.misc.QueueElement, sun.misc.Ref, sun.misc.VMSupport; // On Windows, OSEnvironment dependency include sun.io.Win32ErrorMode; } /**************************************************************************/ module charsets { include sun.nio.cs.ext.**; include sun.nio.cs.AbstractCharsetProvider, sun.nio.cs.CharsetMapping, sun.nio.cs.IBM*, sun.nio.cs.ISO*, sun.nio.cs.KOI8_*, sun.nio.cs.MS125*, sun.nio.cs.SingleByte*, sun.nio.cs.UTF_32*; exclude sun.nio.cs.ISO_8859_1, sun.nio.cs.MS1252; // legacy sun.io converters include sun.io.*; } /**************************************************************************/ // For now, retains the current JRE extensions where localedata.jar in jre/lib/ext module localedata { include sun.util.resources.*_ar, sun.util.resources.*_ar_*, sun.util.resources.*_hi, sun.util.resources.*_hi_*, sun.util.resources.*_iw, sun.util.resources.*_iw_*, sun.util.resources.*_ja, sun.util.resources.*_ja_*, sun.util.resources.*_ko, sun.util.resources.*_ko_*, sun.util.resources.*_th, sun.util.resources.*_th_*, sun.util.resources.*_vi, sun.util.resources.*_vi_*, sun.util.resources.*_zh, sun.util.resources.*_zh_*; include sun.text.resources.*_ar, sun.text.resources.*_ar_*, sun.text.resources.*_hi, sun.text.resources.*_hi_*, sun.text.resources.*_iw, sun.text.resources.*_iw_*, sun.text.resources.*_ja, sun.text.resources.*_ja_*, sun.text.resources.*_ko, sun.text.resources.*_ko_*, sun.text.resources.*_th, sun.text.resources.*_th_*, sun.text.resources.*_vi, sun.text.resources.*_vi_*, sun.text.resources.*_zh, sun.text.resources.*_zh_*; } module resources { include sun.text.resources.*, sun.util.resources.*, sun.misc.resources.*; } /**************************************************************************/ module nio { include java.nio.channels.**, java.nio.file.**, com.sun.nio.file.**; // this is excluded from base include java.io.TempFileHelper; // provider implementations and their dependencies include sun.nio.ch.*, sun.nio.fs.**; exclude sun.nio.ch.Sctp*; } /**************************************************************************/ module pack200 { include java.util.jar.Pack200*, com.sun.java.util.jar.pack.**; } /**************************************************************************/ module logging { include java.util.logging.*, sun.util.logging.**; exclude java.util.logging.PlatformLoggingMXBean; // Formatter for HTTP messages include sun.net.www.protocol.http.logging.*; } /**************************************************************************/ module management-snmp { include com.sun.jmx.snmp.**, sun.management.snmp.**; } module management-iiop { include com.sun.jmx.remote.protocol.iiop.*; // stubs and ties include javax.management.remote.rmi._*, org.omg.stub.javax.management.remote.rmi.**; } module management { include java.lang.management.*, com.sun.management.**, sun.management.**; include javax.management.**, com.sun.jmx.**; // other management interfaces include java.nio.BufferPoolMXBean; include java.util.logging.PlatformLoggingMXBean; // supporting classes in sun.misc include sun.misc.VMSupport; } /**************************************************************************/ module tracing { // tracing include com.sun.tracing.**, sun.tracing.**; } module instrument { // java.lang.instrument include java.lang.instrument.*, sun.instrument.*; // HPROF support include com.sun.demo.jvmti.hprof.*; include tracing; } /**************************************************************************/ module rmi-activation { include java.rmi.activation.**, sun.rmi.server.Act*, sun.rmi.server.InactiveGroupException; } module rmic { // rmic is included in tools include sun.rmi.rmic.**; } module rmi { include java.rmi.**, sun.rmi.**, com.sun.rmi.**; // SSL factories are in rmi include javax.rmi.ssl.**; // supporting classes in sun.misc and dependencies include sun.misc.GC; } /**************************************************************************/ module prefs { include java.util.prefs.*; } /**************************************************************************/ module security-jsse { include javax.net.**, javax.security.cert.*, java.net.SecureCacheResponse, com.sun.net.ssl.**, com.sun.security.cert.internal.x509.*, sun.security.ssl.*, sun.net.www.protocol.https.**, sun.security.internal.interfaces.Tls*, sun.security.internal.spec.Tls*, sun.security.util.HostnameChecker; } module security-sunpkcs11 { include sun.security.pkcs11.**; } module security-sunjce { include com.sun.crypto.provider.*; } module security-sunec { include sun.security.ec.*; } module security-sunmscapi { include sun.security.mscapi.*; } module security-kerberos { include javax.security.auth.kerberos.*, com.sun.security.jgss.**, com.sun.security.auth.module.Krb5LoginModule, com.sun.security.sasl.gsskerb.**, // GSSAPI SASL mechanism sun.security.jgss.**, sun.security.ssl.krb5.**, sun.security.krb5.**, org.ietf.jgss.**, sun.net.www.protocol.http.spnego.*; } module security-sasl { include javax.security.sasl.**, com.sun.security.sasl.**; } module security-xmldsig { include javax.xml.crypto.**, org.jcp.xml.dsig.**, com.sun.org.apache.xml.internal.security.**; } module security-smartcardio { include javax.smartcardio.**, sun.security.smartcardio.**; } module security-auth { include com.sun.security.auth.**, sun.security.util.AuthResources_*; } module security-misc { include security-auth; include sun.security.pkcs.*, sun.security.pkcs12.*; // this class is a candidate to be removed. include sun.security.util.BigInt; } module security-resources { include sun.security.util.Resources_*; } module security-compat { include java.security.acl.*, sun.security.acl.*; } /**************************************************************************/ module jndi-ldap { include javax.naming.ldap.**, com.sun.jndi.ldap.**, com.sun.jndi.url.ldap.*, com.sun.jndi.url.ldaps.*, sun.security.provider.certpath.ldap.**; } module jndi-rmiregistry { include com.sun.jndi.rmi.**, com.sun.jndi.url.rmi.**; } module jndi-dns { include net-dns; include com.sun.jndi.dns.**, com.sun.jndi.url.dns.**; } module jndi-cosnaming { include com.sun.jndi.cosnaming.**, com.sun.jndi.toolkit.corba.**, com.sun.jndi.url.corbaname.**, com.sun.jndi.url.iiop.**, com.sun.jndi.url.iiopname.**; } // framework/API and classes used by providers module jndi { include javax.naming.**, com.sun.naming.**, com.sun.jndi.toolkit.ctx.**, com.sun.jndi.toolkit.dir.**, com.sun.jndi.toolkit.url.**; } /**************************************************************************/ module jdbc-base { include java.sql.**, javax.sql.*; exclude javax.sql.XA*; } module jdbc-enterprise { include javax.sql.**, com.sun.rowset.**; } module jdbc-odbc { include sun.jdbc.odbc.**; } /**************************************************************************/ module scripting { include javax.script.**; // supporting classes for scripting engines include com.sun.script.util.**; } module scripting-rhino { include com.sun.script.javascript.**, sun.org.mozilla.javascript.**; } /**************************************************************************/ module httpserver { include com.sun.net.httpserver.**, sun.net.httpserver.**; } /**************************************************************************/ module sctp { // API and dependencies include com.sun.nio.sctp.**, sun.nio.ch.Sctp*; } /**************************************************************************/ module langtools { include javax.tools.**, javax.lang.model.**, javax.annotation.processing.**; // include mirror API for now include com.sun.mirror.**; // include the JSR292 APIs for now include java.dyn.**, sun.dyn.**; } /**************************************************************************/ module beans { include java.beans.**, com.sun.beans.**, sun.beans.**; } /**************************************************************************/ module jaxp-parsers-api { include javax.xml.*, javax.xml.parsers.**, org.w3c.dom.**, org.w3c.sax.**, org.xml.sax.**; } module jaxp-api { include javax.xml.**; exclude javax.xml.crypto.**, // XML-DSIG javax.xml.bind.**, // JAX-WS javax.xml.soap.**, javax.xml.ws.**; } module jaxp-xerces-impl { include com.sun.org.apache.xerces.internal.**; // include in xerces-impl due to circular dependencies include com.sun.org.apache.xml.internal.serialize.**, com.sun.xml.internal.stream.**; exclude com.sun.xml.internal.stream.buffer.**; // JAX-WS } // required by Xerces and JAX-WS module jaxp-xerces-resolver { include com.sun.org.apache.xml.internal.resolver.**; } module jaxp-xalan { include com.sun.org.apache.xalan.internal.**, com.sun.org.apache.xpath.internal.**, com.sun.org.apache.xml.internal.dtm.**, com.sun.org.apache.xml.internal.res.**, com.sun.org.apache.xml.internal.serializer.**, com.sun.org.apache.xml.internal.utils.**, com.sun.org.apache.bcel.internal.**, com.sun.org.apache.regexp.internal.**, com.sun.java_cup.internal.**; } /**************************************************************************/ module jaxws-tools { include com.sun.codemodel.**, com.sun.xml.internal.dtdparser.**, com.sun.xml.internal.rngom.**, com.sun.xml.internal.xsom.**, com.sun.istack.internal.tools.**, com.sun.istack.internal.ws.**, com.sun.tools.internal.xjc.**, com.sun.tools.internal.ws.**, com.sun.tools.internal.jxc.**, org.relaxng.datatype.**; } module jaxws { include javax.jws.**, javax.xml.bind.**, javax.xml.soap.**, javax.xml.ws.**, org.relaxng.**, com.sun.istack.internal.*, com.sun.istack.internal.localization.*, com.sun.xml.internal.**; // include JAF in this module include javax.activation.**, com.sun.activation.**; include META-INF/mailcap.default, META-INF/mimetypes.default; } /**************************************************************************/ module enterprise-base { include javax.transaction.**, // JTA javax.annotation.*; // Common annotations (JSR-250) } /**************************************************************************/ module corba { include javax.activity.**, javax.rmi.*, javax.rmi.CORBA.*, javax.transaction.**, com.sun.corba.**, com.sun.org.omg.**, org.omg.**, sun.corba.**; // JMX remote API exclude org.omg.stub.javax.management.**; } /**************************************************************************/ module applet { include java.applet.**, sun.applet.**; } module awt { include java.awt.**, sun.awt.**, com.sun.awt.**; } module font { include sun.font.**; } module imageio { include javax.imageio.**, com.sun.imageio.**; } module java2d { include sun.dc.**, sun.java2d.**, com.sun.image.**; } module media { include com.sun.media.**; } module print { include javax.print.**, sun.print.**; } module sound { include javax.sound.**; } module swing { include javax.swing.**, sun.swing.**, // sajdi also contains classes in subpackages of com.sun.java.swing; // so use '*' instead of '**' com.sun.java.swing.*, com.sun.java.swing.plaf.**, com.sun.swing.**; } module client { include applet, awt, font, imageio, java2d, media, print, sound, swing; include javax.accessibility.*, sun.audio.**, com.sun.accessibility.**; // Bidi class in client module for now include java.text.Bidi, sun.text.bidi.*; // PerformanceLogger and dependencies include sun.misc.Ref, sun.misc.PerformanceLogger; // misc. dependencies that we need to examine include sun.text.CodePointIterator, sun.text.Char*, sun.misc.Queue*, sun.misc.FIFOQueueEnumerator, sun.misc.LIFOQueueEnumerator; // content handlers include sun.net.www.content.audio.**, sun.net.www.content.image.**; } /**************************************************************************/ module jkernel { include sun.jkernel.*; } module deploy { include jkernel; // For now, all plugin and JNLP include com.sun.java.browser.**, netscape.**, sun.plugin.**, sun.plugin2.**,, com.sun.deploy.**, com.sun.javaws.**, javax.jnlp.*, com.sun.jnlp.*; // Hook for http authentication include sun.net.www.protocol.http.AuthCacheBridge; } /**************************************************************************/ module net-dns { include sun.net.dns.**; // to access DNS config. include sun.net.spi.nameservice.dns.**; // for DNS-only name service. } module net-compat { // NTLM authentication support include sun.net.www.protocol.http.ntlm.*; // ftp and mail clients include sun.net.ftp.**, sun.net.smtp.**; // Legacy protocol handlers include sun.net.www.protocol.**; // Legacy content handlers include sun.net.www.content.**; include sun.net.Telnet*, sun.net.TransferProtocolClient; } /**************************************************************************/ // jar-tool and security-tools are JRE tools module jar-tool { include sun.tools.jar.**; } module policytool { include sun.security.tools.policytool.*; } module security-tools { include sun.security.tools.**; // Used by security tools include sun.security.util.PathList, sun.security.x509.CertAndKeyGen; exclude sun.security.tools.JarBASE64Encoder, sun.security.tools.JarSigner, sun.security.tools.JarSignerParameters, sun.security.tools.JarSignerResources*, sun.security.tools.SignatureFile, sun.security.tools.TimestampedSigner; } module jconsole { include sun.tools.jconsole.**, com.sun.tools.jconsole.*; } module serialver { include sun.tools.serialver.**; } module gui-tools { include jconsole, serialver; include com.sun.tools.example.debug.bdi.**, com.sun.tools.example.debug.gui.**, com.sun.tools.internal.xjc.**; } module attach { include com.sun.tools.attach.**, sun.tools.attach.**; } module debugging { include com.sun.jdi.**, com.sun.tools.jdi.**; } module jdb { include com.sun.tools.example.debug.**; } module sajdi { include sun.jvm.hotspot.**, com.sun.java.swing.ui.**, com.sun.java.swing.action.**; include toolbarButtonGraphics/**; include sa.properties; } module tools { include attach, debugging, jaxws-tools, jdb, rmic, sajdi; // include gui-tools in tools module unless the tool binaries // are modified to load the new gui-tools.jar include gui-tools; include com.sun.tools.**, sun.tools.**, sun.security.tools.**, com.sun.jarsigner.**, com.sun.javac.**, com.sun.javadoc.**, com.sun.source.**, sun.jvmstat.**; } /**************************************************************************/ module servicetag { include com.sun.servicetag.**; } /**************************************************************************/ // these classes will be removed from JRE - see 6909002 module inputmethods-ext { include com.sun.inputmethods.internal.**; } /**************************************************************************/ // Workaround for US export and local policy files // They are currently in signed jars under the jre/lib/security directory module US_export_policy { include default_US_export.policy; } module local_policy { include default_local.policy, exempt_local.policy; } /**************************************************************************/ module other { include **; }