Re: JPMS Access Checks, Verification and the Security Manager
On 5/24/2017 12:13 AM, Volker Simonis wrote: OK, so from what you say I understand that the verification errors I see with the Security Manager enabled are an implementation detail of HotSpot (because verification uses the same class loading mechanism like the runtime) which is not required but still acceptable under the JVMS. Is that correct? The JVMS is precise about which exceptions are allowed to be thrown by a JVM implementation during verification, and AccessControlException is not one of them. However, the JVMS is only one part of the Java SE Platform Specification. It is quite proper if another part specifies an AccessControlException when a class in a restricted package is referenced by a class without permission. I'm thinking in particular of the API specification for SecurityManager::checkPackageAccess. It states, "This method is called by the loadClass method of class loaders." Plainly, the intention is that a class (Tricky) which initiates the loading of another class (com.sun.crypto.provider.SunJCE) can do so only if it has permission to reference the other class. Unfortunately, the statement as written is only guaranteed to be true for the built-in class loaders of the Java SE Platform and not for user-defined class loaders. Accordingly, we will update the API specification to clarify how a JVM implementation may support the Security Manager in checking permissions when classes are loaded and resolved. But to answer your original question, an application CAN fail because the verifier can't load classes due to Security Manager restrictions; you may have to grant additional permissions if application classes wish to reference certain JDK 9 packages. Alex
hg: jigsaw/jake/jaxp: 5 new changesets
Changeset: 0f9c0239ff0c Author:lana Date: 2017-05-23 23:27 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/0f9c0239ff0c 8180167: JDK9 message drop 40 l10n resource file updates Reviewed-by: alanb, mchung, dfuchs, rfield, shinyafox, weijun, joehw Contributed-by: li.ji...@oracle.com ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/res/XSLTErrorResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/compiler/util/ErrorMessages_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xalan/internal/xsltc/runtime/ErrorMessages_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/SAXMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XIncludeMessages_sv.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_ko.properties ! src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/msg/XMLSchemaMessages_sv.properties ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_ko.java ! src/java.xml/share/classes/com/sun/org/apache/xml/internal/res/XMLErrorResources_sv.java ! src/java.xml/share/classes/com/sun/org/apache/xpath/internal/res/XPATHErrorResources_ko.java ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_de.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_es.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_fr.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_it.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_ja.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_ko.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_pt_BR.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_sv.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_zh_CN.properties ! src/java.xml/share/classes/javax/xml/catalog/CatalogMessages_zh_TW.properties Changeset: a208fa9b Author:joehw Date: 2017-05-24 14:10 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxp/rev/a208fa9b 8180349: Review JAXP Java SE 9 API javadocs Reviewed-by: rriggs, lancea + src/java.xml/share/classes/javax/xml/catalog/package-info.java - src/java.xml/share/classes/javax/xml/catalog/package.html + src/java.xml/share/classes/javax/xml/datatype/package-info.java - src/java.xml/share/classes/javax/xml/datatype/package.html + src/java.xml/share/classes/javax/xml/namespace/package-info.java - src/java.xml/share/classes/javax/xml/namespace/package.html + src/java.xml/share/classes/javax/xml/package-info.java + src/java.xml/share/classes/javax/xml/parsers/package-info.java - src/java.xml/share/classes/javax/xml/parsers/package.html + src/java.xml/share/classes/javax/xml/stream/events/package-info.java + src/java.xml/share/classes/javax/xml/stream/package-info.java + src/java.xml/share/classes/javax/xml/stream/util/package-info.java + src/java.xml/share/classes/javax/xml/transform/dom/package-info.java - src/java.xml/share/classes/javax/xml/transform/dom/package.html + src/java.xml/share/classes/javax/xml/transform/package-info.java - src/java.xml/share/classes/javax/xml/transform/package.html + src/java.xml/share/classes/javax/xml/transform/sax/package-info.java - src/java.xml/share/classes/javax/xml/transform/sax/package.html + src/java.xml/share/classes/javax/xml/transform/stax/package-info.java - src/java.xml/share/classes/javax/xml/transform/stax/package.html + src/java.xml/share/classes/javax/xml/transform/stream/package-info.java - src/java.xml/share/classes/javax/xml/transform/stream/package.html + src/java.xml/share/classes/javax/xml/validation/package-info.java - src/java.xml/share/classes/javax/xml/validation/package.html + src/java.xml/share/classes/javax/xml/xpath/package-info.java - src/java.xml/share/classes/javax/xml/xpath/package.html + src/java.xml/share/classes/org/w3c/dom/bootstrap/package-info.java + src/java.xml/share/classes/org/w3c/dom/events/package-info.java + src/java.xml/share/classes/org/w3c/dom/ls/package-info.java + src/java.xml/share/classes/org/w3c/dom/package-info.java - src/java.xml/share/classes/org/w3c/dom/package.html + src/java.xml/share/classes/org/w3c/dom/ranges/package-info.java - src/java.xml/share/classes/org/w3c/dom/ranges/package.html + src/java.xml/share/classes/org/w3c/dom/traversal/package-info.java + src/java.xml/share/classes/org/w3c/dom/views/package-info.java + src/java.xml/share/classes/org/xml/sax/ext/package-info.java - src/java.xml/share/classes/org/xml/sax/ext/package.html + src/java.xml/share/classes/org/xml/sax/helpers/package-info.java -
hg: jigsaw/jake/jdk: 31 new changesets
Changeset: 82ab8dec02ae Author:dfuchs Date: 2017-05-23 11:33 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/82ab8dec02ae 8180428: Clarify implementation note in Clock.java to match implementation changes made by JDK-8068730 Reviewed-by: dholmes, scolebourne ! src/java.base/share/classes/java/time/Clock.java Changeset: 54e8bad0022c Author:bpb Date: 2017-05-23 11:47 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/54e8bad0022c 8180353: FileOutputStream documentation does not indicate properly whether files get truncated or not Summary: Update documentation of FileOutputStream(String) Reviewed-by: chegar, dfuchs ! src/java.base/share/classes/java/io/FileOutputStream.java Changeset: 321f66c89406 Author:lancea Date: 2017-05-23 16:14 -0400 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/321f66c89406 8180728: DatabaseMeta.getRowIdLifetime returns an enum but javadoc refers to int Reviewed-by: joehw, rriggs ! src/java.sql/share/classes/java/sql/DatabaseMetaData.java Changeset: 47032f7eebb1 Author:darcy Date: 2017-05-23 14:34 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/47032f7eebb1 8074977: Constructor.getAnnotatedParameterTypes returns wrong value Summary: Additional comments from plevart and forax Reviewed-by: mchung, alanb ! src/java.base/share/classes/java/lang/reflect/Constructor.java ! src/java.base/share/classes/java/lang/reflect/Executable.java ! src/java.base/share/classes/java/lang/reflect/Method.java ! src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java + test/java/lang/annotation/TestConstructorParameterAnnotations.java + test/java/lang/annotation/typeAnnotations/TestConstructorParameterTypeAnnotations.java Changeset: d0d971960744 Author:robm Date: 2017-05-24 17:25 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/d0d971960744 8175131: sun.rmi.transport.tcp.TCPChannel.createConnection close connection on timeout Reviewed-by: rriggs, msheppar ! src/java.rmi/share/classes/sun/rmi/transport/tcp/TCPChannel.java Changeset: c162df937880 Author:bpb Date: 2017-05-24 10:52 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/c162df937880 8180885: Create test to detect if TimeZone.setDefault affects File.setLastModifiedTime Summary: Check whether File.lastModified is affected by not setting the default time zone or by setting to any of the available time zones. Reviewed-by: dfuchs, rriggs + test/java/io/File/TimeZoneLastModified.java Changeset: e3446d4c7fd2 Author:lana Date: 2017-05-23 23:25 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/e3446d4c7fd2 8180167: JDK9 message drop 40 l10n resource file updates Reviewed-by: alanb, mchung, dfuchs, rfield, shinyafox, weijun, joehw Contributed-by: li.ji...@oracle.com ! src/java.base/share/classes/sun/launcher/resources/launcher_de.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_es.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_fr.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_it.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ja.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_ko.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_pt_BR.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_sv.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_CN.properties ! src/java.base/share/classes/sun/launcher/resources/launcher_zh_TW.properties ! src/java.base/share/classes/sun/security/tools/keytool/Resources_de.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_es.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_fr.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_it.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_ja.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_ko.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_pt_BR.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_sv.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_CN.java ! src/java.base/share/classes/sun/security/tools/keytool/Resources_zh_TW.java ! src/java.base/share/classes/sun/security/util/AuthResources_ko.java ! src/java.base/share/classes/sun/security/util/AuthResources_sv.java ! src/java.base/share/classes/sun/security/util/Resources_sv.java ! src/java.desktop/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties ! src/java.desktop/share/classes/sun/applet/resources/MsgAppletViewer_ko.java ! src/java.desktop/share/classes/sun/awt/resources/awt_sv.properties ! src/java.sql.rowset/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties !
hg: jigsaw/jake/corba: 2 new changesets
Changeset: b5f3f4fc6b93 Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/b5f3f4fc6b93 Added tag jdk-9+172 for changeset 95ed14547ca9 ! .hgtags Changeset: 094bc8c2868d Author:alanb Date: 2017-06-01 19:42 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/corba/rev/094bc8c2868d Merge ! .hgtags
hg: jigsaw/jake/hotspot: 5 new changesets
Changeset: 63ac6d565c21 Author:thartmann Date: 2017-05-24 16:53 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/63ac6d565c21 8180813: Null pointer dereference of CodeCache::find_blob() result Summary: Fixed missing null checks on the result of CodeCache::find_blob() found by Parfait. Reviewed-by: shade, kvn ! src/share/vm/code/relocInfo.cpp ! src/share/vm/runtime/sharedRuntime.cpp Changeset: 531cb9202a0f Author:lana Date: 2017-05-26 00:45 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/531cb9202a0f Merge Changeset: 1ae9e84f68b3 Author:zmajo Date: 2017-05-29 10:32 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/1ae9e84f68b3 8180855: Null pointer dereference in OopMapSet::all_do of oopMap.cpp:394 Summary: Check for possible null-point dereference. Reviewed-by: kvn ! src/share/vm/compiler/oopMap.cpp Changeset: d5ed1e34de8b Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/d5ed1e34de8b Added tag jdk-9+172 for changeset 1ae9e84f68b3 ! .hgtags Changeset: b7de86ca4cc5 Author:alanb Date: 2017-06-01 19:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/hotspot/rev/b7de86ca4cc5 Merge ! .hgtags ! src/share/vm/runtime/sharedRuntime.cpp
hg: jigsaw/jake/langtools: 4 new changesets
Changeset: 0eedec5776e4 Author:lana Date: 2017-05-23 23:26 -0700 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/0eedec5776e4 8180167: JDK9 message drop 40 l10n resource file updates Reviewed-by: alanb, mchung, dfuchs, rfield, shinyafox, weijun, joehw Contributed-by: li.ji...@oracle.com ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/doclint/resources/doclint_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/compiler_zh_CN.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_ja.properties ! src/jdk.compiler/share/classes/com/sun/tools/javac/resources/javac_zh_CN.properties ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/resources/doclets_zh_CN.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_ja.properties ! src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/resources/javadoc_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_ja.properties ! src/jdk.jdeps/share/classes/com/sun/tools/jdeprscan/resources/jdeprscan_zh_CN.properties ! src/jdk.jdeps/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_ja.properties ! src/jdk.jshell/share/classes/jdk/internal/jshell/tool/resources/l10n_zh_CN.properties Changeset: 03669efa77f5 Author:lana Date: 2017-05-26 00:45 + URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/03669efa77f5 Merge Changeset: 16febc896c36 Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/16febc896c36 Added tag jdk-9+172 for changeset 03669efa77f5 ! .hgtags Changeset: a5e8b958d3da Author:alanb Date: 2017-06-01 19:43 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/langtools/rev/a5e8b958d3da Merge ! .hgtags
hg: jigsaw/jake: 3 new changesets
Changeset: 2c25fc241032 Author:ihse Date: 2017-05-29 09:18 +0200 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/2c25fc241032 8175824: Adapt javadoc generation to different requirements for JDK and JavaSE Reviewed-by: erikj, mchung ! make/Docs.gmk ! make/common/MakeBase.gmk Changeset: d7537347a652 Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/rev/d7537347a652 Added tag jdk-9+172 for changeset 2c25fc241032 ! .hgtags Changeset: e996ea5ccc71 Author:alanb Date: 2017-06-01 19:41 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/rev/e996ea5ccc71 Merge ! .hgtags ! make/Docs.gmk ! make/common/MakeBase.gmk
hg: jigsaw/jake/jaxws: 2 new changesets
Changeset: 2bd967aa452c Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/2bd967aa452c Added tag jdk-9+172 for changeset 8c615099f3e3 ! .hgtags Changeset: 0c5b2fc601da Author:alanb Date: 2017-06-01 19:48 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jaxws/rev/0c5b2fc601da Merge ! .hgtags
hg: jigsaw/jake/nashorn: 2 new changesets
Changeset: fa8e4de50e82 Author:lana Date: 2017-06-01 18:26 + URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/fa8e4de50e82 Added tag jdk-9+172 for changeset c8d6b740f0f7 ! .hgtags Changeset: 0da811617c4f Author:alanb Date: 2017-06-01 19:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/nashorn/rev/0da811617c4f Merge ! .hgtags
hg: jigsaw/jake/jdk: More clean-up and additions to ServiceLoader tests
Changeset: fa1a0ceecb2a Author:alanb Date: 2017-06-01 20:44 +0100 URL: http://hg.openjdk.java.net/jigsaw/jake/jdk/rev/fa1a0ceecb2a More clean-up and additions to ServiceLoader tests ! test/java/util/ServiceLoader/ModulesTest.java - test/java/util/ServiceLoader/NoInheritanceTest.java - test/java/util/ServiceLoader/NoUsesTest.java + test/java/util/ServiceLoader/classpath/pearscript/META-INF/services/javax.script.ScriptEngineFactory + test/java/util/ServiceLoader/classpath/pearscript/org/pear/PearScript.java + test/java/util/ServiceLoader/classpath/pearscript/org/pear/PearScriptEngineFactory.java + test/java/util/ServiceLoader/inheritance/NoInheritanceTest.java + test/java/util/ServiceLoader/inheritance/test/module-info.java + test/java/util/ServiceLoader/inheritance/test/p/Main.java - test/java/util/ServiceLoader/modules/noinheritance/module-info.java - test/java/util/ServiceLoader/modules/noinheritance/test/Main.java - test/java/util/ServiceLoader/modules/nouses/module-info.java - test/java/util/ServiceLoader/modules/nouses/test/Main.java + test/java/util/ServiceLoader/nouses/NoUsesTest.java + test/java/util/ServiceLoader/nouses/test/module-info.java + test/java/util/ServiceLoader/nouses/test/p/Main.java + test/java/util/ServiceLoader/security/SecurityTest.java + test/java/util/ServiceLoader/security/test/module-info.java + test/java/util/ServiceLoader/security/test/p/Tests.java - test/java/util/ServiceLoader/src/pearscript/META-INF/services/javax.script.ScriptEngineFactory - test/java/util/ServiceLoader/src/pearscript/org/pear/PearScript.java - test/java/util/ServiceLoader/src/pearscript/org/pear/PearScriptEngineFactory.java