From 3b5hkp at nottheoilrig.com Wed Jan 1 14:16:20 2014 From: 3b5hkp at nottheoilrig.com (Jack Bates) Date: Wed, 01 Jan 2014 14:16:20 -0800 Subject: application/x-java-applet;jpi-version=1.6.0_06 Message-ID: <52C493B4.7010501@nottheoilrig.com> Hello, Firefox complains "A plugin is needed to display this content." when I try to access Oracle Forms. I am running a fresh install of Ubuntu 13.10 plus the icedtea-6-plugin package, version 1.4. The plugin is detected by Firefox when I visit both about:addons and about:plugins I reduced the Oracle Forms landing page to this test case: http://nottheoilrig.com/java/201306210 Firefox complains with the same error when I visit this test case ("A plugin is needed to display this content.") but the error goes away if I drop the "jpi-version" from the test case. Unfortunately I can't drop the "jpi-version" from the actual Oracle Forms landing page. Can IcedTea-Web run the Oracle Forms applet? Thanks! From jvanek at redhat.com Thu Jan 2 02:14:49 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 02 Jan 2014 11:14:49 +0100 Subject: [rfc][icedtea-web] Minor addition to html-gen.sh In-Reply-To: <52361852.9122916.1387835121067.JavaMail.root@redhat.com> References: <1341421797.9087152.1387821059407.JavaMail.root@redhat.com> <52B89E1A.7080704@redhat.com> <52361852.9122916.1387835121067.JavaMail.root@redhat.com> Message-ID: <52C53C19.7020401@redhat.com> On 12/23/2013 10:45 PM, Andrew Azores wrote: > ----- Original Message ----- > From: "Jiri Vanek" > To: "Andrew Azores" > Cc: "IcedTea Distro List" > Sent: Monday, December 23, 2013 3:33:30 PM > Subject: Re: [rfc][icedtea-web] Minor addition to html-gen.sh > >> On 12/23/2013 06:50 PM, Andrew Azores wrote: >>> Hi, >>> >>> ChangeLog: >>> * html-gen.sh: Added hyperlinks for revisions in generated ChangeLog >>> >>> This patch adds revision hyperlinks to the generated ChangeLog html used for javaws -about. The revisions should match up with the ChangeLog entry they're placed next to so long as the ChangeLog is properly kept in sync with the actual hg history. The script just assumes that the last 10 entries in hg log correspond 1:1 to the last 10 entries in the plain ChangeLog file. The script also uses the remote URL of the current repo to figure out where to link revisions, so it should still work and link to the correct revisions once the script is branched out of hg/icedtea-web and into hg/release/icedtea-web-1.5, for example. >>> >>> Thanks, >>> >>> Andrew A >> >> >> The code is ok, you are shell master :) > > Oh stop, you're making me blush... > > :) > >> >> >> There was task (created and assigned to himself by Pavel, but he is to lazy to act O:) to move our luncher.in from bashism to general shell. Do you wont to take it? > > Hmm, perhaps. To be honest I don't actually have a very good grasp on what's bash-specific and what's plain sh compliant, but I'd be glad to look into it at least. > >> >> >> Several general hints: >> >> >> "...sions should match up with the ChangeLog entry they're placed next to so long as the ChangeLog is properly kept in sync w..." >> - thsi is generally not true for head, but should be true for branches. Eg right now the head have one minor commit one push before head. >> Anyway I'm against to fix this, as this will made code unnecessary complex, and current functionality is more then enough (is great anough :) >> >> On current head, the first link is broknen: >> generated http://icedtea.classpath.org/hg/icedtea-web/rev/4c1610ee5941 against real http://icedtea.classpath.org/hg/icedtea-web/rev/17818bc7aba3. Not sure how it happnede, but again not worthy to fix imho (it lead user to repo anyway) >> >> feel free to elaborate as you wish. > > Hmm, not happening for me. At least not for the very first link. Do you have a local commit that you haven't pushed yet? The script doesn't do any checking to ensure that the commits it finds in the log have actually been pushed to remote - which should be okay, since really users are only ever going to see the result of this script when it's run during a release anyway, at which point I would think all local commits have been pushed? Yes that was the cause of course. > > I do see that the hyperlinks are out of sync later down the list, so I guess at some point there was a commit that is in "hg log" but not ChangeLog. Tsk, tsk... but yes, at least it brings users to the repo, even if it's not quite the right commit. I don't see a good way around this unless I start pulling the ChangeLog.html information from "hg log -v" rather than the ChangeLog itself. This would work but I think it's better to keep using ChangeLog, since every ChangeLog entry will definitely have good information and the proper format, whereas commit messages only "hopefully" do. > >> >> "... out of hg/icedtea-web and into hg/release/icedtea-web-1.5..." .. nice :) >> >> Only one "against the immediate push" : I dont think the revision text is worthy. I would use current date-name as link text, and href same as have current revision text. >> > > New patch uses the date part of the line as the hyperlink. I think it didn't look very nice when I included the author name as part of the link. Yes, it looks ok. > >> >> One thing to think about, or for next push or whatever - There is hardcoded 10 items in chnaglog - Imho the whole changelog since last release is worthy. So 1.5 will have whole changelog since 1.4 branching. 1.5.1 will have whole chnagelog since 1.5(.0)... and os on. I' afraid the hgtags file is only helper here. Is it to hard to implement? >> >> >> Thanx! Nice patch! >> >> >> J. > > This makes sense. I'll have to look at how I might make use of the hgtags file for this, but I don't think it's going to be trivial to make the script work that way. But it should be doable somehow. Possible idea - we can pass the number of items to include as parameter to script. The value of this param may be hardcoded in makefile for every release, or initialised out of script .. somehow better.... (the reason why hardcode/init it outside is nothing else code readability) Feel free to push containing/not containing above as you wish. Thanx, J. From ptisnovs at icedtea.classpath.org Thu Jan 2 02:18:30 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 02 Jan 2014 10:18:30 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBitBltAffineIdentityTr... Message-ID: changeset 66142c6745c8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=66142c6745c8 author: Pavel Tisnovsky date: Thu Jan 02 11:22:40 2014 +0100 Ten new tests added into BitBitBltAffineIdentityTransformOp.java: diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r ee50a819aaeb -r 66142c6745c8 ChangeLog --- a/ChangeLog Fri Dec 20 11:32:56 2013 +0100 +++ b/ChangeLog Thu Jan 02 11:22:40 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-02 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Ten new tests added into BitBitBltAffineIdentityTransformOp.java: + 2013-12-20 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java: diff -r ee50a819aaeb -r 66142c6745c8 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Fri Dec 20 11:32:56 2013 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Thu Jan 02 11:22:40 2014 +0100 @@ -2787,6 +2787,146 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp4); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Jan 2 03:02:05 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 02 Jan 2014 11:02:05 +0000 Subject: /hg/rhino-tests: Added new test testToString into AbstractScript... Message-ID: changeset 1cf2215e04c1 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=1cf2215e04c1 author: Pavel Tisnovsky date: Thu Jan 02 12:06:14 2014 +0100 Added new test testToString into AbstractScriptEngineClassTest. diffstat: ChangeLog | 5 +++++ src/org/RhinoTests/AbstractScriptEngineClassTest.java | 9 +++++++++ 2 files changed, 14 insertions(+), 0 deletions(-) diffs (31 lines): diff -r 19f1168ca1c0 -r 1cf2215e04c1 ChangeLog --- a/ChangeLog Fri Dec 20 11:03:41 2013 +0100 +++ b/ChangeLog Thu Jan 02 12:06:14 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-02 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + Added new test testToString into AbstractScriptEngineClassTest. + 2013-12-20 Pavel Tisnovsky * src/org/RhinoTests/JavaScriptsTest.java: diff -r 19f1168ca1c0 -r 1cf2215e04c1 src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Fri Dec 20 11:03:41 2013 +0100 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Jan 02 12:06:14 2014 +0100 @@ -1859,6 +1859,15 @@ } /** + * Test for method javax.script.AbstractScriptEngine.getClass().toString() + */ + protected void testToString() { + String asString; + asString = this.abstractScriptEngineClass.toString(); + assertEquals("class javax.script.AbstractScriptEngine", asString, "wrong toString() return value"); + } + + /** * Test for instanceof operator applied to a class javax.script.AbstractScriptEngine */ @SuppressWarnings("cast") From jvanek at redhat.com Thu Jan 2 04:13:18 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 02 Jan 2014 13:13:18 +0100 Subject: application/x-java-applet;jpi-version=1.6.0_06 In-Reply-To: <52C493B4.7010501@nottheoilrig.com> References: <52C493B4.7010501@nottheoilrig.com> Message-ID: <52C557DE.4080700@redhat.com> On 01/01/2014 11:16 PM, Jack Bates wrote: Hello! > > Firefox complains "A plugin is needed to display this content." when I try to access Oracle Forms. I > am running a fresh install of Ubuntu 13.10 plus the icedtea-6-plugin package, version 1.4. The > plugin is detected by Firefox when I visit both about:addons and about:plugins > > I reduced the Oracle Forms landing page to this test case: > > http://nottheoilrig.com/java/201306210 Thank you for reproducer! > > Firefox complains with the same error when I visit this test case ("A plugin is needed to display > this content.") but the error goes away if I drop the "jpi-version" from the test case. > Unfortunately I can't drop the "jpi-version" from the actual Oracle Forms landing page. This appeared to be more tricky then I thought at first. The attached patch is fixing the reproducers behaviour, however there is issue, that this type of definition requires exact hardccoded "_06" in mime descripor. If Forms works for you, I would be happy to include "application/x-java-applet;jpi-version=1.6.0_06:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.6.0_06:class,jar:IcedTea;" strings to itw when compiled by jdk7. Currently, when icedtea-web is compiled by jdk6 it is using: "application/x-java-applet;jpi-version=1.6.0_50:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.6.0_50:class,jar:IcedTea;" and when jdk7. "application/x-java-applet;jpi-version=1.7.0_50:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.7.0_50:class,jar:IcedTea;" So actually the issue will not be fixed by compilation by jdk6. The oracle forms are requesting *exactly* 1.6.0_06 version, so even if we include "application/x-java-applet;jpi-version=1.6.0_50:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.6.0_50:class,jar:IcedTea;" then your applet will still not be detected by firefox properly :( As I'm not aware of any wildchars for mimedescritptiors, the only correct approach seems to be some generated list of: "application/x-java-applet;jpi-version=1.6.0_01:class,jar:IcedTea;" "application/x-java-applet;jpi-version=1.6.0_02:class,jar:IcedTea;" ... "application/x-java-applet;jpi-version=1.6.0_99:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.6.0_01:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.6.0_02:class,jar:IcedTea;" .... "application/x-java-bean;jpi-version=1.6.0_99:class,jar:IcedTea;" "application/x-java-applet;jpi-version=1.7.0_01:class,jar:IcedTea;" "application/x-java-applet;jpi-version=1.7.0_02:class,jar:IcedTea;" ... "application/x-java-applet;jpi-version=1.7.0_99:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.7.0_01:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.7.0_02:class,jar:IcedTea;" .... "application/x-java-bean;jpi-version=1.7.0_99:class,jar:IcedTea;" "application/x-java-applet;jpi-version=1.8.0_01:class,jar:IcedTea;" "application/x-java-applet;jpi-version=1.8.0_02:class,jar:IcedTea;" ... "application/x-java-applet;jpi-version=1.8.0_99:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.8.0_01:class,jar:IcedTea;" "application/x-java-bean;jpi-version=1.8.0_02:class,jar:IcedTea;" .... "application/x-java-bean;jpi-version=1.8.0_99:class,jar:IcedTea;" ...jdk9?...10/?... Which you must admit will look in about:plugins even more terrible then current loong list or maybe some custom mime types definitions in itw-settings? I have CCed Deepak, who once studied the mimetypes, maybe he will have better idea. Also maybe good idea may be to Contact oracle with the issue and ask them to remove this restriction. > > Can IcedTea-Web run the Oracle Forms applet? I don't know. Can I try somewhere? Or can you try rebuilt icedtea-web with attached patch? Best regards, J. -------------- next part -------------- diff -r 1b804476f47e Makefile.am --- a/Makefile.am Thu Jan 02 11:47:21 2014 +0100 +++ b/Makefile.am Thu Jan 02 12:51:00 2014 +0100 @@ -123,6 +123,7 @@ # Fake update version to work with the Deployment Toolkit script used by Oracle # http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html +# be aware of usage in IcedTeaNPPlugin.cc export JDK_UPDATE_VERSION=50 # Sources list diff -r 1b804476f47e plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jan 02 11:47:21 2014 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jan 02 12:51:00 2014 +0100 @@ -62,13 +62,21 @@ #define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." #ifdef HAVE_JAVA7 +// regullar jpi support, JDK_UPDATE_VERSION is *hardcoded* in Makefile.am to 50 #define JPI_VERSION "1.7.0_" JDK_UPDATE_VERSION #define PLUGIN_APPLET_MIME_DESC7 \ "application/x-java-applet;version=1.7:class,jar:IcedTea;" #define PLUGIN_BEAN_MIME_DESC7 \ "application/x-java-bean;version=1.7:class,jar:IcedTea;" +// hacky approach to support jpi of 6 in jpi of 7 + #define JPI6_VERSION \ + "application/x-java-applet;jpi-version=1.6.0_06:class,jar:IcedTea;" \ + "application/x-java-bean;jpi-version=1.6.0_06:class,jar:IcedTea;" #else +// regullar jpi support #define JPI_VERSION "1.6.0_" JDK_UPDATE_VERSION +// no need to re-deffine + #define JPI6_VERSION #define PLUGIN_APPLET_MIME_DESC7 #define PLUGIN_BEAN_MIME_DESC7 #endif @@ -109,7 +117,8 @@ "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ PLUGIN_BEAN_MIME_DESC7 \ "application/x-java-bean;jpi-version=" JPI_VERSION ":class,jar:IcedTea;" \ - "application/x-java-vm-npruntime::IcedTea;" + "application/x-java-vm-npruntime::IcedTea;" \ + JPI6_VERSION #define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE #define PLUGIN_MIME_TYPE "application/x-java-vm" From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 05:13:14 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 13:13:14 +0000 Subject: [Bug 1635] New: Fatal: Read Error: Could not read or parse the JNLP file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 Bug ID: 1635 Summary: Fatal: Read Error: Could not read or parse the JNLP file Classification: Unclassified Product: IcedTea-Web Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: blocker Priority: P3 Component: Plugin Assignee: dbhole at redhat.com Reporter: hommesansqualite at gmail.com CC: unassigned at icedtea.classpath.org net.sourceforge.jnlp.LaunchException: Fatal: Read Error: Could not read or parse the JNLP file. You can try to download this file manually and send it as bug report to IcedTea-Web team. at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:472) at net.sourceforge.jnlp.Launcher.launch(Launcher.java:278) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:211) at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:53) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:177) Caused by: net.sourceforge.jnlp.ParseException: Invalid XML document syntax. at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1312) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:206) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:190) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:175) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:161) at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:452) ... 5 more Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing of the XML definition at line 1: Expected: '<' but got: '?' at net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1143) at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:503) at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) ... 10 more -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/ee7830ea/attachment.html From jvanek at redhat.com Thu Jan 2 05:42:15 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 02 Jan 2014 14:42:15 +0100 Subject: [rfc][icedtea-web] repalced sun.misc.base64decoder Message-ID: <52C56CB7.3020601@redhat.com> as in subject By copying from openjdk in same way as base64encoder was replaced - http://icedtea.classpath.org/hg/icedtea-web/rev/f1468696eda3 hehe, fun is that this decoder was added after encoder was removed :)) For jdk8 would be necessary to use unified implementation which come with jep 135: http://openjdk.java.net/projects/jdk8/features#135 J. -------------- next part -------------- A non-text attachment was scrubbed... Name: repalcededBAse64Decoder.patch Type: text/x-patch Size: 24529 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/72434ecd/repalcededBAse64Decoder-0001.patch From aazores at icedtea.classpath.org Thu Jan 2 06:43:10 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 02 Jan 2014 14:43:10 +0000 Subject: /hg/icedtea-web: Added ChangeLog revision hyperlinking to html-g... Message-ID: changeset 6ec72d653144 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6ec72d653144 author: Andrew Azores date: Thu Jan 02 09:42:52 2014 -0500 Added ChangeLog revision hyperlinking to html-gen.sh diffstat: ChangeLog | 5 +++++ html-gen.sh | 35 +++++++++++++++++++++++++++-------- 2 files changed, 32 insertions(+), 8 deletions(-) diffs (95 lines): diff -r 81dfc0552a1c -r 6ec72d653144 ChangeLog --- a/ChangeLog Fri Dec 27 09:49:23 2013 -0500 +++ b/ChangeLog Thu Jan 02 09:42:52 2014 -0500 @@ -1,3 +1,8 @@ +2014-01-02 Andrew Azores + + Added ChangeLog revision hyperlinking to html-gen.sh + * html-gen.sh: ChangeLog dates made hyperlinks to corresponding commits + 2013-12-27 Andrew Azores Resolve deadlock issue in JNLPClassLoader. See diff -r 81dfc0552a1c -r 6ec72d653144 html-gen.sh --- a/html-gen.sh Fri Dec 27 09:49:23 2013 -0500 +++ b/html-gen.sh Thu Jan 02 09:42:52 2014 -0500 @@ -45,24 +45,35 @@ # same directory as this script. These generated HTML documents are then used # in the netx About Dialog, which can be invoked with "javaws -about". -# Currently the script is not configurable in any way and the files it processes +# The only configuration option is the number of Changesets, and the files processed # are hardcoded. To run the script manually, create a directory "html-gen" in the # same directory as this script, containing files named AUTHORS, NEWS, ChangeLog, # and COPYING. Note that these files WILL be modified in-place during the HTML # "conversion" process. Setting the environment variable "HTML_GEN_DEBUG" to "true" # will enable some output from the script, which may be useful if you encounter # issues with this script's processing of an input file. - -if [ -z "$HTML_GEN_DEBUG" ]; then HTML_GEN_DEBUG="false"; fi +# The number of Changesets to process into the ChangeLog can be set by setting the +# environment variable HTML_GEN_CHANGESETS, or by passing an integer argument to +# the script. The parameter will take priority over the environment variable. print_debug() { - if [ "$HTML_GEN_DEBUG" == "true" ]; then echo "$1"; fi + if [ "$HTML_GEN_DEBUG" ]; then echo "$1"; fi } +CHANGESETS="$1" + +if [ -z "$CHANGESETS" ]; then CHANGESETS="$HTML_GEN_CHANGESETS"; fi + +if [ -z "$CHANGESETS" ] || [ "$CHANGESETS" -lt 0 ]; then CHANGESETS=10; fi + +NEWS_ITEMS=2 +REPO_URL="$(hg paths default | sed -r 's/.*icedtea.classpath.org\/(.*)/\1/')" + start_time=$(date +%s.%N) cd html-gen +print_debug "Generating HTML content for javaws -about for $REPO_URL. $CHANGESETS changesets, $NEWS_ITEMS news items" print_debug "Starting sed substitutions" for FILE in NEWS AUTHORS COPYING ChangeLog do @@ -88,6 +99,8 @@ sed -i '5i
Jam Icon

' AUTHORS.html echo "" >> AUTHORS.html +REVS=(`hg log -l$CHANGESETS | grep 'changeset:' | cut -d: -f3 | tr '\n' ' '`) + print_debug "Done. Starting formatting (bolding, mailto and hyperlink creation)" for FILE in NEWS.html ChangeLog.html @@ -105,20 +118,26 @@ BOLD=0 COUNTER=$(( $COUNTER + 1 )) fi - if [[ $COUNTER -gt 2 ]] # Cut to two releases + if [[ $COUNTER -gt $NEWS_ITEMS ]] # Cut to two releases then break fi else - if [[ $LINE =~ .*\<\;.*\@.*\>\; ]] # Matches eg , after HTML-escaping + email_regex=".*\<.*\@.*\>" + if [[ $LINE =~ $email_regex ]] # Matches eg , after HTML-escaping then BOLD=0 fi - if [[ $LINE =~ [0-9]{4}-[0-9]{2}-[0-9]{2}* ]] # Matches eg 2013-07-01 + date_regex="[0-9]{4}-[0-9]{2}-[0-9]{2}" + if [[ $LINE =~ $date_regex* ]] # Matches line starting with eg 2013-07-01 then + html_space="\ \ " + REV=${REVS[$COUNTER]} + # Turn the date into a hyperlink for the revision this changelog entry describes + LINE=$(echo "$LINE" | sed -r "s|($date_regex)($html_space.*$html_space.*)|\1\2|") COUNTER=$(( $COUNTER + 1 )) fi - if [[ $COUNTER -gt 10 ]] # Cut to ten changesets + if [[ $COUNTER -gt $CHANGESETS ]] # Cut to ten changesets then break fi From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 08:43:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 16:43:26 +0000 Subject: [Bug 1631] seg fault prints error on stderr then freezes browser In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1631 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |aazores at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/6b0f621e/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 08:53:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 16:53:21 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #1 from Deepak Bhole --- Hi, can you provide some more details? Which site did you visit that caused this? Are there any specific sequence of actions needed to trigger it? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/dcc087fe/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 08:53:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 16:53:49 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |aazores at redhat.com -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/26027bb3/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 09:24:11 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 17:24:11 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #2 from hommesansqualite at gmail.com --- (In reply to comment #1) > Hi, can you provide some more details? Which site did you visit that caused > this? Are there any specific sequence of actions needed to trigger it? Hi, yes thank you. This is the error warning I get when I open up a secure "HTTPS" page on an online bank website and click on link-button to launch an executable file named "mijn-dealingroom.jnlp" . That sequance would open the JNLP application on my desktop. I am running on UBUNTU 13.10 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/73a58385/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 09:31:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 17:31:44 +0000 Subject: [Bug 1631] seg fault prints error on stderr then freezes browser In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1631 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #1 from Andrew Azores --- I'm unable to reproduce this with IcedTea-Web 1.3.3, 1.4.1, or 1.5pre (Arch, x86_64). No segfault appears to occur and the browser does not freeze. The applet on the page does fail to load, with the attached errors. I'm not sure what is causing the seg fault you are experiencing, but this applet appears to depend on being run in a Windows environment anyway. I will set up an i686 Debian VM to see if I can reproduce the error after more closely matching your environment. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/613246fa/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 09:32:20 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 17:32:20 +0000 Subject: [Bug 1631] seg fault prints error on stderr then freezes browser In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1631 --- Comment #2 from Andrew Azores --- Created attachment 999 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=999&action=edit dll error -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/df109078/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 09:58:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 17:58:38 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED --- Comment #3 from Andrew Azores --- Is there any way I could download this JNLP file for myself, or is it only within a banking session? If it requires a bank sign-in, would you be able to/comfortable with providing your specific JNLP file, after removing all personally identifiable information from it? The error is about the JNLP file being malformed, so I'd like to verify whether or not this is truly the case. If the file is correctly formatted then it will also help with determining why we are improperly parsing it. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/35936874/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 10:14:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 18:14:10 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvanek at redhat.com --- Comment #4 from JiriVanek --- If the file is really malformed xml, then there is hardly something what we can do in 1.4 However in 1.5 was done great improvement in parsing feasability, so it would be worthy to try both head(1.5) and 1.4. But yes, first step is to see the jnlp file. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/ea8c8b36/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 2 10:22:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 02 Jan 2014 18:22:24 +0000 Subject: [Bug 1631] seg fault prints error on stderr then freezes browser In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1631 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED CC| |jvanek at redhat.com Resolution|--- |INVALID --- Comment #3 from JiriVanek --- it is similar to https://bugzilla.redhat.com/show_bug.cgi?id=1047394 I'm wondering if providers really provides just windows' dll or we are somehow ignoring the architecture... But I bet for first statement. Also - the plugin is not freezing in this case... (I have just tried this reproducer on both 32 and 64 and jdk 6 and 7) -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140102/34e05625/attachment.html From jvanek at redhat.com Fri Jan 3 01:49:10 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 03 Jan 2014 10:49:10 +0100 Subject: [rfc][icedtea-web] presort messages by copy all naturally Message-ID: <52C68796.400@redhat.com> The copy all will be probably most used button in console for user providing stdout/err for bugging purposes. So it should behave naturally, and so sort plugin/java messages as they were generated (by date) not how arriveds (as plugin messages may be delayde when flowing from plugin to java) changelog: netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: added (sortCopyAll) checkbox. Logic from (copyPlainActionPerformed) and (copyRichActionPerformed) extracted to new (fillClipBoard) which also used correct call of ConsoleOutputPaneModel.importList based on (sortCopyAll) value. netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: added abstraction for (importList) to alow sorting via parameter -------------- next part -------------- A non-text attachment was scrubbed... Name: presortMessagesNaturallyInCopyAll.patch Type: text/x-patch Size: 6066 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/1e0d489e/presortMessagesNaturallyInCopyAll.patch From ptisnovs at icedtea.classpath.org Fri Jan 3 04:25:10 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 03 Jan 2014 12:25:10 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset 04a041573357 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=04a041573357 author: Pavel Tisnovsky date: Fri Jan 03 13:29:15 2014 +0100 Ten new tests added into BitBltAffineQuadrantRotateTransformOp.java diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 142 +++++++++- 2 files changed, 146 insertions(+), 1 deletions(-) diffs (171 lines): diff -r 66142c6745c8 -r 04a041573357 ChangeLog --- a/ChangeLog Thu Jan 02 11:22:40 2014 +0100 +++ b/ChangeLog Fri Jan 03 13:29:15 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-03 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Ten new tests added into BitBltAffineQuadrantRotateTransformOp.java + 2014-01-02 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r 66142c6745c8 -r 04a041573357 src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Thu Jan 02 11:22:40 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Fri Jan 03 13:29:15 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2013 Red Hat + Copyright (C) 2013, 2014 Red Hat This file is part of IcedTea. @@ -109,6 +109,146 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_3BYTE_BGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType3ByteBGRRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType3ByteRGB(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From jvanek at redhat.com Fri Jan 3 04:25:31 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 03 Jan 2014 13:25:31 +0100 Subject: [rfc][icedtea-web] added support for linux system logging Message-ID: <52C6AC3B.8060309@redhat.com> I was long time thinking how to integrate this feature. - it is platform specific - java on its own have poor support for linux logging - stdout/err is logged into /var/log/messages via /etc/gdm/Xsession on SOME machines At the end I bet to new java console as main source of debug information for developers, and let the syslog sleep for a while. Finally I decided to add it - to syslog only most important error messages are incoming - mostly fatal one, and information how to find more information is included. Also they are going here in both terminal and gdm/Xsession run. It means that in gdm/Xsession the critical error is duplicated but the manual one is better formatted,and contains the url to fill the bug. And terminal or systems without gdm (or similar) are not lacking this output. C part was pretty straightforward via syslog(3), but java part ? At the end i picked up most simple solution forking new *logger* process on each line of multi-line message. As the system logger is from java side called only once per run, then the performance impact should be none. http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs will need to be updated accordingly - mention itw*settings role - mention individual settings ^ - mention usefulness of logs from console/stouts .... - mention linux system log - mention irc/mailing list/ bugzilla Looking forward to have this in! J. -------------- next part -------------- diff -r 45d7ddf403eb netx/net/sourceforge/jnlp/util/logging/OutputController.java --- a/netx/net/sourceforge/jnlp/util/logging/OutputController.java Fri Jan 03 10:49:36 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/OutputController.java Fri Jan 03 13:13:36 2014 +0100 @@ -174,8 +174,13 @@ if (LogConfig.getLogConfig().isLogToFile()) { getFileLog().log(message); } - if (LogConfig.getLogConfig().isLogToSysLog()) { - getSystemLog().log(message); + //only crucial stuff is going to system log + //only java messages handled here, plugin is onhis own + if (LogConfig.getLogConfig().isLogToSysLog() && + (s.getHeader().level.equals(Level.ERROR_ALL) || s.getHeader().level.equals(Level.WARNING_ALL)) && + s.getHeader().isC == false) { + //no headers here + getSystemLog().log(s.getMessage()); } } diff -r 45d7ddf403eb netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java --- a/netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java Fri Jan 03 10:49:36 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java Fri Jan 03 13:13:36 2014 +0100 @@ -44,14 +44,23 @@ } - + @Override - public void log(String s) { - + public void log(String message) { + final String s = "IcedTea-Web java error - for more info see itweb-config debug options or console. See http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs for help.\nIcedTea-Web java error manual log: \n" + message; + try { + String[] ss = s.split("\\n"); //exceptions have many lines + for (String m : ss) { + m = m.replaceAll("\t", " "); + ProcessBuilder pb = new ProcessBuilder("logger", "-p","user.error", "--", m); + Process p = pb.start(); + p.waitFor(); + OutputController.getLogger().log("System logger called with result of " + p.exitValue()); + } + } catch (Exception ex) { + OutputController.getLogger().log(ex); + } } - - - } diff -r 45d7ddf403eb plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Fri Jan 03 10:49:36 2014 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Fri Jan 03 13:13:36 2014 +0100 @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -153,6 +154,9 @@ push_pre_init_messages(ldebug_channel_message); \ } \ } \ + if (plugin_debug_to_system){ \ + /*no debug messages to systemlog*/\ + } \ } \ } while (0) @@ -196,6 +200,15 @@ push_pre_init_messages(ldebug_channel_message); \ } \ } \ + if (plugin_debug_to_system){ \ + /*java can not have prefix*/ \ + openlog("", LOG_NDELAY, LOG_USER);\ + syslog(LOG_ERR, "%s", "IcedTea-Web c-plugin - for more info see itweb-config debug options or console. See http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs for help.");\ + syslog(LOG_ERR, "%s", "IcedTea-Web c-plugin error manual log:");\ + /*no headers to syslog*/ \ + syslog(LOG_ERR, "%s", ldebug_body); \ + closelog(); \ + } \ } while (0) diff -r 45d7ddf403eb plugin/icedteanp/java/sun/applet/PluginDebug.java --- a/plugin/icedteanp/java/sun/applet/PluginDebug.java Fri Jan 03 10:49:36 2014 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginDebug.java Fri Jan 03 13:13:36 2014 +0100 @@ -53,7 +53,7 @@ for (Object chunk : messageChunks) { b.append(chunk); } - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, b.toString()); + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, b.toString()); } } } diff -r 45d7ddf403eb tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc --- a/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Fri Jan 03 10:49:36 2014 +0100 +++ b/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Fri Jan 03 13:13:36 2014 +0100 @@ -138,7 +138,7 @@ } -void doDebugErrorRun() { +void doDebugErrorRun(int max) { FILE* old1 = stdout; FILE* old2 = stderr; char* buf1 = " "; @@ -149,7 +149,6 @@ clock_t begin1, end1; clock_t begin2, end2; int i; - int max = 1000000; std::string hello = std::string("hello"); std::string eello = std::string("eello"); @@ -181,27 +180,42 @@ fprintf (stdout, "PLUGIN_ERROR %d\n", time_spent2); } +void doDebugErrorRun() { + doDebugErrorRun(1000000); +} + +/* + *The family of PLUGIN_DEBUG_ERROR_PROFILING tests actually do not test. + *It is just messure that the mechanisms around do not break soething fataly. + */ + TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_off) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_off) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = false; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } @@ -209,25 +223,47 @@ bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = true; plugin_debug_headers = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_on) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = false; plugin_debug_headers = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } +TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_on_syslog_on) { + bool plugin_debug_backup = plugin_debug; + bool plugin_debug_headers_backup = plugin_debug_headers; + bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; + plugin_debug_to_console = false; + plugin_debug = true; + plugin_debug_headers = true; + plugin_debug_to_system = true; + doDebugErrorRun(50); + plugin_debug = plugin_debug_backup; + plugin_debug_headers = plugin_debug_headers_backup; + plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; +} + From ptisnovs at icedtea.classpath.org Fri Jan 3 04:37:48 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 03 Jan 2014 12:37:48 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset ca00dabf6d50 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ca00dabf6d50 author: Pavel Tisnovsky date: Fri Jan 03 13:41:54 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 + src/org/RhinoTests/AbstractScriptEngineClassTest.java | 49 +++++++++++++++++++ 2 files changed, 54 insertions(+), 0 deletions(-) diffs (78 lines): diff -r 1cf2215e04c1 -r ca00dabf6d50 ChangeLog --- a/ChangeLog Thu Jan 02 12:06:14 2014 +0100 +++ b/ChangeLog Fri Jan 03 13:41:54 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-03 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-02 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r 1cf2215e04c1 -r ca00dabf6d50 src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Jan 02 12:06:14 2014 +0100 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Fri Jan 03 13:41:54 2014 +0100 @@ -887,6 +887,7 @@ methodsThatShouldExist_jdk6.put("getBindings", new Class[] {int.class}); methodsThatShouldExist_jdk6.put("setBindings", new Class[] {javax.script.Bindings.class, int.class}); methodsThatShouldExist_jdk6.put("eval", new Class[] {java.io.Reader.class, javax.script.Bindings.class}); + methodsThatShouldExist_jdk6.put("eval", new Class[] {java.io.Reader.class, javax.script.Bindings.class}); methodsThatShouldExist_jdk6.put("eval", new Class[] {java.lang.String.class, javax.script.Bindings.class}); methodsThatShouldExist_jdk6.put("eval", new Class[] {java.io.Reader.class}); methodsThatShouldExist_jdk6.put("eval", new Class[] {java.lang.String.class}); @@ -1429,6 +1430,54 @@ } try { + this.abstractScriptEngineClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 07:21:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 15:21:46 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 hommesansqualite at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hommesansqualite at gmail.com --- Comment #5 from hommesansqualite at gmail.com --- (In reply to comment #3) > Is there any way I could download this JNLP file for myself, or is it only > within a banking session? If it requires a bank sign-in, would you be able > to/comfortable with providing your specific JNLP file, after removing all > personally identifiable information from it? The error is about the JNLP > file being malformed, so I'd like to verify whether or not this is truly the > case. If the file is correctly formatted then it will also help with > determining why we are improperly parsing it. The file apparently works fine only with WINDOWS and APPLE. It is developed by Interactive Data Managed Solutions AG http://www.interactivedata.com/ for the bank. A similar bug issue is reported elsewhere: https://bugs.launchpad.net/ubuntu/+source/icedtea-web/+bug/1081308 I am wary of providing the file since it stems within a logged-in secure session and may contain sensitive data but I will try to purge them and may be able to send the file. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/c70b9fc3/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 07:59:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 15:59:52 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #6 from Andrew Azores --- Completely understandable. Are you familiar with XML file formatting? The parser is complaining about the file being malformed on the first line, so it shouldn't be too difficult to find this error, if there truly is one. The first line should look like this: or maybe: could you verify if the first line of the file is like this? It's also possible that the parser is wrong and the error isn't truly on the first line, which is why it would be easiest to verify the problem if I had access to the XML myself. The launchpad bug you've linked appears to be happening for a different cause, however. I believe that particular has also already been fixed in 1.4 (it's reported against 1.3). As for the applet working on Windows and OS X systems, I'm inclined to believe that that's because users on those systems are almost guaranteed to be using Oracle's JRE for their webstart client, rather than IcedTea-Web. I doubt it has anything to do with the OS itself. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/a8c66f17/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 08:40:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 16:40:26 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 hommesansqualite at gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |NEW --- Comment #7 from hommesansqualite at gmail.com --- (In reply to comment #6) > Completely understandable. Are you familiar with XML file formatting? The > parser is complaining about the file being malformed on the first line, so > it shouldn't be too difficult to find this error, if there truly is one. The > first line should look like this: > > > > or maybe: > > > > could you verify if the first line of the file is like this? It's also > possible that the parser is wrong and the error isn't truly on the first > line, which is why it would be easiest to verify the problem if I had > access to the XML myself. > > The launchpad bug you've linked appears to be happening for a different > cause, however. I believe that particular has also already been fixed in 1.4 > (it's reported against 1.3). > > As for the applet working on Windows and OS X systems, I'm inclined to > believe that that's because users on those systems are almost guaranteed to > be using Oracle's JRE for their webstart client, rather than IcedTea-Web. I > doubt it has anything to do with the OS itself. Following are the initial lines of the file. If required I will send a sanitised copy. Thank you for your understanding and support. ? Mijn Dealingroom Interactive Data Managed Solutions AG Mijn Dealingroom -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/dbac6d7d/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 08:45:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 16:45:30 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #8 from hommesansqualite at gmail.com --- (In reply to comment #6) > Completely understandable. Are you familiar with XML file formatting? The > parser is complaining about the file being malformed on the first line, so > it shouldn't be too difficult to find this error, if there truly is one. The > first line should look like this: > > > > or maybe: > > > > could you verify if the first line of the file is like this? It's also > possible that the parser is wrong and the error isn't truly on the first > line, which is why it would be easiest to verify the problem if I had > access to the XML myself. > > The launchpad bug you've linked appears to be happening for a different > cause, however. I believe that particular has also already been fixed in 1.4 > (it's reported against 1.3). > > As for the applet working on Windows and OS X systems, I'm inclined to > believe that that's because users on those systems are almost guaranteed to > be using Oracle's JRE for their webstart client, rather than IcedTea-Web. I > doubt it has anything to do with the OS itself. Following are the initial lines of the file. If required I will send a sanitised copy. Thank you for your understanding and support. ? Mijn Dealingroom Interactive Data Managed Solutions AG Mijn Dealingroom -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/15764f4b/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 08:46:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 16:46:03 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #9 from hommesansqualite at gmail.com --- (In reply to comment #6) > Completely understandable. Are you familiar with XML file formatting? The > parser is complaining about the file being malformed on the first line, so > it shouldn't be too difficult to find this error, if there truly is one. The > first line should look like this: > > > > or maybe: > > > > could you verify if the first line of the file is like this? It's also > possible that the parser is wrong and the error isn't truly on the first > line, which is why it would be easiest to verify the problem if I had > access to the XML myself. > > The launchpad bug you've linked appears to be happening for a different > cause, however. I believe that particular has also already been fixed in 1.4 > (it's reported against 1.3). > > As for the applet working on Windows and OS X systems, I'm inclined to > believe that that's because users on those systems are almost guaranteed to > be using Oracle's JRE for their webstart client, rather than IcedTea-Web. I > doubt it has anything to do with the OS itself. Following are the initial lines of the file. If required I will send a sanitised copy. Thank you for your understanding and support. ? Mijn Dealingroom Interactive Data Managed Solutions AG Mijn Dealingroom -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/bada800c/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 3 11:00:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 03 Jan 2014 19:00:21 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #10 from Andrew Azores --- Well, the XML excerpt you've provided definitely doesn't look malformed. I've seen an error like this occur another time, and the malformed XML actually was not in the local JNLP file at all, but rather in the remote JNLP specified by the JNLP tag's href attribute. What you've provided doesn't have this attribute at all, but I suspect the problem is similar here, and likely has to do with lacking the browser's secure session for downloading resources. Without a sanitized JNLP file however, it's going to be impossible to debug any further I think. But perhaps Jiri knows something here that I don't. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/90b57ed3/attachment.html From aazores at redhat.com Fri Jan 3 11:48:35 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 3 Jan 2014 14:48:35 -0500 (EST) Subject: [rfc][icedtea-web] presort messages by copy all naturally In-Reply-To: <52C68796.400@redhat.com> References: <52C68796.400@redhat.com> Message-ID: <1298677576.10748652.1388778515100.JavaMail.root@redhat.com> > + sortCopyAll.setToolTipText("The sort by date is a bit more time consuming, but most natural for posting pusposes"); "purposes" Seems okay otherwise. Thanks, Andrew A From aazores at redhat.com Fri Jan 3 11:43:34 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 3 Jan 2014 14:43:34 -0500 (EST) Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <320643912.10744500.1388777092262.JavaMail.root@redhat.com> Message-ID: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows method calls to be made in the normal way as well as via reflection. JNLP includes both applications and applets now, and they close properly as well. ChangeLog: * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestNonPrivilegedAction.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestNonPrivilegedActionDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestNonPrivilegedActionDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestSignedExportPropertiesToUnsigned.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestSignedExportPropertiesToUnsignedDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestSignedExportPropertiesToUnsignedDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestSignedReadProperties.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestSignedReadPropertiesDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedAttacksSigned.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedAttacksSignedDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedAttacksSignedDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReadProperties.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReadPropertiesDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReadPropertiesDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReflectionAttack.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReflectionAttackDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-AppletTestUnsignedReflectionAttackDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestNonPrivilegedAction.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestNonPrivilegedActionDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestNonPrivilegedActionDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestSignedExportPropertiesToUnsigned.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestSignedExportPropertiesToUnsignedDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestSignedExportPropertiesToUnsignedDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestSignedReadProperties.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestSignedReadPropertiesDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedAttacksSigned.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedAttacksSignedDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedAttacksSignedDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReadProperties.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReadPropertiesDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReadPropertiesDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReflectionAttack.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReflectionAttackDoPrivileged.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet-ApplicationTestUnsignedReflectionAttackDoPrivileged2.jnlp: New JNLP test * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html: moved from simple reproducer * tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: makefile for new reproducer * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java: moved from simple reproducer * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java: moved from signed reproducer * tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java: added new testcases * tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java: moved to custom reproducer * tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java: moved to custom reproducer * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp: removed * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html: moved to custom reproducer * tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java: moved to custom reproducer Thanks, Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-resources.patch Type: text/x-patch Size: 120942 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/af689fa1/custom-resources-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-srcs.patch Type: text/x-patch Size: 29157 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/af689fa1/custom-srcs-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-testcases.patch Type: text/x-patch Size: 30178 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140103/af689fa1/custom-testcases-0001.patch From aazores at redhat.com Fri Jan 3 12:49:04 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 3 Jan 2014 15:49:04 -0500 (EST) Subject: [rfc][icedtea-web] added support for linux system logging In-Reply-To: <52C6AC3B.8060309@redhat.com> References: <52C6AC3B.8060309@redhat.com> Message-ID: <401864682.10766601.1388782144528.JavaMail.root@redhat.com> In IcedTeaPluginUtils.h, you have a string constant in a syslog call that references "itweb-config". Is this meant to be itweb-settings? IcedTeaPluginUtilsTest.cc - your new lines seem to be using 4x spaces as indentation whereas the existing lines are using tabs. 'man logger' also says that the 'error' level is a deprecated synonym for 'err', so perhaps the UnixSystemLog should be passing 'user.err' to the ProcessBuilder instead. Is the Process#waitFor() call here also needed? It's a rudimentary way to ensure that if UnixSystemLog#log() is called several times in succession that the logs always are written to disk in the order the calls occur, but do we really need this logging to be synchronous like this? I'm not opposed to it, just wondering if it's considered necessary. Finally, is there no library at all we can use for this rather than using ProcessBuilder? I mean, this /works/, but it feels kind of hacky to have to do it this way. Thanks, Andrew A ----- Original Message ----- From: "Jiri Vanek" To: "IcedTea Distro List" Sent: Friday, January 3, 2014 7:25:31 AM Subject: [rfc][icedtea-web] added support for linux system logging I was long time thinking how to integrate this feature. - it is platform specific - java on its own have poor support for linux logging - stdout/err is logged into /var/log/messages via /etc/gdm/Xsession on SOME machines At the end I bet to new java console as main source of debug information for developers, and let the syslog sleep for a while. Finally I decided to add it - to syslog only most important error messages are incoming - mostly fatal one, and information how to find more information is included. Also they are going here in both terminal and gdm/Xsession run. It means that in gdm/Xsession the critical error is duplicated but the manual one is better formatted,and contains the url to fill the bug. And terminal or systems without gdm (or similar) are not lacking this output. C part was pretty straightforward via syslog(3), but java part ? At the end i picked up most simple solution forking new *logger* process on each line of multi-line message. As the system logger is from java side called only once per run, then the performance impact should be none. http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs will need to be updated accordingly - mention itw*settings role - mention individual settings ^ - mention usefulness of logs from console/stouts .... - mention linux system log - mention irc/mailing list/ bugzilla Looking forward to have this in! J. From jvanek at redhat.com Mon Jan 6 05:07:02 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 06 Jan 2014 14:07:02 +0100 Subject: [rfc][icedtea-web] Message-ID: <52CAAA76.6010405@redhat.com> I would like to backport icedtea.classpath.org/hg/icedtea-web/rev/0fbf6f4ac546 to 1.4. It is in head for long time, and it is NOT the one changeset causing the regressions. J. From jvanek at redhat.com Mon Jan 6 01:16:34 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 06 Jan 2014 10:16:34 +0100 Subject: [rfc][icedtea-web] added support for linux system logging In-Reply-To: <401864682.10766601.1388782144528.JavaMail.root@redhat.com> References: <52C6AC3B.8060309@redhat.com> <401864682.10766601.1388782144528.JavaMail.root@redhat.com> Message-ID: <52CA7472.2050004@redhat.com> On 01/03/2014 09:49 PM, Andrew Azores wrote: > In IcedTeaPluginUtils.h, you have a string constant in a syslog call that references "itweb-config". Is this meant to be itweb-settings? Tahnx for check. This was included also in UnixSystemLog.java - fixed. > > IcedTeaPluginUtilsTest.cc - your new lines seem to be using 4x spaces as indentation whereas the existing lines are using tabs. I would not call it so strict, but yes. You are starting to have sharp eye;) - fixed > > 'man logger' also says that the 'error' level is a deprecated synonym for 'err', so perhaps the UnixSystemLog should be passing 'user.err' to the ProcessBuilder instead. hmhmh, ok - fixed > > Is the Process#waitFor() call here also needed? It's a rudimentary way to ensure that if UnixSystemLog#log() is called several times in succession that the logs always are written to disk in the order the calls occur, but do we really need this logging to be synchronous like this? I'm not opposed to it, just wondering if it's considered necessary. I see it differently. The waitFor is waiting for process logger to finish. When logger process finish, then it mean that the data were just send to logger daemon. Not written to disk or somehow other way processed by daemon. So my "synchronization" is just ensuring sync on itw side, not in global logging itself. (by otherwords, lines are mixed only with messages from different processes, not from itw itself. Without waitFor individual lines of stack trace may land in wrong order. If the logger process is waiting with successful exit untill dameon not only recieve message, but also untill it is proccessed, then this approach must be revisited. > > Finally, is there no library at all we can use for this rather than using ProcessBuilder? I mean, this /works/, but it feels kind of hacky to have to do it this way. Nope. It took me a long time to say final word here. And I could not believe it myself too. Few logging libraries have the support for linux logging. But always those are BIG dependencies much bigger then ITW itself. And the reputation of theirs linux logging backend were everything but not good. "this is not working, this is not implemented" .... If you have any possible replacement, feel free to scratch my approach!!! Although I consider it on one one hand hackish too, on second hand I consider it as cleanest approach at all :) > > Thanks, > Andrew A I have also changed PluginDebug to MESSADE_DEBUG it have much more sense. It is no error, just info (/me jsut hope some tests do not depend on it) Thanx for double eye! > > ----- Original Message ----- > From: "Jiri Vanek" > To: "IcedTea Distro List" > Sent: Friday, January 3, 2014 7:25:31 AM > Subject: [rfc][icedtea-web] added support for linux system logging > > I was long time thinking how to integrate this feature. > - it is platform specific > - java on its own have poor support for linux logging > - stdout/err is logged into /var/log/messages via /etc/gdm/Xsession on SOME machines > > At the end I bet to new java console as main source of debug information for developers, and let the > syslog sleep for a while. > Finally I decided to add it - to syslog only most important error messages are incoming - mostly > fatal one, and information how to find more information is included. Also they are going here in > both terminal and gdm/Xsession run. It means that in gdm/Xsession the critical error is duplicated > but the manual one is better formatted,and contains the url to fill the bug. And terminal or systems > without gdm (or similar) are not lacking this output. > > C part was pretty straightforward via syslog(3), but java part ? At the end i picked up most simple > solution forking new *logger* process on each line of multi-line message. As the system logger is > from java side called only once per run, then the performance impact should be none. > > > http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs will need to be updated accordingly > - mention itw*settings role > - mention individual settings ^ > - mention usefulness of logs from console/stouts .... > - mention linux system log > - mention irc/mailing list/ bugzilla > > Looking forward to have this in! > J. > -------------- next part -------------- diff -r 45d7ddf403eb netx/net/sourceforge/jnlp/util/logging/OutputController.java --- a/netx/net/sourceforge/jnlp/util/logging/OutputController.java Fri Jan 03 10:49:36 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/OutputController.java Mon Jan 06 10:15:39 2014 +0100 @@ -174,8 +174,13 @@ if (LogConfig.getLogConfig().isLogToFile()) { getFileLog().log(message); } - if (LogConfig.getLogConfig().isLogToSysLog()) { - getSystemLog().log(message); + //only crucial stuff is going to system log + //only java messages handled here, plugin is onhis own + if (LogConfig.getLogConfig().isLogToSysLog() && + (s.getHeader().level.equals(Level.ERROR_ALL) || s.getHeader().level.equals(Level.WARNING_ALL)) && + s.getHeader().isC == false) { + //no headers here + getSystemLog().log(s.getMessage()); } } diff -r 45d7ddf403eb netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java --- a/netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java Fri Jan 03 10:49:36 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java Mon Jan 06 10:15:39 2014 +0100 @@ -44,14 +44,23 @@ } - + @Override - public void log(String s) { - + public void log(String message) { + final String s = "IcedTea-Web java error - for more info see itweb-settings debug options or console. See http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs for help.\nIcedTea-Web java error manual log: \n" + message; + try { + String[] ss = s.split("\\n"); //exceptions have many lines + for (String m : ss) { + m = m.replaceAll("\t", " "); + ProcessBuilder pb = new ProcessBuilder("logger", "-p","user.err", "--", m); + Process p = pb.start(); + p.waitFor(); + OutputController.getLogger().log("System logger called with result of " + p.exitValue()); + } + } catch (Exception ex) { + OutputController.getLogger().log(ex); + } } - - - } diff -r 45d7ddf403eb plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Fri Jan 03 10:49:36 2014 +0100 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Mon Jan 06 10:15:39 2014 +0100 @@ -47,6 +47,7 @@ #include #include #include +#include #include #include @@ -153,6 +154,9 @@ push_pre_init_messages(ldebug_channel_message); \ } \ } \ + if (plugin_debug_to_system){ \ + /*no debug messages to systemlog*/\ + } \ } \ } while (0) @@ -196,6 +200,15 @@ push_pre_init_messages(ldebug_channel_message); \ } \ } \ + if (plugin_debug_to_system){ \ + /*java can not have prefix*/ \ + openlog("", LOG_NDELAY, LOG_USER);\ + syslog(LOG_ERR, "%s", "IcedTea-Web c-plugin - for more info see itweb-settings debug options or console. See http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs for help.");\ + syslog(LOG_ERR, "%s", "IcedTea-Web c-plugin error manual log:");\ + /*no headers to syslog*/ \ + syslog(LOG_ERR, "%s", ldebug_body); \ + closelog(); \ + } \ } while (0) diff -r 45d7ddf403eb plugin/icedteanp/java/sun/applet/PluginDebug.java --- a/plugin/icedteanp/java/sun/applet/PluginDebug.java Fri Jan 03 10:49:36 2014 +0100 +++ b/plugin/icedteanp/java/sun/applet/PluginDebug.java Mon Jan 06 10:15:39 2014 +0100 @@ -53,7 +53,7 @@ for (Object chunk : messageChunks) { b.append(chunk); } - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, b.toString()); + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, b.toString()); } } } diff -r 45d7ddf403eb tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc --- a/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Fri Jan 03 10:49:36 2014 +0100 +++ b/tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc Mon Jan 06 10:15:39 2014 +0100 @@ -138,7 +138,7 @@ } -void doDebugErrorRun() { +void doDebugErrorRun(int max) { FILE* old1 = stdout; FILE* old2 = stderr; char* buf1 = " "; @@ -149,7 +149,6 @@ clock_t begin1, end1; clock_t begin2, end2; int i; - int max = 1000000; std::string hello = std::string("hello"); std::string eello = std::string("eello"); @@ -172,7 +171,7 @@ } end2 = clock(); fclose(stdout); - fclose(stderr); + fclose(stderr); stdout = old1; stderr = old2; long time_spent1 = ((end1 - begin1)); @@ -181,27 +180,42 @@ fprintf (stdout, "PLUGIN_ERROR %d\n", time_spent2); } +void doDebugErrorRun() { + doDebugErrorRun(1000000); +} + +/* + *The family of PLUGIN_DEBUG_ERROR_PROFILING tests actually do not test. + *It is just messure that the mechanisms around do not break soething fataly. + */ + TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_off) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_off) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = false; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } @@ -209,25 +223,47 @@ bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = true; plugin_debug_headers = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_on) { bool plugin_debug_backup = plugin_debug; bool plugin_debug_headers_backup = plugin_debug_headers; bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; plugin_debug_to_console = false; plugin_debug = false; plugin_debug_headers = true; + plugin_debug_to_system = false; //no need to torture system log in testing doDebugErrorRun(); plugin_debug = plugin_debug_backup; plugin_debug_headers = plugin_debug_headers_backup; plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; } +TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_on_syslog_on) { + bool plugin_debug_backup = plugin_debug; + bool plugin_debug_headers_backup = plugin_debug_headers; + bool plugin_debug_console_backup = plugin_debug_to_console; + bool plugin_debug_system_backup = plugin_debug_to_system; + plugin_debug_to_console = false; + plugin_debug = true; + plugin_debug_headers = true; + plugin_debug_to_system = true; + doDebugErrorRun(50); + plugin_debug = plugin_debug_backup; + plugin_debug_headers = plugin_debug_headers_backup; + plugin_debug_to_console = plugin_debug_console_backup; + plugin_debug_to_system = plugin_debug_system_backup; +} + From aazores at redhat.com Mon Jan 6 12:53:40 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 06 Jan 2014 15:53:40 -0500 Subject: [rfc][icedtea-web] In-Reply-To: <52CAAA76.6010405@redhat.com> References: <52CAAA76.6010405@redhat.com> Message-ID: <52CB17D4.2030107@redhat.com> On 01/06/2014 08:07 AM, Jiri Vanek wrote: > I would like to backport > icedtea.classpath.org/hg/icedtea-web/rev/0fbf6f4ac546 to 1.4. > > It is in head for long time, and it is NOT the one changeset causing > the regressions. > > > J. Sounds good to me - isn't this required for the standard Java applet test page [1] to work, even? Anyway I remember coming across this before when searching for the cause of some JS regressions, and I remember ruling this out as the cause for any problems that I could identify. So it does seem safe to backport IMO as well. [1] https://www.java.com/en/download/installed.jsp Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Jan 6 07:17:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jan 2014 15:17:45 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #12 from hommesansqualite at gmail.com --- Created attachment 1000 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1000&action=edit JNLP file to be checked Please note that the alfanumerical values of the following lines of the original file have been altered into a 0 to 9 sequence of the same length, for security reasons. Hopefully this does not affect your analysis: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #13 from Andrew Azores --- Thank you very much for providing this! This file: - Works fine on Fedora 19 with IcedTea-Web 1.5pre, but has to use the MalformedXML parser for it - Fails with the exact error you are seeing on Ubuntu 13.10 VM - Fails with the same error in Fedora 19 with IcedTea-Web 1.4 Something I noticed is that 'file -bi' shows the charset for your JNLP file as utf-8 whereas most other known-to-work JNLP files are us-ascii (and other known utf-8 ones are specifically for testing difficulties in parsing!). Wondering if this had something to do with it, I tried 'iconv -f UTF8 -t US-ASCII' on the file to see if it could be converted to ASCII. The result: "iconv: illegal input sequence at position 0". So it would appear that this JNLP's encoding is causing problems for the parser used in 1.4. Once 1.5 is out and available for Ubuntu, you should be able to use the applet as expected. In the meantime, I have a stopgap solution that you can use. Ensure that you have 'iconv' installed and in your PATH. Then, run this command: 'iconv -f UTF8 -t US-ASCII -c TARGET.jnlp > NEW.jnlp', where TARGET is the original JNLP file and NEW is a new file name that you would like to use. This will attempt to convert TARGET into NEW, ignoring any non-convertible characters. So, for example, iconv -f UTF8 -t US-ASCII -c Downloads/Mijn-Dealingroom_check.jnlp > Downloads/Mijn-Dealingroom_check_ascii.jnlp You should then be able to use the applet if you launch it via the new "ascii" version of the JNLP. Let me know if this works for you. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140106/b7953822/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Mon Jan 6 05:43:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 06 Jan 2014 13:43:52 +0000 Subject: [Bug 1635] Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 --- Comment #11 from JiriVanek --- Well what you can try is also this: install xmllint (should be in yor distribution repo) Download the jnlp file manualy and run: xmllint /your/downlaoded/file.jnlp It will validate it. It it will pass (which I doubt as error is definition at line 1: Expected: '<' but got: '?') you can try also: xmllint --dtdvalid http://java.sun.com/dtd/JNLP-6.0.dtd /your/downloded/file.jnlp But only few jnlp files are really valid:) On the other hand, Andrew is probably right, that it looks more like itw is not able to download the file at all. And so receive empty file, or some 404 error or something like that. I guess you have run it from commandline? It may be worthy to run (two commands) javaws -Xclearcache javaws -Xnofork -verbose url/to/file.jnlp also maybe -nosecurity tag may be worthy to try. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140106/f7a7d5d1/attachment-0001.html From ptisnovs at icedtea.classpath.org Mon Jan 6 02:19:41 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 06 Jan 2014 10:19:41 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset ba7a236d21c1 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ba7a236d21c1 author: Pavel Tisnovsky date: Mon Jan 06 11:23:56 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 +++ src/org/RhinoTests/BindingsClassTest.java | 48 +++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r ca00dabf6d50 -r ba7a236d21c1 ChangeLog --- a/ChangeLog Fri Jan 03 13:41:54 2014 +0100 +++ b/ChangeLog Mon Jan 06 11:23:56 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-06 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-03 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r ca00dabf6d50 -r ba7a236d21c1 src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Fri Jan 03 13:41:54 2014 +0100 +++ b/src/org/RhinoTests/BindingsClassTest.java Mon Jan 06 11:23:56 2014 +0100 @@ -1245,6 +1245,54 @@ } try { + this.bindingsClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From ptisnovs at icedtea.classpath.org Mon Jan 6 02:15:49 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 06 Jan 2014 10:15:49 +0000 Subject: /hg/gfx-test: Five new tests added into ClippingCircleByConvexPo... Message-ID: changeset 9d4807b9f0c5 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9d4807b9f0c5 author: Pavel Tisnovsky date: Mon Jan 06 11:20:02 2014 +0100 Five new tests added into ClippingCircleByConvexPolygonalShape test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java | 90 ++++++++++ 2 files changed, 95 insertions(+), 0 deletions(-) diffs (112 lines): diff -r 04a041573357 -r 9d4807b9f0c5 ChangeLog --- a/ChangeLog Fri Jan 03 13:29:15 2014 +0100 +++ b/ChangeLog Mon Jan 06 11:20:02 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java: + Five new tests added into ClippingCircleByConvexPolygonalShape test suite. + 2014-01-03 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r 04a041573357 -r 9d4807b9f0c5 src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java --- a/src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java Fri Jan 03 13:29:15 2014 +0100 +++ b/src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java Mon Jan 06 11:20:02 2014 +0100 @@ -1059,6 +1059,96 @@ } /** + * Check if circle shape could be clipped by a convex polygonal shape. Circle is + * rendered using alpha paint with white color at 0% transparency. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCircleByPolygonalShapeAlphaPaintWhite000(TestImage image, Graphics2D graphics2d) + { + // draw circle clipped by convex polygonal shape using alpha paint with 0% transparency + drawCircleClippedByPolygonalShapeAlphaPaintWhite(image, graphics2d, 0); + // test result + return TestResult.PASSED; + } + + /** + * Check if circle shape could be clipped by a convex polygonal shape. Circle is + * rendered using alpha paint with white color at 25% transparency. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCircleByPolygonalShapeAlphaPaintWhite025(TestImage image, Graphics2D graphics2d) + { + // draw circle clipped by convex polygonal shape using alpha paint with 25% transparency + drawCircleClippedByPolygonalShapeAlphaPaintWhite(image, graphics2d, 25); + // test result + return TestResult.PASSED; + } + + /** + * Check if circle shape could be clipped by a convex polygonal shape. Circle is + * rendered using alpha paint with white color at 50% transparency. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCircleByPolygonalShapeAlphaPaintWhite050(TestImage image, Graphics2D graphics2d) + { + // draw circle clipped by convex polygonal shape using alpha paint with 50% transparency + drawCircleClippedByPolygonalShapeAlphaPaintWhite(image, graphics2d, 50); + // test result + return TestResult.PASSED; + } + + /** + * Check if circle shape could be clipped by a convex polygonal shape. Circle is + * rendered using alpha paint with white color at 75% transparency. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCircleByPolygonalShapeAlphaPaintWhite075(TestImage image, Graphics2D graphics2d) + { + // draw circle clipped by convex polygonal shape using alpha paint with 75% transparency + drawCircleClippedByPolygonalShapeAlphaPaintWhite(image, graphics2d, 75); + // test result + return TestResult.PASSED; + } + + /** + * Check if circle shape could be clipped by a convex polygonal shape. Circle is + * rendered using alpha paint with white color at 100% transparency. + * + * @param image + * work image + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testClipCircleByPolygonalShapeAlphaPaintWhite100(TestImage image, Graphics2D graphics2d) + { + // draw circle clipped by convex polygonal shape using alpha paint with 100% transparency + drawCircleClippedByPolygonalShapeAlphaPaintWhite(image, graphics2d, 100); + // test result + return TestResult.PASSED; + } + + /** * Check if circle shape could be clipped by a polygonal shape. Circle is * rendered using horizontal gradient paint. * From jvanek at icedtea.classpath.org Mon Jan 6 01:51:28 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 06 Jan 2014 09:51:28 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 26ff14c09a7c in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=26ff14c09a7c author: Jiri Vanek date: Mon Jan 06 10:42:52 2014 +0100 Removed depndence on sun.misc.BASE64Decoder changeset 5667ac193cb6 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=5667ac193cb6 author: Jiri Vanek date: Mon Jan 06 10:51:06 2014 +0100 Copy all button in console controls sorts by date by default. diffstat: ChangeLog | 27 + configure.ac | 1 - netx/net/sourceforge/jnlp/PluginBridge.java | 2 +- netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java | 23 +- netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java | 16 +- netx/net/sourceforge/jnlp/util/replacements/BASE64Decoder.java | 170 +++++++ netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java | 226 ++++++++++ tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64DecoderTest.java | 99 ++++ tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java | 30 +- 9 files changed, 571 insertions(+), 23 deletions(-) diffs (truncated from 751 to 500 lines): diff -r 6ec72d653144 -r 5667ac193cb6 ChangeLog --- a/ChangeLog Thu Jan 02 09:42:52 2014 -0500 +++ b/ChangeLog Mon Jan 06 10:51:06 2014 +0100 @@ -1,3 +1,30 @@ +2014-01-06 Jiri Vanek + + Copy all button in console controls sorts by date by default. + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: added + (sortCopyAll) checkbox. Logic from (copyPlainActionPerformed) and + (copyRichActionPerformed) extracted to new (fillClipBoard) which also + used correct call of ConsoleOutputPaneModel.importList based on + (sortCopyAll) value. + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: + added abstraction for (importList) to allow sorting via parameter + +2014-01-06 Jiri Vanek + + Removed dependence on sun.misc.BASE64Decoder + * configure.ac: removed check for sun.misc.BASE64Decoder + * netx/net/sourceforge/jnlp/PluginBridge.java : sun.misc.BASE64Decoder + import replaced by net.sourceforge.jnlp.util.replacements.BASE64Decoder + * netx/net/sourceforge/jnlp/util/replacements/BASE64Decoder.java: new + file, in-tree copy from jdk7 + * netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java: likewise + * tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64DecoderTest.java: + new tests for new files + * tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java: + (getAndInvokeMethod), (encoded) and (sSrc) made public final. Corrected + usage of (encoded2), added new test (testEmbededBase64EncoderAgainstEbededDecoder) + to test with internal decoder. + 2014-01-02 Andrew Azores Added ChangeLog revision hyperlinking to html-gen.sh diff -r 6ec72d653144 -r 5667ac193cb6 configure.ac --- a/configure.ac Thu Jan 02 09:42:52 2014 -0500 +++ b/configure.ac Mon Jan 06 10:51:06 2014 +0100 @@ -77,7 +77,6 @@ IT_CHECK_FOR_CLASS(SUN_NET_WWW_PROTOCOL_JAR_URLJARFILECALLBACK, [sun.net.www.protocol.jar.URLJarFileCallBack]) IT_CHECK_FOR_CLASS(SUN_AWT_X11_XEMBEDDEDFRAME, [sun.awt.X11.XEmbeddedFrame]) IT_CHECK_FOR_CLASS(SUN_MISC_REF, [sun.misc.Ref]) -IT_CHECK_FOR_CLASS(SUN_MISC_BASE64DECODER, [sun.misc.BASE64Decoder]) IT_CHECK_FOR_CLASS(COM_SUN_JNDI_TOOLKIT_URL_URLUTIL, [com.sun.jndi.toolkit.url.UrlUtil]) IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE diff -r 6ec72d653144 -r 5667ac193cb6 netx/net/sourceforge/jnlp/PluginBridge.java --- a/netx/net/sourceforge/jnlp/PluginBridge.java Thu Jan 02 09:42:52 2014 -0500 +++ b/netx/net/sourceforge/jnlp/PluginBridge.java Mon Jan 06 10:51:06 2014 +0100 @@ -38,7 +38,7 @@ import net.sourceforge.jnlp.runtime.JNLPRuntime; import net.sourceforge.jnlp.util.logging.OutputController; -import sun.misc.BASE64Decoder; +import net.sourceforge.jnlp.util.replacements.BASE64Decoder; /** * Allows reuse of code that expects a JNLPFile object, diff -r 6ec72d653144 -r 5667ac193cb6 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Thu Jan 02 09:42:52 2014 -0500 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java Mon Jan 06 10:51:06 2014 +0100 @@ -242,6 +242,7 @@ jPanel2 = new javax.swing.JPanel(); showHeaders = new javax.swing.JCheckBox(); showUser = new javax.swing.JCheckBox(); + sortCopyAll = new javax.swing.JCheckBox(); showOrigin = new javax.swing.JCheckBox(); showLevel = new javax.swing.JCheckBox(); showDate = new javax.swing.JCheckBox(); @@ -286,6 +287,10 @@ jEditorPane1 = new javax.swing.JTextPane(); showHide = new javax.swing.JButton(); + sortCopyAll.setSelected(true); + sortCopyAll.setText("sort copy all by date"); + sortCopyAll.setToolTipText("The sort by date is a bit more time consuming, but most natural for posting purposes"); + showHeaders.setSelected(true); showHeaders.setText("Show headers:"); showHeaders.addActionListener(getDefaultActionSingleton()); @@ -487,6 +492,7 @@ addComponent(next).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, Short.MAX_VALUE). addComponent(wordWrap).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). addComponent(highLight).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). + addComponent(sortCopyAll).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). addComponent(copyRich).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). addComponent(copyPlain)).addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup(). addComponent(searchLabel).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED). @@ -568,6 +574,7 @@ jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING). addComponent(previous). addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE). + addComponent(sortCopyAll). addComponent(copyPlain). addComponent(copyRich). addComponent(highLight). @@ -782,13 +789,20 @@ } private void copyPlainActionPerformed(java.awt.event.ActionEvent evt) { - StringSelection stringSelection = new StringSelection(model.importList(false, 0)); - Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard(); - clpbrd.setContents(stringSelection, null); + fillClipBoard(false, sortCopyAll.isSelected()); } private void copyRichActionPerformed(java.awt.event.ActionEvent evt) { - StringSelection stringSelection = new StringSelection(model.importList(true, 0)); + fillClipBoard(true, sortCopyAll.isSelected()); + } + + private void fillClipBoard(boolean mark, boolean forceSort){ + StringSelection stringSelection ; + if (forceSort){ + stringSelection = new StringSelection(model.importList(mark, 0, 4/*date*/)); + } else { + stringSelection = new StringSelection(model.importList(mark, 0)); + } Clipboard clpbrd = Toolkit.getDefaultToolkit().getSystemClipboard(); clpbrd.setContents(stringSelection, null); } @@ -879,6 +893,7 @@ private javax.swing.JCheckBox showThread1; private javax.swing.JCheckBox showThread2; private javax.swing.JCheckBox showUser; + private javax.swing.JCheckBox sortCopyAll; private javax.swing.JComboBox sortBy; private javax.swing.JLabel sortByLabel; private javax.swing.JLabel statistics; diff -r 6ec72d653144 -r 5667ac193cb6 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Thu Jan 02 09:42:52 2014 -0500 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Mon Jan 06 10:51:06 2014 +0100 @@ -125,8 +125,12 @@ String importList(int start) { return importList(highLight, start); } + + String importList(boolean mark, int start) { + return importList(mark, start, sortBy); + } - String importList(boolean mark, int start) { + String importList(boolean mark, int start, int sortByLocal) { int added = start; StringBuilder sb = new StringBuilder(); if (mark) { @@ -139,9 +143,9 @@ List sortedList; if (start == 0) { - sortedList = preSort(dataProvider.getData()); + sortedList = preSort(dataProvider.getData(), sortByLocal); } else { - sortedList = preSort(Collections.synchronizedList(dataProvider.getData().subList(start, dataProvider.getData().size()))); + sortedList = preSort(Collections.synchronizedList(dataProvider.getData().subList(start, dataProvider.getData().size())), sortByLocal); } lastUpdateIndex = dataProvider.getData().size(); @@ -226,9 +230,9 @@ return sb.toString(); } - List preSort(List data) { + List preSort(List data, int sortByLocal) { List sortedData; - if (sortBy == 0) { + if (sortByLocal == 0) { if (revertSort) { sortedData = Collections.synchronizedList(new ArrayList(data)); Collections.reverse(sortedData); @@ -237,7 +241,7 @@ } } else { sortedData = Collections.synchronizedList(new ArrayList(data)); - switch (sortBy) { + switch (sortByLocal) { case 1: Collections.sort(sortedData, new CatchedMessageWithHeaderComparator() { @Override diff -r 6ec72d653144 -r 5667ac193cb6 netx/net/sourceforge/jnlp/util/replacements/BASE64Decoder.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/util/replacements/BASE64Decoder.java Mon Jan 06 10:51:06 2014 +0100 @@ -0,0 +1,170 @@ +/* + * Copyright (c) 1995, 2000, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ +package net.sourceforge.jnlp.util.replacements; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.PushbackInputStream; + +/** + * This class implements a BASE64 Character decoder as specified in RFC1521. + * + * This RFC is part of the MIME specification which is published by the + * Internet Engineering Task Force (IETF). Unlike some other encoding + * schemes there is nothing in this encoding that tells the decoder + * where a buffer starts or stops, so to use it you will need to isolate + * your encoded data into a single chunk and then feed them this decoder. + * The simplest way to do that is to read all of the encoded data into a + * string and then use: + *
+ *      byte    mydata[];
+ *      BASE64Decoder base64 = new BASE64Decoder();
+ *
+ *      mydata = base64.decodeBuffer(bufferString);
+ * 
+ * This will decode the String in bufferString and give you an array + * of bytes in the array myData. + * + * On errors, this class throws a CEFormatException with the following detail + * strings: + *
+ *    "BASE64Decoder: Not enough bytes for an atom."
+ * 
+ * + * @author Chuck McManis + * @see CharacterEncoder + * @see BASE64Decoder + */ + +public class BASE64Decoder extends CharacterDecoder { + + private static class CEFormatException extends IOException { + public CEFormatException(String s) { + super(s); + } + } + + /** This class has 4 bytes per atom */ + @Override + protected int bytesPerAtom() { + return (4); + } + + /** Any multiple of 4 will do, 72 might be common */ + @Override + protected int bytesPerLine() { + return (72); + } + + /** + * This character array provides the character to value map + * based on RFC1521. + */ + private final static char pem_array[] = { + // 0 1 2 3 4 5 6 7 + 'A','B','C','D','E','F','G','H', // 0 + 'I','J','K','L','M','N','O','P', // 1 + 'Q','R','S','T','U','V','W','X', // 2 + 'Y','Z','a','b','c','d','e','f', // 3 + 'g','h','i','j','k','l','m','n', // 4 + 'o','p','q','r','s','t','u','v', // 5 + 'w','x','y','z','0','1','2','3', // 6 + '4','5','6','7','8','9','+','/' // 7 + }; + + private final static byte pem_convert_array[] = new byte[256]; + + static { + for (int i = 0; i < 255; i++) { + pem_convert_array[i] = -1; + } + for (int i = 0; i < pem_array.length; i++) { + pem_convert_array[pem_array[i]] = (byte) i; + } + } + + byte decode_buffer[] = new byte[4]; + + /** + * Decode one BASE64 atom into 1, 2, or 3 bytes of data. + */ + @Override + protected void decodeAtom(PushbackInputStream inStream, OutputStream outStream, int rem) + throws java.io.IOException + { + int i; + byte a = -1, b = -1, c = -1, d = -1; + + if (rem < 2) { + throw new CEFormatException("BASE64Decoder: Not enough bytes for an atom."); + } + do { + i = inStream.read(); + if (i == -1) { + throw new CEStreamExhausted(); + } + } while (i == '\n' || i == '\r'); + decode_buffer[0] = (byte) i; + + i = readFully(inStream, decode_buffer, 1, rem-1); + if (i == -1) { + throw new CEStreamExhausted(); + } + + if (rem > 3 && decode_buffer[3] == '=') { + rem = 3; + } + if (rem > 2 && decode_buffer[2] == '=') { + rem = 2; + } + switch (rem) { + case 4: + d = pem_convert_array[decode_buffer[3] & 0xff]; + // NOBREAK + case 3: + c = pem_convert_array[decode_buffer[2] & 0xff]; + // NOBREAK + case 2: + b = pem_convert_array[decode_buffer[1] & 0xff]; + a = pem_convert_array[decode_buffer[0] & 0xff]; + break; + } + + switch (rem) { + case 2: + outStream.write( (byte)(((a << 2) & 0xfc) | ((b >>> 4) & 3)) ); + break; + case 3: + outStream.write( (byte) (((a << 2) & 0xfc) | ((b >>> 4) & 3)) ); + outStream.write( (byte) (((b << 4) & 0xf0) | ((c >>> 2) & 0xf)) ); + break; + case 4: + outStream.write( (byte) (((a << 2) & 0xfc) | ((b >>> 4) & 3)) ); + outStream.write( (byte) (((b << 4) & 0xf0) | ((c >>> 2) & 0xf)) ); + outStream.write( (byte) (((c << 6) & 0xc0) | (d & 0x3f)) ); + break; + } + } +} diff -r 6ec72d653144 -r 5667ac193cb6 netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java Mon Jan 06 10:51:06 2014 +0100 @@ -0,0 +1,226 @@ +/* + * Copyright (c) 1995, 2004, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package net.sourceforge.jnlp.util.replacements; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.PushbackInputStream; +import java.nio.ByteBuffer; + +/** + * This class defines the decoding half of character encoders. + * A character decoder is an algorithim for transforming 8 bit + * binary data that has been encoded into text by a character + * encoder, back into original binary form. + * + * The character encoders, in general, have been structured + * around a central theme that binary data can be encoded into + * text that has the form: + * + *
+ *      [Buffer Prefix]
+ *      [Line Prefix][encoded data atoms][Line Suffix]
+ *      [Buffer Suffix]
+ * 
+ * + * Of course in the simplest encoding schemes, the buffer has no + * distinct prefix of suffix, however all have some fixed relationship + * between the text in an 'atom' and the binary data itself. + * + * In the CharacterEncoder and CharacterDecoder classes, one complete + * chunk of data is referred to as a buffer. Encoded buffers + * are all text, and decoded buffers (sometimes just referred to as + * buffers) are binary octets. + * + * To create a custom decoder, you must, at a minimum, overide three + * abstract methods in this class. + *
+ *
bytesPerAtom which tells the decoder how many bytes to + * expect from decodeAtom + *
decodeAtom which decodes the bytes sent to it as text. + *
bytesPerLine which tells the encoder the maximum number of + * bytes per line. + *
+ * + * In general, the character decoders return error in the form of a + * CEFormatException. The syntax of the detail string is + *
+ *      DecoderClassName: Error message.
+ * 
+ * + * Several useful decoders have already been written and are + * referenced in the See Also list below. + * + * @author Chuck McManis + * @see CEFormatException + * @see CharacterEncoder + * @see UCDecoder + * @see UUDecoder + * @see BASE64Decoder + */ + +public abstract class CharacterDecoder { + + /** This exception is thrown when EOF is reached */ + protected static class CEStreamExhausted extends IOException { }; + + /** Return the number of bytes per atom of decoding */ + abstract protected int bytesPerAtom(); + + /** Return the maximum number of bytes that can be encoded per line */ + abstract protected int bytesPerLine(); + + /** decode the beginning of the buffer, by default this is a NOP. */ + protected void decodeBufferPrefix(PushbackInputStream aStream, OutputStream bStream) throws IOException { } + + /** decode the buffer suffix, again by default it is a NOP. */ + protected void decodeBufferSuffix(PushbackInputStream aStream, OutputStream bStream) throws IOException { } + + /** + * This method should return, if it knows, the number of bytes + * that will be decoded. Many formats such as uuencoding provide + * this information. By default we return the maximum bytes that + * could have been encoded on the line. + */ + protected int decodeLinePrefix(PushbackInputStream aStream, OutputStream bStream) throws IOException { + return (bytesPerLine()); + } + + /** + * This method post processes the line, if there are error detection + * or correction codes in a line, they are generally processed by + * this method. The simplest version of this method looks for the + * (newline) character. + */ + protected void decodeLineSuffix(PushbackInputStream aStream, OutputStream bStream) throws IOException { } + + /** + * This method does an actual decode. It takes the decoded bytes and + * writes them to the OutputStream. The integer l tells the + * method how many bytes are required. This is always <= bytesPerAtom(). + */ + protected void decodeAtom(PushbackInputStream aStream, OutputStream bStream, int l) throws IOException { + throw new CEStreamExhausted(); + } + + /** + * This method works around the bizarre semantics of BufferedInputStream's + * read method. + */ + protected int readFully(InputStream in, byte buffer[], int offset, int len) + throws java.io.IOException { + for (int i = 0; i < len; i++) { + int q = in.read(); + if (q == -1) { + return ((i == 0) ? -1 : i); + } + buffer[i+offset] = (byte)q; + } From jvanek at icedtea.classpath.org Tue Jan 7 01:12:27 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Tue, 07 Jan 2014 09:12:27 +0000 Subject: /hg/release/icedtea-web-1.4: Backport of Fix PR1271: icedtea-web... Message-ID: changeset 91e191cac118 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=91e191cac118 author: Jiri Vanek date: Tue Jan 07 10:12:17 2014 +0100 Backport of Fix PR1271: icedtea-web does not handle javascript:-protocol URLs diffstat: ChangeLog | 16 ++ NEWS | 1 + plugin/icedteanp/java/sun/applet/PluginAppletViewer.java | 14 +- plugin/icedteanp/java/sun/applet/PluginMain.java | 25 +++ tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html | 50 ++++++ tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js | 6 + tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java | 22 ++ tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java | 78 ++++++++++ 8 files changed, 206 insertions(+), 6 deletions(-) diffs (299 lines): diff -r 28ac9a016c80 -r 91e191cac118 ChangeLog --- a/ChangeLog Fri Dec 27 09:51:24 2013 -0500 +++ b/ChangeLog Tue Jan 07 10:12:17 2014 +0100 @@ -1,3 +1,19 @@ +2013-01-07 Adam Domurad + + Backport of Fix PR1271: icedtea-web does not handle javascript:-protocol URLs + * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Evaluate + javascript when it shows up in a 'showDocument' call. + * plugin/icedteanp/java/sun/applet/PluginMain.java: Install arbitrary + 'javascript:' protocol handler. + * tests/rproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html: + Tests if javascript is run from a test applet using showDocument. + * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js: + Same. + * tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java: + Same. + * tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java: + Same. + 2013-12-27 Andrew Azores Resolve deadlock issue in JNLPClassLoader. See diff -r 28ac9a016c80 -r 91e191cac118 NEWS --- a/NEWS Fri Dec 27 09:51:24 2013 -0500 +++ b/NEWS Tue Jan 07 10:12:17 2014 +0100 @@ -12,6 +12,7 @@ * Dialogs center on screen before becoming visible * Support for u45 new manifest attributes (Application-Name) * Plugin + - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs - RH976833: Multiple applets on one page cause deadlock - Enabled javaconsole diff -r 28ac9a016c80 -r 91e191cac118 plugin/icedteanp/java/sun/applet/PluginAppletViewer.java --- a/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Fri Dec 27 09:51:24 2013 -0500 +++ b/plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Tue Jan 07 10:12:17 2014 +0100 @@ -114,6 +114,7 @@ import net.sourceforge.jnlp.splashscreen.SplashController; import net.sourceforge.jnlp.splashscreen.SplashPanel; import net.sourceforge.jnlp.splashscreen.SplashUtils; +import netscape.javascript.JSObject; import sun.awt.AppContext; import sun.awt.SunToolkit; import sun.awt.X11.XEmbeddedFrame; @@ -911,20 +912,21 @@ return v.elements(); } - /** - * Ignore. - */ @Override public void showDocument(URL url) { PluginDebug.debug("Showing document..."); showDocument(url, "_self"); } - /** - * Ignore. - */ @Override public void showDocument(URL url, String target) { + // If it is a javascript document, eval on current page. + if ("javascript".equals(url.getProtocol())) { + // Snip protocol off string + String evalString = url.toString().substring("javascript:".length()); + eval(getWindow(), evalString); + return; + } try { Long reference = getRequestIdentifier(); write("reference " + reference + " LoadURL " + UrlUtil.encode(url.toString(), "UTF-8") + " " + target); diff -r 28ac9a016c80 -r 91e191cac118 plugin/icedteanp/java/sun/applet/PluginMain.java --- a/plugin/icedteanp/java/sun/applet/PluginMain.java Fri Dec 27 09:51:24 2013 -0500 +++ b/plugin/icedteanp/java/sun/applet/PluginMain.java Tue Jan 07 10:12:17 2014 +0100 @@ -66,11 +66,15 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.lang.reflect.Field; import java.net.Authenticator; import java.net.CookieHandler; import java.net.CookieManager; import java.net.ProxySelector; +import java.net.URL; +import java.net.URLStreamHandler; import java.util.Enumeration; +import java.util.Hashtable; import java.util.Properties; import sun.awt.AppContext; import sun.awt.SunToolkit; @@ -91,6 +95,25 @@ // on whether the property that uses it is necessary/standard. private static final String theVersion = System.getProperty("java.version"); + /* Install a handler directly using reflection. This ensures that java doesn't error-out + * when javascript is used in a URL. We can then handle these URLs correctly in eg PluginAppletViewer.showDocument(). + */ + static private void installDummyJavascriptProtocolHandler() { + try { + Field handlersField = URL.class.getDeclaredField("handlers"); + handlersField.setAccessible(true); + + @SuppressWarnings("unchecked") + Hashtable handlers = (Hashtable)handlersField.get(null); + + // Place an arbitrary handler, we only need the URL construction to not error-out + handlers.put("javascript", new sun.net.www.protocol.http.Handler()); + } catch (Exception e) { + System.err.println("Unable to install 'javascript:' URL protocol handler!"); + e.printStackTrace(); + } + } + /** * The main entry point into AppletViewer. */ @@ -99,6 +122,8 @@ if (AppContext.getAppContext() == null) { SunToolkit.createNewAppContext(); } + installDummyJavascriptProtocolHandler(); + if (args.length != 2 || !(new File(args[0]).exists()) || !(new File(args[1]).exists())) { System.err.println("Invalid pipe names provided. Refusing to proceed."); System.exit(1); diff -r 28ac9a016c80 -r 91e191cac118 tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html Tue Jan 07 10:12:17 2014 +0100 @@ -0,0 +1,50 @@ + + + + + + + + + diff -r 28ac9a016c80 -r 91e191cac118 tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js Tue Jan 07 10:12:17 2014 +0100 @@ -0,0 +1,6 @@ +var applet = document.getElementById('applet') + +function runSomeJS() { + applet.print("Javascript URL string was evaluated.") + applet.state = "HasRun"; +} diff -r 28ac9a016c80 -r 91e191cac118 tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java Tue Jan 07 10:12:17 2014 +0100 @@ -0,0 +1,22 @@ +import java.applet.Applet; +import java.net.URL; +import netscape.javascript.JSObject; + +public class JavascriptProtocol extends Applet { + public String state = "HasntRun"; + @Override + public void start() { + try { + getAppletContext().showDocument(new URL("javascript:runSomeJS()")); + System.out.println("State after showDocument was " + state); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("*** APPLET FINISHED ***"); + } + // Utility for JS side + public void print(String s) { + System.out.println(s); + } +} + diff -r 28ac9a016c80 -r 91e191cac118 tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java Tue Jan 07 10:12:17 2014 +0100 @@ -0,0 +1,78 @@ +/* +Copyright (C) 2012 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea 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 for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import net.sourceforge.jnlp.ProcessResult; +import net.sourceforge.jnlp.ServerAccess.AutoClose; +import net.sourceforge.jnlp.annotations.Bug; +import net.sourceforge.jnlp.annotations.NeedsDisplay; +import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.browsertesting.BrowserTest; +import net.sourceforge.jnlp.browsertesting.Browsers; +import net.sourceforge.jnlp.closinglisteners.AutoOkClosingListener; + +import org.junit.Test; + +public class JavascriptProtocolTest extends BrowserTest { + + private static final String END_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; + + private static void assertContains(String source, String message, String substring) { + assertTrue(source + " should contain '" + substring + "' but did not!", + message.contains(substring)); + } + private static void assertNotContains(String source, String message, String substring) { + assertFalse(source + " should not contain '" + substring + "' but did!", + message.contains(substring)); + } + + @Test + @TestInBrowsers(testIn = { Browsers.all }) + @NeedsDisplay + @Bug(id = { "PR1271" }) + public void testJavascriptProtocolFollowed() throws Exception { + ProcessResult pr = server.executeBrowser("/JavascriptProtocol.html", + AutoClose.CLOSE_ON_BOTH); + assertNotContains("stdout", pr.stdout, "HasntRun"); + assertContains("stdout", pr.stdout, "Javascript URL string was evaluated."); + assertContains("stdout", pr.stdout, "HasRun"); + assertContains("stdout", pr.stdout, END_STRING); + } + +} From bugzilla-daemon at icedtea.classpath.org Tue Jan 7 01:12:36 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jan 2014 09:12:36 +0000 Subject: [Bug 1271] icedtea-web does not handle 'javascript:' protocol URLs In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1271 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea-web-1.4?cmd=changeset;node=91e191cac118 author: Jiri Vanek date: Tue Jan 07 10:12:17 2014 +0100 Backport of Fix PR1271: icedtea-web does not handle javascript:-protocol URLs -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140107/646e2d34/attachment.html From ptisnovs at icedtea.classpath.org Tue Jan 7 02:50:01 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 07 Jan 2014 10:50:01 +0000 Subject: /hg/gfx-test: Five new tests added into CAGOperationsOnChordAndR... Message-ID: changeset dbc725e7433d in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=dbc725e7433d author: Pavel Tisnovsky date: Tue Jan 07 11:53:59 2014 +0100 Five new tests added into CAGOperationsOnChordAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 115 ++++++++++ 2 files changed, 120 insertions(+), 0 deletions(-) diffs (137 lines): diff -r 9d4807b9f0c5 -r dbc725e7433d ChangeLog --- a/ChangeLog Mon Jan 06 11:20:02 2014 +0100 +++ b/ChangeLog Tue Jan 07 11:53:59 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-07 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Five new tests added into CAGOperationsOnChordAndRectangle test suite. + 2014-01-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/ClippingCircleByConvexPolygonalShape.java: diff -r 9d4807b9f0c5 -r dbc725e7433d src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Mon Jan 06 11:20:02 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Tue Jan 07 11:53:59 2014 +0100 @@ -490,6 +490,121 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using inverse subtract operator. + * The shape is rendered using color fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleInverseSubtractColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using intersect operator. + * The shape is rendered using color fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleIntersectColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingIntersectOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using XOR operator. + * The shape is rendered using color fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleXorColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(graphics2d); + // create area using Xor operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingXorOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using union operator. The shape is + * rendered using radial gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleUnionRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingUnionOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using subtract operator. The shape is + * rendered using radial gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Tue Jan 7 02:53:51 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 07 Jan 2014 10:53:51 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset e13b59d43d0d in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=e13b59d43d0d author: Pavel Tisnovsky date: Tue Jan 07 11:58:06 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/SimpleScriptContextClassTest.java | 48 ++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r ba7a236d21c1 -r e13b59d43d0d ChangeLog --- a/ChangeLog Mon Jan 06 11:23:56 2014 +0100 +++ b/ChangeLog Tue Jan 07 11:58:06 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-07 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-06 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r ba7a236d21c1 -r e13b59d43d0d src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Mon Jan 06 11:23:56 2014 +0100 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Tue Jan 07 11:58:06 2014 +0100 @@ -1436,6 +1436,54 @@ } try { + this.simpleScriptContextClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From bugzilla-daemon at icedtea.classpath.org Tue Jan 7 03:51:33 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jan 2014 11:51:33 +0000 Subject: [Bug 1640] New: first time iced tea has crashed i thoght i would just hit you the codes is spat out good work by the way. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1640 Bug ID: 1640 Summary: first time iced tea has crashed i thoght i would just hit you the codes is spat out good work by the way. Classification: Unclassified Product: IcedTea Version: unspecified Hardware: 64-bit OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: cool.rios at hotmail.com CC: unassigned at icedtea.classpath.org IcedTea-Web Plugin version: 1.4 (1.4-3ubuntu2) Tue Jan 07 11:30:32 GMT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report. at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:674) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:914) Caused by: java.lang.RuntimeException: Unable to create locks directory (/tmp/Mak/netx/locks) at net.sourceforge.jnlp.services.SingleInstanceLock.getLockFile(SingleInstanceLock.java:138) at net.sourceforge.jnlp.services.SingleInstanceLock.(SingleInstanceLock.java:58) at net.sourceforge.jnlp.services.XSingleInstanceService.checkSingleInstanceRunning(XSingleInstanceService.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler$1.run(ServiceUtil.java:183) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler.invoke(ServiceUtil.java:188) at net.sourceforge.jnlp.services.$Proxy9.checkSingleInstanceRunning(Unknown Source) at net.sourceforge.jnlp.services.ServiceUtil.checkExistingSingleInstance(ServiceUtil.java:136) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:661) ... 1 more Chain: 1) at Tue Jan 07 11:30:24 GMT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Launch Error: Could not launch JNLP file. The application has not been initialized, for more information execute javaws/browser from the command line and send a bug report. at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:674) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:914) Caused by: java.lang.RuntimeException: Unable to create locks directory (/tmp/Mak/netx/locks) at net.sourceforge.jnlp.services.SingleInstanceLock.getLockFile(SingleInstanceLock.java:138) at net.sourceforge.jnlp.services.SingleInstanceLock.(SingleInstanceLock.java:58) at net.sourceforge.jnlp.services.XSingleInstanceService.checkSingleInstanceRunning(XSingleInstanceService.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler$1.run(ServiceUtil.java:183) at java.security.AccessController.doPrivileged(Native Method) at net.sourceforge.jnlp.services.ServiceUtil$PrivilegedHandler.invoke(ServiceUtil.java:188) at net.sourceforge.jnlp.services.$Proxy9.checkSingleInstanceRunning(Unknown Source) at net.sourceforge.jnlp.services.ServiceUtil.checkExistingSingleInstance(ServiceUtil.java:136) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:661) ... 1 more -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140107/a8ad284b/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 7 08:03:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jan 2014 16:03:34 +0000 Subject: [Bug 1641] New: Oracle SQL Developer 4 is not running on Open JDK 7 (SIGSEGV) Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1641 Bug ID: 1641 Summary: Oracle SQL Developer 4 is not running on Open JDK 7 (SIGSEGV) Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: sav1954 at bmail.ru CC: unassigned at icedtea.classpath.org Created attachment 1001 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1001&action=edit JVM fatal error log Oracle SQL Developer 4 is not running on Open JDK 7 (SIGSEGV) How to reproduce: Download Oracle SQL Developer 4.0 rpm from here http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html Install it on Fedora 20 x86_64 with gnome 3.10 and java version "1.7.0_45" OpenJDK Runtime Environment (fedora-2.4.3.0.fc20-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode) run /opt/sqldeveloper/sqldeveloper.sh When progress bar on splash screen reaches ~90%, jvm crashes. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140107/635840df/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 7 10:47:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jan 2014 18:47:10 +0000 Subject: [Bug 1642] New: Fatal error by Java using LibreOffice Draw and inability to install fixes Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1642 Bug ID: 1642 Summary: Fatal error by Java using LibreOffice Draw and inability to install fixes Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: hws at txgroup.org CC: unassigned at icedtea.classpath.org Created attachment 1002 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1002&action=edit error log 1 Unable to update via Apper or YaST the current build 1.7.0 - see files below - when Using LibreOffice Draw: Insert image from file, as I selected the file, the application crashed - File was recovered except for the last editing. I did use the command "ulimit -c unlimited" before testing and crashing again. The inability to install patches produces the following notification: ---------------- Dependency resolution failed - KDE Daemon: A package dependency could not be found. More information is available in the detailed report. There is no update candidate for xprop-debuginfo-1.2.2-2.1.2.i586 A problem that we were not expecting has occurred. Please report this bug with the error description. Installation aborted by user. -------------------- Note that I did not aborted the installation. User, in this case must be System. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140107/c60271ac/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 7 10:51:02 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 07 Jan 2014 18:51:02 +0000 Subject: [Bug 1642] Fatal error by Java using LibreOffice Draw and inability to install fixes In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1642 --- Comment #1 from Humberto Sachs --- Created attachment 1003 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1003&action=edit Same failure opening in openoffice draw Several occurrences. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140107/ac791a74/attachment.html From ptisnovs at icedtea.classpath.org Wed Jan 8 02:07:56 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 08 Jan 2014 10:07:56 +0000 Subject: /hg/gfx-test: Three new tests added into CAGOperationsOnChordAnd... Message-ID: changeset 6a4bc493096b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=6a4bc493096b author: Pavel Tisnovsky date: Wed Jan 08 11:11:59 2014 +0100 Three new tests added into CAGOperationsOnChordAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java | 69 ++++++++++ 2 files changed, 74 insertions(+), 0 deletions(-) diffs (91 lines): diff -r dbc725e7433d -r 6a4bc493096b ChangeLog --- a/ChangeLog Tue Jan 07 11:53:59 2014 +0100 +++ b/ChangeLog Wed Jan 08 11:11:59 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-08 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java: + Three new tests added into CAGOperationsOnChordAndRectangle test suite. + 2014-01-07 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: diff -r dbc725e7433d -r 6a4bc493096b src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java Tue Jan 07 11:53:59 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java Wed Jan 08 11:11:59 2014 +0100 @@ -2832,6 +2832,75 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from a circle inside a rectangle using inverse subtract operator. + * The shape is rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingCircleAndRectangleInverseSubtractDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromOverlappingCircleAndRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a circle inside a rectangle using intersect operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingCircleAndRectangleIntersectDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromOverlappingCircleAndRectangleUsingIntersectOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from a circle inside a rectangle using XOR operator. The shape is + * rendered using diagonal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testOverlappingCircleAndRectangleXorDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromOverlappingCircleAndRectangleUsingXorOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Wed Jan 8 02:13:26 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 08 Jan 2014 10:13:26 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset 276a8320993a in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=276a8320993a author: Pavel Tisnovsky date: Wed Jan 08 11:17:38 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/SimpleBindingsClassTest.java | 48 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r e13b59d43d0d -r 276a8320993a ChangeLog --- a/ChangeLog Tue Jan 07 11:58:06 2014 +0100 +++ b/ChangeLog Wed Jan 08 11:17:38 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-08 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-07 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r e13b59d43d0d -r 276a8320993a src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Tue Jan 07 11:58:06 2014 +0100 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Wed Jan 08 11:17:38 2014 +0100 @@ -1396,6 +1396,54 @@ } try { + this.simpleBindingsClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleBindingsClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From aazores at redhat.com Wed Jan 8 13:57:14 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 08 Jan 2014 16:57:14 -0500 Subject: [rfc][icedtea-web] External main-class fix Message-ID: <52CDC9BA.4000406@redhat.com> Hi, Jiri found a flaw in the fix for PR1513, which allows applets to run when their main-class is not in a JAR, but is still available to load from the codebase. The previous fix simply didn't throw a LaunchException when the main-class could not be found in a JAR, and instead displayed a warning about not all of the code being signed. However, this warning could still appear even if no classes or JARs could be loaded at all! This patch causes the ClassLoader to not be so optimistic about finding an external main-class - it actually checks for it first, and if it still can't be found on the codebase after searching all JARs, then a LaunchException is thrown. If it can be found, then the applet launch proceeds as normal at this step. Additionally, checkNotAllSignedWithUser can only be called once now in initializeResources. Previously, it could be called both due to an external main-class as well as mixed signing states of JARs in the applet - so if you had one signed JAR, one unsigned JAR, and an external main-class, you would be prompted twice about the mixed signing, as well as about trusting the signer of the signed JAR. Craziness. Now, the prompt about mixed signing should only appear once. ChangeLog: * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) perform search for main-class when suspected to be external. Only show mixed code signing prompt once during initialization. (checkNotAllSignedWithUser) refactor to remove local variable (promptUser) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1513-fix.patch Type: text/x-patch Size: 3272 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140108/849c0f86/pr1513-fix.patch From stefan.reich.maker.of.eye at googlemail.com Wed Jan 8 17:12:22 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Thu, 9 Jan 2014 02:12:22 +0100 Subject: 100% CPU in IcedTea plugin Message-ID: Hi! I am seeing 100% CPU usage by the Java process when I use the IcedTea plugin + OpenJDK 7 in Firefox 22 on Peppermint Linux. It's not every time. Mostly after I load a few applets, it begins. Applets don't work and CPU usage of Java process = 100%. I also saw this with Java 6 I think. Definitely it's Java 7 now: ~ $ dpkg -l|grep iced ii icedtea-7-jre-jamvm 7u25-2.3.10-1ubuntu0.12.04.2 Alternative JVM for OpenJDK, using JamVM ii icedtea-7-plugin 1.2.3-0ubuntu0.12.04.3 web browser plugin based on OpenJDK and IcedTea to execute Java applets ii icedtea-netx 1.2.3-0ubuntu0.12.04.3 NetX - implementation of the Java Network Launching Protocol (JNLP) ii icedtea-netx-common 1.2.3-0ubuntu0.12.04.3 NetX - implementation of the Java Network Launching Protocol (JNLP) What to do...? Any way to find out what the Java process is doing? I'll try kill -3 to get a stack dump next time the bug is seen. Hope it goes somewhere I can see it. Note: Sometimes the CPU load seems to go away again by itself, remember seeing that once. Weird, eh? Here's an example applet btw: http://tinybrain.de:8080/tb/gui-applet.php?id=105 Any ideas? Greetings, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/1c66bc62/attachment.html From jvanek at redhat.com Thu Jan 9 00:15:48 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 09 Jan 2014 09:15:48 +0100 Subject: 100% CPU in IcedTea plugin In-Reply-To: References: Message-ID: <52CE5AB4.2000500@redhat.com> On 01/09/2014 02:12 AM, Stefan Reich wrote: > Hi! > > I am seeing 100% CPU usage by the Java process when I use the IcedTea plugin + OpenJDK 7 in Firefox > 22 on Peppermint Linux. > > It's not every time. Mostly after I load a few applets, it begins. Applets don't work and CPU usage > of Java process = 100%. > > I also saw this with Java 6 I think. Definitely it's Java 7 now: > > ~ $ dpkg -l|grep iced > ii icedtea-7-jre-jamvm 7u25-2.3.10-1ubuntu0.12.04.2 Alternative JVM > for OpenJDK, using JamVM > ii icedtea-7-plugin 1.2.3-0ubuntu0.12.04.3 web browser > plugin based on OpenJDK and IcedTea to execute Java applets > ii icedtea-netx 1.2.3-0ubuntu0.12.04.3 NetX - > implementation of the Java Network Launching Protocol (JNLP) > ii icedtea-netx-common 1.2.3-0ubuntu0.12.04.3 NetX - > implementation of the Java Network Launching Protocol (JNLP) > > What to do...? Any way to find out what the Java process is doing? > > I'll try kill -3 to get a stack dump next time the bug is seen. Hope it goes somewhere I can see it. > > Note: Sometimes the CPU load seems to go away again by itself, remember seeing that once. > > Weird, eh? > > Here's an example applet btw: http://tinybrain.de:8080/tb/gui-applet.php?id=105 > > Any ideas? Not much to guess I'm afraid :( Do you mind to try with custom build head? I have tried the exampel link you posted today, and java for very short tiime jumped to 42% but rest of time it dropped to vlaues 5% and moreover less.. J. From ptisnovs at icedtea.classpath.org Thu Jan 9 03:35:48 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 09 Jan 2014 11:35:48 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 751bb38bbcb8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=751bb38bbcb8 author: Pavel Tisnovsky date: Thu Jan 09 12:23:00 2014 +0100 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r 6a4bc493096b -r 751bb38bbcb8 ChangeLog --- a/ChangeLog Wed Jan 08 11:11:59 2014 +0100 +++ b/ChangeLog Thu Jan 09 12:23:00 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-09 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2014-01-08 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java: diff -r 6a4bc493096b -r 751bb38bbcb8 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Jan 08 11:11:59 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Jan 09 12:23:00 2014 +0100 @@ -4952,6 +4952,156 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBbackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBbackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBbackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBbackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBbackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.red); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Jan 9 03:41:29 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 09 Jan 2014 11:41:29 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset f48c989ce6fe in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=f48c989ce6fe author: Pavel Tisnovsky date: Thu Jan 09 12:45:38 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/ScriptExceptionClassTest.java | 48 ++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r 276a8320993a -r f48c989ce6fe ChangeLog --- a/ChangeLog Wed Jan 08 11:17:38 2014 +0100 +++ b/ChangeLog Thu Jan 09 12:45:38 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-09 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-08 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r 276a8320993a -r f48c989ce6fe src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Wed Jan 08 11:17:38 2014 +0100 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Thu Jan 09 12:45:38 2014 +0100 @@ -1390,6 +1390,54 @@ } try { + this.scriptExceptionClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From aazores at redhat.com Thu Jan 9 08:17:23 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 09 Jan 2014 11:17:23 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> Message-ID: <52CECB93.4030009@redhat.com> On 01/03/2014 02:43 PM, Andrew Azores wrote: > Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows method calls to be made in the normal way as well as via reflection. JNLP includes both applications and applets now, and they close properly as well. > > (snip) > > Thanks, > Andrew A Went back over this and realized one of the tests was written wrong. The assertAccessControlException helper method in the testcase file is now a little stricter about the type of AccessControlException (so that the exceptions due to applets not being allowed to call System.exit don't falsely fulfill this assertion), and MixedSigningAppletHelper.attackDoPrivileged now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it should have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve data from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the testcases now expect this test to successfully read from System.getProperty, rather than receive an AccessControlException. However, the tests still verify that in situations where the Signed JAR has a method call that involves a privileged action *without* being placed inside a doPrivileged call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as expected. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1592-reproducer-rewrite-custom2.patch Type: text/x-patch Size: 180614 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/c9d463c0/pr1592-reproducer-rewrite-custom2-0001.patch From aazores at redhat.com Thu Jan 9 08:52:27 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 09 Jan 2014 11:52:27 -0500 Subject: [rfc][icedtea-web] Tiny touchup for html-gen.sh Message-ID: <52CED3CB.8030106@redhat.com> Hi, Just some very minor touchups to the html-gen script to make it a little more idiomatic, basically. A couple of bashisms have been removed but there are still some left. There shouldn't be any functionality changes at all. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: html-gen-touchup-2.diff Type: text/x-patch Size: 3427 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/fe5798ac/html-gen-touchup-2.diff From jvanek at redhat.com Thu Jan 9 09:28:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 09 Jan 2014 18:28:16 +0100 Subject: [rfc][icedtea-web] Tiny touchup for html-gen.sh In-Reply-To: <52CED3CB.8030106@redhat.com> References: <52CED3CB.8030106@redhat.com> Message-ID: <52CEDC30.5040003@redhat.com> On 01/09/2014 05:52 PM, Andrew Azores wrote: > Hi, > > Just some very minor touchups to the html-gen script to make it a little more idiomatic, basically. A couple of bashisms have been removed but there are still some left. There shouldn't be any functionality changes at all. > > Thanks, > well assuming it works, ok for head... J. From aazores at icedtea.classpath.org Thu Jan 9 09:54:29 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 09 Jan 2014 17:54:29 +0000 Subject: /hg/icedtea-web: html-gen made more idiomatic and removed some b... Message-ID: changeset 6d8b0bd9402f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=6d8b0bd9402f author: Andrew Azores date: Thu Jan 09 12:54:00 2014 -0500 html-gen made more idiomatic and removed some bashisms diffstat: ChangeLog | 8 ++++++-- html-gen.sh | 32 ++++++++++++++++---------------- 2 files changed, 22 insertions(+), 18 deletions(-) diffs (112 lines): diff -r 5667ac193cb6 -r 6d8b0bd9402f ChangeLog --- a/ChangeLog Mon Jan 06 10:51:06 2014 +0100 +++ b/ChangeLog Thu Jan 09 12:54:00 2014 -0500 @@ -1,4 +1,8 @@ -2014-01-06 Jiri Vanek +2014-01-09 Andrew Azores + + * html-gen.sh: made more idiomatic and removed some bashisms + +2014-01-06 Jiri Vanek Copy all button in console controls sorts by date by default. * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPane.java: added @@ -9,7 +13,7 @@ * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: added abstraction for (importList) to allow sorting via parameter -2014-01-06 Jiri Vanek +2014-01-06 Jiri Vanek Removed dependence on sun.misc.BASE64Decoder * configure.ac: removed check for sun.misc.BASE64Decoder diff -r 5667ac193cb6 -r 6d8b0bd9402f html-gen.sh --- a/html-gen.sh Mon Jan 06 10:51:06 2014 +0100 +++ b/html-gen.sh Thu Jan 09 12:54:00 2014 -0500 @@ -69,7 +69,7 @@ NEWS_ITEMS=2 REPO_URL="$(hg paths default | sed -r 's/.*icedtea.classpath.org\/(.*)/\1/')" -start_time=$(date +%s.%N) +start_time="$(date +%s.%N)" cd html-gen @@ -99,54 +99,54 @@ sed -i '5i
Jam Icon

' AUTHORS.html echo "" >> AUTHORS.html -REVS=(`hg log -l$CHANGESETS | grep 'changeset:' | cut -d: -f3 | tr '\n' ' '`) +REVS=(`hg log -l"$CHANGESETS" | grep 'changeset:' | cut -d: -f3 | tr '\n' ' '`) print_debug "Done. Starting formatting (bolding, mailto and hyperlink creation)" for FILE in NEWS.html ChangeLog.html do print_debug "Processing $FILE..." - mv $FILE "$FILE.old" + mv "$FILE" "$FILE.old" COUNTER=0 while read LINE do BOLD=1 - if [[ $FILE == "NEWS.html" ]] + if [ "$FILE" = "NEWS.html" ] then - if [[ $LINE =~ New\ in\ release* ]] + if [[ "$LINE" =~ New\ in\ release* ]] then BOLD=0 - COUNTER=$(( $COUNTER + 1 )) + COUNTER="$(( COUNTER + 1 ))" fi - if [[ $COUNTER -gt $NEWS_ITEMS ]] # Cut to two releases + if [ "$COUNTER" -gt "$NEWS_ITEMS" ] # Cut to two releases then break fi else email_regex=".*\<.*\@.*\>" - if [[ $LINE =~ $email_regex ]] # Matches eg , after HTML-escaping + if [[ "$LINE" =~ $email_regex ]] # Matches eg , after HTML-escaping then BOLD=0 fi - date_regex="[0-9]{4}-[0-9]{2}-[0-9]{2}" - if [[ $LINE =~ $date_regex* ]] # Matches line starting with eg 2013-07-01 + date_regex=[0-9]{4}-[0-9]{2}-[0-9]{2} + if [[ "$LINE" =~ $date_regex* ]] # Matches line starting with eg 2013-07-01 then html_space="\ \ " - REV=${REVS[$COUNTER]} + REV="${REVS["$COUNTER"]}" # Turn the date into a hyperlink for the revision this changelog entry describes LINE=$(echo "$LINE" | sed -r "s|($date_regex)($html_space.*$html_space.*)|\1\2|") - COUNTER=$(( $COUNTER + 1 )) + COUNTER="$(( COUNTER + 1 ))" fi - if [[ $COUNTER -gt $CHANGESETS ]] # Cut to ten changesets + if [ "$COUNTER" -gt "$CHANGESETS" ] # Cut to ten changesets then break fi fi - if [[ $BOLD -eq 0 ]] # Highlight "New In Release" in News, and author name lines in ChangeLog + if [ "$BOLD" -eq 0 ] # Highlight "New In Release" in News, and author name lines in ChangeLog then LINE="$LINE" fi - echo "$LINE" >> $FILE + echo "$LINE" >> "$FILE" done < "$FILE.old" rm "$FILE.old" print_debug "$FILE finished" @@ -154,7 +154,7 @@ sed -i -r 's|(\*\ .*):|\1:|' ChangeLog.html # Underline changed files in ChangeLog, eg "* Makefile.am:" -end_time=$(date +%s.%N) +end_time="$(date +%s.%N)" print_debug "HTML generation complete" print_debug "Total elapsed time: $(echo "$end_time - $start_time" | bc )" From aazores at redhat.com Thu Jan 9 11:06:56 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 09 Jan 2014 14:06:56 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52CECB93.4030009@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> Message-ID: <52CEF350.8090704@redhat.com> On 01/09/2014 11:17 AM, Andrew Azores wrote: > On 01/03/2014 02:43 PM, Andrew Azores wrote: >> Updated PR1592 tests, using a custom reproducer rather than split >> simple/signed. This allows method calls to be made in the normal way >> as well as via reflection. JNLP includes both applications and >> applets now, and they close properly as well. >> >> (snip) >> >> Thanks, >> Andrew A > > Went back over this and realized one of the tests was written wrong. > The assertAccessControlException helper method in the testcase file is > now a little stricter about the type of AccessControlException (so > that the exceptions due to applets not being allowed to call > System.exit don't falsely fulfill this assertion), and > MixedSigningAppletHelper.attackDoPrivileged now properly calls > MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it > should have been doing. In this case, the Unsigned JAR actually *is* > meant to be able to retrieve data from the Signed JAR (as is the point > of the AccessController.doPrivileged call), so the testcases now > expect this test to successfully read from System.getProperty, rather > than receive an AccessControlException. However, the tests still > verify that in situations where the Signed JAR has a method call that > involves a privileged action *without* being placed inside a > doPrivileged call, an AccessControlException will be thrown if the > Unsigned code attempts to access it, as expected. > > Thanks, > Sorry, please ignore the previous patch. The extra changes were not made based on the most recent other changes. Attached are the properly rebased patches, also split into three as they were originally. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-resources2.patch Type: text/x-patch Size: 120943 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/77a6abf1/custom-resources2-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-srcs2.patch Type: text/x-patch Size: 29260 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/77a6abf1/custom-srcs2-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: custom-testcases2.patch Type: text/x-patch Size: 30442 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/77a6abf1/custom-testcases2-0001.patch From stefan.reich.maker.of.eye at googlemail.com Thu Jan 9 11:14:01 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Thu, 9 Jan 2014 20:14:01 +0100 Subject: 100% CPU in IcedTea plugin In-Reply-To: <52CE5AB4.2000500@redhat.com> References: <52CE5AB4.2000500@redhat.com> Message-ID: > custom build head? That sounds... complicated. Is it compiling, linking and stuff? I'm more in favor of single-click installations :o) I'll try to do the stackdump, I think that'll help us all find the reason. Thanks for the answer! Stefan On Thu, Jan 9, 2014 at 9:15 AM, Jiri Vanek wrote: > On 01/09/2014 02:12 AM, Stefan Reich wrote: > >> Hi! >> >> I am seeing 100% CPU usage by the Java process when I use the IcedTea >> plugin + OpenJDK 7 in Firefox >> 22 on Peppermint Linux. >> >> It's not every time. Mostly after I load a few applets, it begins. >> Applets don't work and CPU usage >> of Java process = 100%. >> >> I also saw this with Java 6 I think. Definitely it's Java 7 now: >> >> ~ $ dpkg -l|grep iced >> ii icedtea-7-jre-jamvm 7u25-2.3.10-1ubuntu0.12.04.2 >> Alternative JVM >> for OpenJDK, using JamVM >> ii icedtea-7-plugin 1.2.3-0ubuntu0.12.04.3 >> web browser >> plugin based on OpenJDK and IcedTea to execute Java applets >> ii icedtea-netx 1.2.3-0ubuntu0.12.04.3 >> NetX - >> implementation of the Java Network Launching Protocol (JNLP) >> ii icedtea-netx-common 1.2.3-0ubuntu0.12.04.3 >> NetX - >> implementation of the Java Network Launching Protocol (JNLP) >> >> What to do...? Any way to find out what the Java process is doing? >> >> I'll try kill -3 to get a stack dump next time the bug is seen. Hope it >> goes somewhere I can see it. >> >> Note: Sometimes the CPU load seems to go away again by itself, remember >> seeing that once. >> >> Weird, eh? >> >> Here's an example applet btw: http://tinybrain.de:8080/tb/ >> gui-applet.php?id=105 >> >> Any ideas? >> > > > Not much to guess I'm afraid :( Do you mind to try with custom build head? > I have tried the exampel link you posted today, and java for very short > tiime jumped to 42% but rest of time it dropped to vlaues 5% and moreover > less.. > > > J. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140109/08d6bc31/attachment.html From aazores at redhat.com Thu Jan 9 12:19:54 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 09 Jan 2014 15:19:54 -0500 Subject: 100% CPU in IcedTea plugin In-Reply-To: References: <52CE5AB4.2000500@redhat.com> Message-ID: <52CF046A.5030601@redhat.com> On 01/09/14 14:14, Stefan Reich wrote: > > custom build head? > > That sounds... complicated. Is it compiling, linking and stuff? > > I'm more in favor of single-click installations :o) > > I'll try to do the stackdump, I think that'll help us all find the reason. > > Thanks for the answer! > Stefan > It's really not all that bad. hg clone http://icedtea.classpath.org/hg/icedtea-web cd icedtea-web ./autogen.sh mkdir build cd build ../configure --prefix=$(pwd) make make install make user-links The user-links step installs the plugin for your user account, and your account only. To uninstall it afterward, cd back to the icedtea-web/build directory (if you aren't already there) and run "make restore-user-links". Then you can delete the icedtea-web directory if you so desire. Note that you will have to restart your browser after running make user-links in order for it to be recognized. If you can somehow get profiling information on which method(s) are eating up CPU time then that would be great, however. You're also using a very old version of IcedTea-Web there (1.2.3) - looks like Peppermint is (unfortunately) pulling from Ubuntu's 12.04 LTS repos for that, because I know 13.10 actually has 1.4 in its repos. It's quite possible that this problem will be fixed just by upgrading to something more recent. If you'd rather go this route rather than compiling from source, go to [1] and select the icedtea-netx and icedtea-netx-common packages from a newer release such as Saucy, which has 1.4. Then download and install them on your system just like any other .deb. The download links for Precise will bring you back to the currently installed versions you have now, if you need those to downgrade later on. Note that I'm not a Peppermint or Ubuntu user at all, so I can't really provide too much support with this in particular. It *should* be completely safe, but I make no guarantees :) Since it's affecting 1.2, I wonder if it's this [2] bug, or something related... [1] http://packages.ubuntu.com/search?keywords=icedtea-netx&searchon=names&suite=all§ion=all [2] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=854 Thanks, -- Andrew A From aph at redhat.com Fri Jan 10 01:28:09 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 10 Jan 2014 09:28:09 +0000 Subject: building icedtea-7 on ARM In-Reply-To: References: Message-ID: <52CFBD29.4000502@redhat.com> On 01/10/2014 12:06 AM, Grant wrote: > I'm trying to build icedtea-7 on an ARM Gentoo system (Pandaboard ES) > but it fails. I have gcj-jdk-4.8.2 and gcc-4.8.2 with gcj support > compiled in. icedtea-6 builds fine but I need icedtea-7. Does anyone > know how to get this to build on ARM? I fixed a bug on this recently. Please try icedtea7 head. Andrew. From ptisnovs at icedtea.classpath.org Fri Jan 10 02:00:03 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 10 Jan 2014 10:00:03 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColorAlpha t... Message-ID: changeset f4c7afa44323 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=f4c7afa44323 author: Pavel Tisnovsky date: Fri Jan 10 11:04:06 2014 +0100 Ten new tests added into BitBltUsingBgColorAlpha test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java | 150 ++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r 751bb38bbcb8 -r f4c7afa44323 ChangeLog --- a/ChangeLog Thu Jan 09 12:23:00 2014 +0100 +++ b/ChangeLog Fri Jan 10 11:04:06 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-10 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java: + Ten new tests added into BitBltUsingBgColorAlpha test suite. + 2014-01-09 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 751bb38bbcb8 -r f4c7afa44323 src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java Thu Jan 09 12:23:00 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java Fri Jan 10 11:04:06 2014 +0100 @@ -1708,6 +1708,156 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundGreenAlpha000(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green, 0.0f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundGreenAlpha025(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green, 0.25f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundGreenAlpha050(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green, 0.5f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundGreenAlpha075(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green, 0.75f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundGreenAlpha100(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.green, 1.00f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlueAlpha000(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue, 0.0f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlueAlpha025(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue, 0.25f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlueAlpha050(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue, 0.5f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlueAlpha075(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue, 0.75f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundBlueAlpha100(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.blue, 1.00f); + } + + /** * Test basic BitBlt operation for empty buffered image with type TYPE_INT_ARGB. * Background color is set to Color.black. * From ptisnovs at icedtea.classpath.org Fri Jan 10 02:14:51 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 10 Jan 2014 10:14:51 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset fffe244ab2da in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=fffe244ab2da author: Pavel Tisnovsky date: Fri Jan 10 11:19:05 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/ScriptContextClassTest.java | 48 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r f48c989ce6fe -r fffe244ab2da ChangeLog --- a/ChangeLog Thu Jan 09 12:45:38 2014 +0100 +++ b/ChangeLog Fri Jan 10 11:19:05 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-10 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-09 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r f48c989ce6fe -r fffe244ab2da src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Thu Jan 09 12:45:38 2014 +0100 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Fri Jan 10 11:19:05 2014 +0100 @@ -1314,6 +1314,54 @@ } try { + this.scriptContextClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptContextClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From dbhole at redhat.com Fri Jan 10 08:57:27 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Fri, 10 Jan 2014 11:57:27 -0500 Subject: application/x-java-applet;jpi-version=1.6.0_06 In-Reply-To: <52C557DE.4080700@redhat.com> References: <52C493B4.7010501@nottheoilrig.com> <52C557DE.4080700@redhat.com> Message-ID: <20140110165727.GK10840@redhat.com> * Jiri Vanek [2014-01-02 07:13]: > On 01/01/2014 11:16 PM, Jack Bates wrote: > Hello! > > > >Firefox complains "A plugin is needed to display this content." when I try to access Oracle Forms. I > >am running a fresh install of Ubuntu 13.10 plus the icedtea-6-plugin package, version 1.4. The > >plugin is detected by Firefox when I visit both about:addons and about:plugins > > > >I reduced the Oracle Forms landing page to this test case: > > > > http://nottheoilrig.com/java/201306210 > > Thank you for reproducer! > > > >Firefox complains with the same error when I visit this test case ("A plugin is needed to display > >this content.") but the error goes away if I drop the "jpi-version" from the test case. > >Unfortunately I can't drop the "jpi-version" from the actual Oracle Forms landing page. > > > This appeared to be more tricky then I thought at first. The > attached patch is fixing the reproducers behaviour, however there is > issue, that this type of definition requires exact hardccoded "_06" > in mime descripor. > I am against doing this. The documentation[1] states: "The recommended usage of the tag is to not specify any version or jpi-version in the MIME type of the applet. Instead, use the java_version parameter to choose a particular JRE version upon which to run the applet." 1: http://www.oracle.com/technetwork/java/javase/index-141751.html#JPI_VERSION >From what I can tell, Oracle Forms is essentially hardcoding the required JDK version which is a bad way to do things (especially since 1.6.0_06 was released in April 2008 and is extremely insecure). The proprietary Oracle plug-in only supplies a specific jpi-version that corresponds to the JDK it is shipped with, and not previous ones. The Oracle Forms app needs to be updated. I understand that the user has little say in this sometimes but I would really like to avoid changing ITW to accommodate badly written apps. Cheers, Deepak > If Forms works for you, I would be happy to include > > "application/x-java-applet;jpi-version=1.6.0_06:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.6.0_06:class,jar:IcedTea;" > > strings to itw when compiled by jdk7. > > > Currently, when icedtea-web is compiled by jdk6 it is using: > "application/x-java-applet;jpi-version=1.6.0_50:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.6.0_50:class,jar:IcedTea;" > and when jdk7. > "application/x-java-applet;jpi-version=1.7.0_50:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.7.0_50:class,jar:IcedTea;" > > > So actually the issue will not be fixed by compilation by jdk6. > > > The oracle forms are requesting *exactly* 1.6.0_06 version, so even if we include > > "application/x-java-applet;jpi-version=1.6.0_50:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.6.0_50:class,jar:IcedTea;" > > then your applet will still not be detected by firefox properly :( > > As I'm not aware of any wildchars for mimedescritptiors, the only > correct approach seems to be some generated list of: > "application/x-java-applet;jpi-version=1.6.0_01:class,jar:IcedTea;" > "application/x-java-applet;jpi-version=1.6.0_02:class,jar:IcedTea;" > ... > "application/x-java-applet;jpi-version=1.6.0_99:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.6.0_01:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.6.0_02:class,jar:IcedTea;" > .... > "application/x-java-bean;jpi-version=1.6.0_99:class,jar:IcedTea;" > "application/x-java-applet;jpi-version=1.7.0_01:class,jar:IcedTea;" > "application/x-java-applet;jpi-version=1.7.0_02:class,jar:IcedTea;" > ... > "application/x-java-applet;jpi-version=1.7.0_99:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.7.0_01:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.7.0_02:class,jar:IcedTea;" > .... > "application/x-java-bean;jpi-version=1.7.0_99:class,jar:IcedTea;" > > "application/x-java-applet;jpi-version=1.8.0_01:class,jar:IcedTea;" > "application/x-java-applet;jpi-version=1.8.0_02:class,jar:IcedTea;" > ... > "application/x-java-applet;jpi-version=1.8.0_99:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.8.0_01:class,jar:IcedTea;" > "application/x-java-bean;jpi-version=1.8.0_02:class,jar:IcedTea;" > .... > "application/x-java-bean;jpi-version=1.8.0_99:class,jar:IcedTea;" > ...jdk9?...10/?... > > Which you must admit will look in about:plugins even more terrible then current loong list > > or maybe some custom mime types definitions in itw-settings? > > I have CCed Deepak, who once studied the mimetypes, maybe he will have better idea. > > Also maybe good idea may be to Contact oracle with the issue and ask them to remove this restriction. > > > > >Can IcedTea-Web run the Oracle Forms applet? > > I don't know. Can I try somewhere? Or can you try rebuilt icedtea-web with attached patch? > > Best regards, > J. > > > diff -r 1b804476f47e Makefile.am > --- a/Makefile.am Thu Jan 02 11:47:21 2014 +0100 > +++ b/Makefile.am Thu Jan 02 12:51:00 2014 +0100 > @@ -123,6 +123,7 @@ > > # Fake update version to work with the Deployment Toolkit script used by Oracle > # http://download.oracle.com/javase/tutorial/deployment/deploymentInDepth/depltoolkit_index.html > +# be aware of usage in IcedTeaNPPlugin.cc > export JDK_UPDATE_VERSION=50 > > # Sources list > diff -r 1b804476f47e plugin/icedteanp/IcedTeaNPPlugin.cc > --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jan 02 11:47:21 2014 +0100 > +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Jan 02 12:51:00 2014 +0100 > @@ -62,13 +62,21 @@ > #define PLUGIN_DESC "The " PLUGIN_NAME " executes Java applets." > > #ifdef HAVE_JAVA7 > +// regullar jpi support, JDK_UPDATE_VERSION is *hardcoded* in Makefile.am to 50 > #define JPI_VERSION "1.7.0_" JDK_UPDATE_VERSION > #define PLUGIN_APPLET_MIME_DESC7 \ > "application/x-java-applet;version=1.7:class,jar:IcedTea;" > #define PLUGIN_BEAN_MIME_DESC7 \ > "application/x-java-bean;version=1.7:class,jar:IcedTea;" > +// hacky approach to support jpi of 6 in jpi of 7 > + #define JPI6_VERSION \ > + "application/x-java-applet;jpi-version=1.6.0_06:class,jar:IcedTea;" \ > + "application/x-java-bean;jpi-version=1.6.0_06:class,jar:IcedTea;" > #else > +// regullar jpi support > #define JPI_VERSION "1.6.0_" JDK_UPDATE_VERSION > +// no need to re-deffine > + #define JPI6_VERSION > #define PLUGIN_APPLET_MIME_DESC7 > #define PLUGIN_BEAN_MIME_DESC7 > #endif > @@ -109,7 +117,8 @@ > "application/x-java-bean;version=1.6:class,jar:IcedTea;" \ > PLUGIN_BEAN_MIME_DESC7 \ > "application/x-java-bean;jpi-version=" JPI_VERSION ":class,jar:IcedTea;" \ > - "application/x-java-vm-npruntime::IcedTea;" > + "application/x-java-vm-npruntime::IcedTea;" \ > + JPI6_VERSION > > #define PLUGIN_URL NS_INLINE_PLUGIN_CONTRACTID_PREFIX NS_JVM_MIME_TYPE > #define PLUGIN_MIME_TYPE "application/x-java-vm" From aazores at redhat.com Fri Jan 10 13:58:55 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 10 Jan 2014 16:58:55 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button Message-ID: <52D06D1F.7070301@redhat.com> Hi, As inspired by an earlier mailing list thread [1]/[2]/[3], this patch introduces a new "Sandbox" button in the dialog that appears when a user is prompted to decide whether or not they trust the signer of an applet. If the user clicks "Run", then the applet proceeds as normal, being granted full Java Permissions (except in edge cases such as PR1592 - mixed JAR signing - and PR1513 - external main-class). If the user clicks "Sandbox", however, the classloader will treat the applet as if it is completely unsigned, and run it only with Sandbox Permissions, disregarding the fact that the applet has been signed. More work will need to be done with this patch once the PartiallySigned Dialogs patch goes in, so that that dialog also supports this action. This will be done at a later date in a new changeset. Automated tests have been largely left out of this patch since it deals with adding GUI elements, and the state of the ClassLoader itself cannot be directly influenced by a reproducer without interacting with security prompts (obviously). A small unit test was included to check the conversion between a new AppletAction enum type and arbitrary Object references - see the patch for the relevance of this enum and why this test needs to be done. Non-automated testing should involve: 1) running unsigned applets and verifying that the CertWarning dialog does not appear 2) running unsigned applets and verifying that there is no Sandbox button 3) running signed applets and verifying that there is a Sandbox button, which is enabled iff the "always trust content" checkbox is NOT ticked 4) running signed applets with the "Run" button results in a normal applet launch (same behaviour with and without patch applied) 5) running signed applets with the "Sandbox" button results in the applet not being able to perform privileged actions Some sample signed applets to test with: a) http://caff.de/applettest/Signed.html - once the applet launches, privileged actions include printing and saving local files. "Sandbox" mode should result in permission denied error dialogs b) https://oasisweb.uga.edu/oasis.html - launch browser from terminal to run this test. The applet will attempt to read several system properties, which it will print out. In standard run, these will be successfully read. In Sandbox mode, permission denied errors will be printed instead. c) JOGL tests at http://jogamp.org/deployment/jogamp-current/jogl-test-applets.html - launch browser from terminal to run this test. Running applets in Sandbox mode will cause most of the applets to fail at runtime, with AccessControlExceptions printed to the terminal. Known issues (needing discussion): - The CertWarning dialog sometimes appears more than once for a given applet (this is existing behaviour) - once per certificate that the user needs to approve trust. It doesn't seem to make sense for the "Sandbox" button to only apply to some subset of JARs in an applet based on signers, rather it should simply apply to the entire applet. Should further CertWarnings simply not be shown after the first time, if the Sandbox option is chosen the first time? Currently the implementation sets the entire classloader to Sandbox mode when a Sandbox button is pressed, which *must* occur before any classes are loaded and assigned security descriptors, so pressing Sandbox the first time and Run the second time will still result in Sandboxed behaviour. Or, should subsequent CertWarnings still be shown but perhaps with the Run button disabled if Sandbox has been chosen at least once prior? - The entire classloader is set to Sandbox mode, and this is not done with any more fine-grained control than this. If multiple applets are sharing the same classloader instance, then they will all be run sandboxed. This can be changed, but I think it's going to be a very rare situation where applets that are sharing a classloader will not all be trusted at the same level by the user. Leaving it as it is keeps the implementation simpler. ChangeLog: Added "Sandbox" button to CertWarning dialogs, allowing signed applets to be run with restricted permissions * netx/net/sourceforge/jnlp/resources/Messages.properties: (ButSandbox, LRunInSandboxError, LRunInSandboxErrorInfo): new messages * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (security) initialize to null when declared. (runInSandbox) new field. (getRunInSandbox) getter for new field. (setRunInSandbox) set the classloader to run current applet sandboxed. (activateJars, initializeResources, addNewJar, setSecurity) assign sandbox permissions regardless of signing if runInSandbox is set. (createInstance) do not show unsigned applet prompt if runInSandbox is set. * netx/net/sourceforge/jnlp/security/AppVerifier.java: (checkTrustWithUser) added JNLPClassLoader param * netx/net/sourceforge/jnlp/security/CertWarningPane.java: added Sandbox button * netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java: (checkTrustWithUser) uses AppletAction enum type, calls JNLPClassLoader#setRunInSandbox if AppletAction is SANDBOX * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: same * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: added (AppletAction) enum type. (showCertWarning) returns AppletAction rather than boolean * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser) refactor to use AppletAction rather than boolean * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: (checkTrustWithUser) added JNLPClassLoader param * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: (testGetIntegerResponseAsAppletAction) new tests for converting Object references into AppletActions [1] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-October/025394.html [2] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-November/025396.html [3] http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025399.html Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: run_in_sandbox_button.patch Type: text/x-patch Size: 25245 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140110/a4178111/run_in_sandbox_button-0001.patch From bugzilla-daemon at icedtea.classpath.org Fri Jan 10 13:59:32 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 10 Jan 2014 21:59:32 +0000 Subject: [Bug 1264] The "Security Approval Required" dialog is inflexible and misses the point In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1264 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |aazores at redhat.com Assignee|omajid at redhat.com |aazores at redhat.com --- Comment #3 from Andrew Azores --- In progress. http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025746.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140110/971f8b80/attachment.html From 3b5hkp at nottheoilrig.com Sat Jan 11 09:33:47 2014 From: 3b5hkp at nottheoilrig.com (Jack Bates) Date: Sat, 11 Jan 2014 09:33:47 -0800 Subject: application/x-java-applet;jpi-version=1.6.0_06 In-Reply-To: <20140110165727.GK10840@redhat.com> References: <52C493B4.7010501@nottheoilrig.com> <52C557DE.4080700@redhat.com> <20140110165727.GK10840@redhat.com> Message-ID: <52D1807B.2050006@nottheoilrig.com> On 10/01/14 08:57 AM, Deepak Bhole wrote: > * Jiri Vanek [2014-01-02 07:13]: >> On 01/01/2014 11:16 PM, Jack Bates wrote: >> Hello! >> >>> Firefox complains "A plugin is needed to display this content." when I try to access Oracle Forms. I >>> am running a fresh install of Ubuntu 13.10 plus the icedtea-6-plugin package, version 1.4. The >>> plugin is detected by Firefox when I visit both about:addons and about:plugins >>> >>> I reduced the Oracle Forms landing page to this test case: >>> >>> http://nottheoilrig.com/java/201306210 >> >> Thank you for reproducer! >> >>> Firefox complains with the same error when I visit this test case ("A plugin is needed to display >>> this content.") but the error goes away if I drop the "jpi-version" from the test case. >>> Unfortunately I can't drop the "jpi-version" from the actual Oracle Forms landing page. >> >> This appeared to be more tricky then I thought at first. The >> attached patch is fixing the reproducers behaviour, however there is >> issue, that this type of definition requires exact hardccoded "_06" >> in mime descripor. > > I am against doing this. The documentation[1] states: > > "The recommended usage of the tag is to not specify any version > or jpi-version in the MIME type of the applet. Instead, use the > java_version parameter to choose a particular JRE version upon which to > run the applet." > > 1: http://www.oracle.com/technetwork/java/javase/index-141751.html#aJPI_VERSION > > From what I can tell, Oracle Forms is essentially hardcoding the > required JDK version which is a bad way to do things (especially since > 1.6.0_06 was released in April 2008 and is extremely insecure). > > The proprietary Oracle plug-in only supplies a specific jpi-version that > corresponds to the JDK it is shipped with, and not previous ones. > > The Oracle Forms app needs to be updated. I understand that the user has > little say in this sometimes but I would really like to avoid changing > ITW to accommodate badly written apps. I understand not wanting to add support for a deprecated MIME type parameter to ITW, and wanting Oracle Forms to get current. In general, from a user's perspective, even if an in-the-wild webapp used "application/x-java-applet;foo=bar" I would rather handle it with ITW than watch Firefox complain "A plugin is needed to display this content." And especially so if ";foo=bar" worked in the past, and still worked on another common platform/environment (although deprecated). I confirm that Oracle Forms runs well on Linux with Firefox and ITW. It's a pity it is hung up on a MIME type parameter. I wonder how many users are affected. (I applied Jiri Vanek's patch, rebuilt ITW and confirm that Oracle Forms runs well. Thank you!) From andrew at icedtea.classpath.org Sat Jan 11 23:27:29 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 12 Jan 2014 07:27:29 +0000 Subject: /hg/release/icedtea7-2.3: Sync with 2.3 forest, bringing in secu... Message-ID: changeset b06fa297bd6a in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=b06fa297bd6a author: Andrew John Hughes date: Wed Jan 08 07:14:24 2014 -0600 Sync with 2.3 forest, bringing in security fixes. 2014-01-08 Andrew John Hughes * Makefile.am: (CORBA_CHANGESET): Update to IcedTea 2.3 HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * hotspot.map: Update default to IcedTea 2.3 HotSpot HEAD. * patches/boot/ecj-stringswitch.patch: Update MethodHandleNatives change to include getDeclaringClass and getInvocationHandler. diffstat: ChangeLog | 21 +++++++++++++++ Makefile.am | 24 ++++++++-------- hotspot.map | 2 +- patches/boot/ecj-stringswitch.patch | 50 +++++++++++++++++++----------------- 4 files changed, 61 insertions(+), 36 deletions(-) diffs (221 lines): diff -r 9f0405f155d9 -r b06fa297bd6a ChangeLog --- a/ChangeLog Tue Aug 06 14:42:42 2013 +0100 +++ b/ChangeLog Wed Jan 08 07:14:24 2014 -0600 @@ -1,3 +1,24 @@ +2014-01-08 Andrew John Hughes + + * Makefile.am: + (CORBA_CHANGESET): Update to IcedTea 2.3 HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * hotspot.map: Update default to IcedTea 2.3 HotSpot + HEAD. + * patches/boot/ecj-stringswitch.patch: + Update MethodHandleNatives change to include getDeclaringClass + and getInvocationHandler. + 2013-08-06 Andrew John Hughes * Makefile.am: diff -r 9f0405f155d9 -r b06fa297bd6a Makefile.am --- a/Makefile.am Tue Aug 06 14:42:42 2013 +0100 +++ b/Makefile.am Wed Jan 08 07:14:24 2014 -0600 @@ -4,19 +4,19 @@ JDK_UPDATE_VERSION = 25 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 7f6068c72726 -JAXP_CHANGESET = 5393f32bae76 -JAXWS_CHANGESET = ab28ab1e1484 -JDK_CHANGESET = 64c0a3fb78cd -LANGTOOLS_CHANGESET = 7bd72dadca4a -OPENJDK_CHANGESET = 8f7b2e697b59 +CORBA_CHANGESET = 3850cca0da9a +JAXP_CHANGESET = 190a4ffa6a95 +JAXWS_CHANGESET = bb0717b2e410 +JDK_CHANGESET = 7b65a4d96959 +LANGTOOLS_CHANGESET = 96fc7f35fbed +OPENJDK_CHANGESET = 2ce335eb4926 -CORBA_SHA256SUM = 2ce092d00be6c04fb6f3bdba8d9ffb0efcf8da339a3be3d124603faf61e62ba5 -JAXP_SHA256SUM = 1017d087c3c6b89c1b20bcf7802d384db492cfc7e5ba998e11124330ea8623f1 -JAXWS_SHA256SUM = b9bb3c916abb5dfe80c48c4918a2e52ee488404db10927b7c3a85b40f7215225 -JDK_SHA256SUM = 221a2961a004d45b1cfb5ce7d08225dca46a8bef1930f26fb1cf10c52a29e9d5 -LANGTOOLS_SHA256SUM = 160b1d61c22c5d4d6bc63c80acc7926791310b0ee8827ba5e15c5b36123dc012 -OPENJDK_SHA256SUM = 2b12839074a86cafbe78b5fc8a8c36cc9e8f3d497079a9c45a3c0bf9fe8a8644 +CORBA_SHA256SUM = fdb1bfaa1e9cf23df3b7dbcf13519e666ba9a775c2c1ac428e82c21cde311840 +JAXP_SHA256SUM = d53adc4b9679914da3f8ddf3ec06e6e8bc8d39392a94f45b346f33840df015c5 +JAXWS_SHA256SUM = 12c18a698d391b82f390e8b510cd1b4dc5a1fb8d86db51b9f04cc069696cf8bd +JDK_SHA256SUM = ed0ac5b438b4a9b831763705e97aadbd8cf355adfc510068219ccd52ce8feea5 +LANGTOOLS_SHA256SUM = 16692b0413b923895bfb96784e7de87697bae647939ae151d7b5891911c9f019 +OPENJDK_SHA256SUM = 9c82391dcbde566f79203beb49b6bdaedcdecbcb6264596ada94be9bf60670b0 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 diff -r 9f0405f155d9 -r b06fa297bd6a hotspot.map --- a/hotspot.map Tue Aug 06 14:42:42 2013 +0100 +++ b/hotspot.map Wed Jan 08 07:14:24 2014 -0600 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot a6502a8a6b31 5c73225a03c33109a4cbea6274bf5af634a14feddb80ed7471af0c1445c93204 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot db4c82656465 c7fd9e168f50054640eebc6d019b99d35a57cc71e4cdeeb003d3416357ae6503 diff -r 9f0405f155d9 -r b06fa297bd6a patches/boot/ecj-stringswitch.patch --- a/patches/boot/ecj-stringswitch.patch Tue Aug 06 14:42:42 2013 +0100 +++ b/patches/boot/ecj-stringswitch.patch Wed Jan 08 07:14:24 2014 -0600 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-06-25 21:52:46.683943837 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2014-01-08 05:28:03.697183409 -0600 @@ -350,18 +350,15 @@ if (attrCommands != null) { Attribute.Layout lkey = Attribute.keyForLookup(ctype, name); @@ -30,8 +30,8 @@ } // Find canonical instance of the requested attribute. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-06-25 21:52:46.707944219 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2014-01-08 05:28:03.698183413 -0600 @@ -73,16 +73,14 @@ { // Non-standard, undocumented "--unpack" switch enables unpack mode. @@ -89,8 +89,8 @@ if (logFile != null && !logFile.equals("")) { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-06-25 21:52:46.707944219 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2014-01-08 05:28:03.716183481 -0600 @@ -1107,30 +1107,25 @@ // what is one of { Debug, Compile, Constant, Exceptions, InnerClasses } if (verbose > 0) @@ -142,8 +142,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-06-25 21:52:46.707944219 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/com/sun/security/ntlm/NTLM.java 2014-01-08 05:28:03.717183484 -0600 @@ -64,17 +64,23 @@ protected NTLM(String version) throws NTLMException { @@ -180,9 +180,9 @@ fac = SecretKeyFactory.getInstance ("DES"); cipher = Cipher.getInstance ("DES/ECB/NoPadding"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-06-26 02:23:21.025257579 +0100 -@@ -421,110 +421,105 @@ +--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleNatives.java 2014-01-08 05:33:22.980367423 -0600 +@@ -421,112 +421,107 @@ // this method is also called by test/sun/reflect/CallerSensitiveFinder // to validate the hand-maintained list private static boolean isCallerSensitiveMethod(Class defc, String method) { @@ -265,6 +265,7 @@ - case "getDeclaredField": - case "getDeclaredMethod": - case "getDeclaredConstructor": +- case "getDeclaringClass": - case "getEnclosingClass": - case "getEnclosingMethod": - case "getEnclosingConstructor": @@ -284,6 +285,7 @@ + "getDeclaredField".equals(method) || + "getDeclaredMethod".equals(method) || + "getDeclaredConstructor".equals(method) || ++ "getDeclaringClass".equals(method) || + "getEnclosingClass".equals(method) || + "getEnclosingMethod".equals(method) || + "getEnclosingConstructor".equals(method)) { @@ -335,9 +337,11 @@ - case "registerAsParallelCapable": + } else if ("registerAsParallelCapable".equals(method)) { return defc == java.lang.ClassLoader.class; +- case "getInvocationHandler": - case "getProxyClass": - case "newProxyInstance": + } else if ("getProxyClass".equals(method) || ++ "getInvocationHandler".equals(method) || + "newProxyInstance".equals(method)) { return defc == java.lang.reflect.Proxy.class; - case "asInterfaceInstance": @@ -362,7 +366,7 @@ return defc == java.util.logging.Logger.class; } return false; -@@ -528,10 +528,10 @@ +@@ -535,10 +530,10 @@ private static boolean canBeCalledVirtual(MemberName mem) { assert(mem.isInvocable()); Class defc = mem.getDeclaringClass(); @@ -377,8 +381,8 @@ } return false; diff -Nru openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java ---- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-06-25 21:52:46.711944282 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/java/lang/invoke/MethodHandleProxies.java 2014-01-08 05:28:03.717183484 -0600 @@ -269,14 +269,16 @@ private static @@ -420,8 +424,8 @@ } return null; diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-06-25 21:52:46.711944282 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/sun/launcher/LauncherHelper.java 2014-01-08 05:28:03.718183487 -0600 @@ -119,24 +119,20 @@ String optStr = (opts.length > 1 && opts[1] != null) ? opts[1].trim() @@ -441,17 +445,17 @@ - stackSize, isServer); - break; - case "properties": -+ stackSize, isServer); - printProperties(ostream); +- printProperties(ostream); - break; - case "locale": - printLocale(ostream); +- printLocale(ostream); - break; - default: - printVmSettings(ostream, initialHeapSize, maxHeapSize, - stackSize, isServer); -- printProperties(ostream); -- printLocale(ostream); ++ stackSize, isServer); + printProperties(ostream); + printLocale(ostream); - break; - } + } @@ -459,8 +463,8 @@ /* diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java ---- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-06-21 21:46:14.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-06-25 21:52:46.711944282 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2013-12-26 11:50:47.000000000 -0600 ++++ openjdk-boot/jdk/src/share/classes/sun/security/util/DisabledAlgorithmConstraints.java 2014-01-08 05:28:03.718183487 -0600 @@ -378,19 +378,23 @@ GE; // ">=" From andrew at icedtea.classpath.org Sat Jan 11 23:27:02 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sun, 12 Jan 2014 07:27:02 +0000 Subject: /hg/icedtea7: Enable Zero when Shark is enabled. Message-ID: changeset 1885a2b6d744 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=1885a2b6d744 author: Andrew John Hughes date: Sun Jan 12 01:25:32 2014 -0600 Enable Zero when Shark is enabled. 2014-01-09 Andrew John Hughes * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Require IT_ENABLE_SHARK so use_shark is set. (IT_ENABLE_SHARK): Rewrite of IT_SET_SHARK_BUILD to simplify & match style of similar macros. * configure.ac: Don't invoke IT_SET_SHARK_BUILD explicitly. diffstat: ChangeLog | 10 ++++++++++ acinclude.m4 | 23 ++++++++--------------- configure.ac | 1 - 3 files changed, 18 insertions(+), 16 deletions(-) diffs (75 lines): diff -r 2ecadf456797 -r 1885a2b6d744 ChangeLog --- a/ChangeLog Thu Dec 26 23:17:45 2013 +0000 +++ b/ChangeLog Sun Jan 12 01:25:32 2014 -0600 @@ -1,3 +1,13 @@ +2014-01-09 Andrew John Hughes + + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Require IT_ENABLE_SHARK + so use_shark is set. + (IT_ENABLE_SHARK): Rewrite of IT_SET_SHARK_BUILD + to simplify & match style of similar macros. + * configure.ac: + Don't invoke IT_SET_SHARK_BUILD explicitly. + 2013-12-26 Andrew John Hughes * Makefile.am: diff -r 2ecadf456797 -r 1885a2b6d744 acinclude.m4 --- a/acinclude.m4 Thu Dec 26 23:17:45 2013 +0000 +++ b/acinclude.m4 Sun Jan 12 01:25:32 2014 -0600 @@ -662,6 +662,7 @@ AC_REQUIRE([IT_SET_ARCH_SETTINGS]) AC_REQUIRE([IT_ENABLE_CACAO]) AC_REQUIRE([IT_ENABLE_JAMVM]) + AC_REQUIRE([IT_ENABLE_SHARK]) AC_MSG_CHECKING([whether to use the zero-assembler port]) use_zero=no AC_ARG_ENABLE([zero], @@ -735,28 +736,20 @@ AC_SUBST(ZERO_ARCHDEF) ]) -AC_DEFUN([IT_SET_SHARK_BUILD], +AC_DEFUN_ONCE([IT_ENABLE_SHARK], [ - AC_MSG_CHECKING(whether to use the Shark JIT) - shark_selected=no + AC_MSG_CHECKING([whether to use the Shark JIT]) AC_ARG_ENABLE([shark], [AS_HELP_STRING(--enable-shark, use Shark JIT)], [ - case "${enableval}" in - no) - ;; - *) - shark_selected=yes - ;; - esac + use_shark="${enableval}" + ], + [ + use_shark=no ]) - use_shark=no - if test "x${shark_selected}" = "xyes"; then - use_shark=yes - fi AC_MSG_RESULT($use_shark) - AM_CONDITIONAL(SHARK_BUILD, test "x${use_shark}" = xyes) + AC_SUBST(ENABLE_SHARK) ]) AC_DEFUN([IT_ENABLE_CACAO], diff -r 2ecadf456797 -r 1885a2b6d744 configure.ac --- a/configure.ac Thu Dec 26 23:17:45 2013 +0000 +++ b/configure.ac Sun Jan 12 01:25:32 2014 -0600 @@ -174,7 +174,6 @@ IT_DISABLE_OPTIMIZATIONS IT_ENABLE_WERROR IT_ENABLE_JAR_COMPRESSION -IT_SET_SHARK_BUILD IT_CHECK_ADDITIONAL_VMS IT_WITH_VERSION_SUFFIX From ptisnovs at icedtea.classpath.org Mon Jan 13 03:52:08 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 13 Jan 2014 11:52:08 +0000 Subject: /hg/gfx-test: Six new tests added into CAGOperationsOnChordAndRe... Message-ID: changeset d63560be2750 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d63560be2750 author: Pavel Tisnovsky date: Mon Jan 13 12:56:16 2014 +0100 Six new tests added into CAGOperationsOnChordAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 138 ++++++++++ 2 files changed, 143 insertions(+), 0 deletions(-) diffs (160 lines): diff -r f4c7afa44323 -r d63560be2750 ChangeLog --- a/ChangeLog Fri Jan 10 11:04:06 2014 +0100 +++ b/ChangeLog Mon Jan 13 12:56:16 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-13 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Six new tests added into CAGOperationsOnChordAndRectangle test suite. + 2014-01-10 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java: diff -r f4c7afa44323 -r d63560be2750 src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Fri Jan 10 11:04:06 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Mon Jan 13 12:56:16 2014 +0100 @@ -605,6 +605,144 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using inverse subtract operator. + * The shape is rendered using radial gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleInverseSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using intersect operator. The shape is + * rendered using radial gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleIntersectRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingIntersectOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using XOR operator. The shape is + * rendered using radial gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleXorRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingXorOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using union operator. The shape is + * rendered using horizontal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleUnionHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set horizontal gradient fill + CommonRenderingStyles.setHorizontalGradientFill(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingUnionOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using subtract operator. The shape is + * rendered using horizontal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleSubtractHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set horizontal gradient fill + CommonRenderingStyles.setHorizontalGradientFill(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using inverse subtract operator. + * The shape is rendered using horizontal gradient fill. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigChordRectangleInverseSubtractHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set horizontal gradient fill + CommonRenderingStyles.setHorizontalGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingInverseSubtractOperator(image); + // fill the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Mon Jan 13 03:59:07 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 13 Jan 2014 11:59:07 +0000 Subject: /hg/rhino-tests: Added new testGetResourceNegativeTest case into Message-ID: changeset 7810608a4b20 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=7810608a4b20 author: Pavel Tisnovsky date: Mon Jan 13 13:03:16 2014 +0100 Added new testGetResourceNegativeTest case into SimpleScriptContextClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/SimpleScriptContextClassTest.java | 61 ++++++++++++++++++++ 2 files changed, 67 insertions(+), 0 deletions(-) diffs (84 lines): diff -r fffe244ab2da -r 7810608a4b20 ChangeLog --- a/ChangeLog Fri Jan 10 11:19:05 2014 +0100 +++ b/ChangeLog Mon Jan 13 13:03:16 2014 +0100 @@ -1,3 +1,9 @@ +2014-01-13 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + Added new testGetResourceNegativeTest case into + SimpleScriptContextClassTest. + 2014-01-10 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: diff -r fffe244ab2da -r 7810608a4b20 src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Fri Jan 10 11:19:05 2014 +0100 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Mon Jan 13 13:03:16 2014 +0100 @@ -1853,6 +1853,67 @@ } /** + * Test for method javax.script.SimpleScriptContext.getClass().getResourceAsStreamNegativeTest() + */ + protected void testGetResourceAsStreamNegativeTest() { + Object stream = null; + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/BaseRhinoTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BaseRhinoTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/BindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/BindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/CompilableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/CompilableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/CompiledScriptClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/CompiledScriptTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/Constants.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/Constants.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/InvocableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/InvocableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/JavaScriptSnippets.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptSnippets.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/JavaScriptsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptsTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptEngineTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextClassTest.class\") returns null"); + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextTest.class\") returns null"); + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleScriptContext */ @SuppressWarnings("cast") From bugzilla-daemon at icedtea.classpath.org Mon Jan 13 07:11:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 13 Jan 2014 15:11:29 +0000 Subject: [Bug 1643] How I can Do? In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1643 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |unassigned at icedtea.classpat | |h.org Component|General |IcedTea Assignee|dbhole at redhat.com |gnu.andrew at redhat.com Product|IcedTea-Web |IcedTea --- Comment #1 from Deepak Bhole --- How do you do what? :) WHat application was running, how can we trigger it and do you have a core backtrace? Updating component as this seems to be a core JVM issue in the JIT compiler. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140113/2807aed8/attachment.html From jvanek at redhat.com Mon Jan 13 08:05:35 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 13 Jan 2014 17:05:35 +0100 Subject: application/x-java-applet;jpi-version=1.6.0_06 In-Reply-To: <52D1807B.2050006@nottheoilrig.com> References: <52C493B4.7010501@nottheoilrig.com> <52C557DE.4080700@redhat.com> <20140110165727.GK10840@redhat.com> <52D1807B.2050006@nottheoilrig.com> Message-ID: <52D40ECF.40506@redhat.com> On 01/11/2014 06:33 PM, Jack Bates wrote: > On 10/01/14 08:57 AM, Deepak Bhole wrote: >> * Jiri Vanek [2014-01-02 07:13]: >>> On 01/01/2014 11:16 PM, Jack Bates wrote: >>> Hello! >>> >>>> Firefox complains "A plugin is needed to display this content." when I try to access Oracle >>>> Forms. I >>>> am running a fresh install of Ubuntu 13.10 plus the icedtea-6-plugin package, version 1.4. The >>>> plugin is detected by Firefox when I visit both about:addons and about:plugins >>>> >>>> I reduced the Oracle Forms landing page to this test case: >>>> >>>> http://nottheoilrig.com/java/201306210 >>> >>> Thank you for reproducer! >>> >>>> Firefox complains with the same error when I visit this test case ("A plugin is needed to display >>>> this content.") but the error goes away if I drop the "jpi-version" from the test case. >>>> Unfortunately I can't drop the "jpi-version" from the actual Oracle Forms landing page. >>> >>> This appeared to be more tricky then I thought at first. The >>> attached patch is fixing the reproducers behaviour, however there is >>> issue, that this type of definition requires exact hardccoded "_06" >>> in mime descripor. >> >> I am against doing this. The documentation[1] states: >> >> "The recommended usage of the tag is to not specify any version >> or jpi-version in the MIME type of the applet. Instead, use the >> java_version parameter to choose a particular JRE version upon which to >> run the applet." >> >> 1: http://www.oracle.com/technetwork/java/javase/index-141751.html#aJPI_VERSION >> >> From what I can tell, Oracle Forms is essentially hardcoding the >> required JDK version which is a bad way to do things (especially since >> 1.6.0_06 was released in April 2008 and is extremely insecure). >> >> The proprietary Oracle plug-in only supplies a specific jpi-version that >> corresponds to the JDK it is shipped with, and not previous ones. >> >> The Oracle Forms app needs to be updated. I understand that the user has >> little say in this sometimes but I would really like to avoid changing >> ITW to accommodate badly written apps. > > I understand not wanting to add support for a deprecated MIME type parameter to ITW, and wanting > Oracle Forms to get current. > > In general, from a user's perspective, even if an in-the-wild webapp used > "application/x-java-applet;foo=bar" I would rather handle it with ITW than watch Firefox complain "A > plugin is needed to display this content." > And especially so if ";foo=bar" worked in the past, and still worked on another common > platform/environment (although deprecated). > > I confirm that Oracle Forms runs well on Linux with Firefox and ITW. It's a pity it is hung up on a > MIME type parameter. I wonder how many users are affected. > > (I applied Jiri Vanek's patch, rebuilt ITW and confirm that Oracle Forms runs well. Thank you!) If it really worked, then it would be really nice to contact the vendor, and ask them to remove this strict requirement. Is it possible? J. From aazores at redhat.com Mon Jan 13 14:20:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 13 Jan 2014 17:20:33 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings Message-ID: <52D466B1.8060108@redhat.com> Hi, This small patch hooks the JDK policytool into itweb-settings. It can then be used to set up a custom user-level JNLP policy - this, in combination with the Run in Sandbox patch, will allow for quite a lot more flexibility in how permissions are handled with signed applets/applications. A nicer, more user-friendly editor to replace the policytool will hopefully come later on. Changelog: * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: added (PolicyPanel) * netx/net/sourceforge/jnlp/resources/Messages.properties: (CPPolicyDetail, CPButPolicy, CPHeadPolicy, CPTabPolicy) new messages * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: new panel for itweb-settings, showing information about user-level policy files and a button to launch policytool Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy2.patch Type: text/x-patch Size: 6092 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140113/adc3d1f3/custom_policy2.patch From gitne at gmx.de Mon Jan 13 15:33:02 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 14 Jan 2014 00:33:02 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D466B1.8060108@redhat.com> References: <52D466B1.8060108@redhat.com> Message-ID: <52D477AE.5040508@gmx.de> Hello there! On 01/13/2014 23:20, Andrew Azores wrote: > Hi, > > This small patch hooks the JDK policytool into itweb-settings. It can then be > used to set up a custom user-level JNLP policy - this, in combination with the > Run in Sandbox patch, will allow for quite a lot more flexibility in how > permissions are handled with signed applets/applications. > > A nicer, more user-friendly editor to replace the policytool will hopefully come > later on. Oooooooh yes, please! This would be awesome! :-) [...] diff --git a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java new file mode 100644 --- /dev/null +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java [...] +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.util.logging.OutputController; + +public class PolicyPanel extends NamedBorderPanel { Is it conceivable that this PolicyPanel is going to be extended or is supposed to be reusable API code? If not, you may consider marking it final. + + private final DeploymentConfiguration config; + + public PolicyPanel(final DeploymentConfiguration config) { Perhaps the constructor's access modifier set to default could be a better choice? After all, this PolicyPanel is not supposed to be used outside of its package. I have not looked myself, but if the other panel's constructors in this package also have their access modifiers set to public, it should be fine. + super(R("CPHeadPolicy"), new GridBagLayout()); + this.config = config; + + addComponents(); + } + + private void addComponents() { + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); + JButton showUserPolicyButton = new JButton(R("CPButPolicy")); + showUserPolicyButton.addActionListener(new ActionListener() { Well, it is not wrong, but I am really not a fan of anonymous classes in UI code. There are probably better situations to use this language construct but unfortunately hundreds of examples in Java programming books have been printed with those rather bluntly authored examples. Hence thousands of students have taken over this habit not knowing any better that the author of that book was just either too lazy to type a real world example, had to fit it on one page, or just wanted to make stuff clear with compact code. Or, maybe the author just wanted to say: Hey look! Java is so cool! Look how few characters you need to type to get visible effects? I do not know. :-/ My point is that often this kind of code gets difficult to read and the class looses structure over time, especially after it has been edited by multiple people over the years. So, it pays off to name things and let classes have structure from the start on. ;-) + public void actionPerformed(ActionEvent e) { + launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); Hmm,... grumble...grumble... Do you really want to try to exec a new process on the AWT thread? A thousand things could go wrong while blocking it. Just one example might be network access. + } + }); + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.gridx = 1; + c.gridy = 0; + c.weightx = 1; + add(aboutLabel, c); + c.fill = GridBagConstraints.NONE; + c.weighty = 0; + c.weightx = 0; + c.gridx = 1; + c.gridy++; + add(showUserPolicyButton, c); + /* Keep all the elements at the top of the panel (Extra padding) */ + c.fill = GridBagConstraints.BOTH; + Component filler = Box.createRigidArea(new Dimension(1, 1)); + c.weighty = 1; + c.gridy++; + add(filler, c); + } + + private static void launchPolicyTool(String fileUrl) { + try { + final URL url = new URL(fileUrl); + final File policyFile = new File(url.getPath()); + final String[] policyToolCmd = new String[] { "policytool", "-file", policyFile.getCanonicalPath() }; + Runtime.getRuntime().exec(policyToolCmd); + } catch (IOException e) { + OutputController.getLogger().log(e); + } + } As already mentioned above, this should probably better not block the AWT thread. Otherwise looks okay to start with, as long as you keep up (your promise?) to effectively replace OpenJDK's policytool with something more accessible and convenient. Keep it up! :-) Jacob From bugzilla-daemon at icedtea.classpath.org Mon Jan 13 20:33:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jan 2014 04:33:31 +0000 Subject: [Bug 1645] New: No clue what happened. Java Crashed Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1645 Bug ID: 1645 Summary: No clue what happened. Java Crashed Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: major Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: danny.fostiropoulos at gmail.com CC: unassigned at icedtea.classpath.org # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f5066595afe, pid=20957, tid=139983285946112 # # JRE version: 6.0_27-b27 # Java VM: OpenJDK 64-Bit Server VM (20.0-b12 mixed mode linux-amd64 compressed oops) # Derivative: IcedTea6 1.12.6 # Distribution: Debian GNU/Linux 7.1 (wheezy), package 6b27-1.12.6-1~deb7u1 # Problematic frame: # C [libresolv.so.2+0x7afe] __libc_res_nquery+0x19e # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # --------------- T H R E A D --------------- Current thread (0x00007f506c17a000): JavaThread "Thread-240886" [_thread_in_native, id=7085, stack(0x00007f5065f88000,0x00007f5066089000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=128 (), si_addr=0x0000000000000000 Registers: RAX=0x000000010001000c, RBX=0x0000000000000220, RCX=0xc0935816b8040001, RDX=0x00007f5066085ff8 RSP=0x00007f5066084b00, RBP=0x00007f5066084df0, RSI=0xc0935816b8040001, RDI=0x00000000ffffffff R8 =0x0000000000000000, R9 =0x00000000ffffffff, R10=0x00007f50660886a8, R11=0x0000000000000206 R12=0x00007f5066085770, R13=0x00007f5066084b30, R14=0x0000000000000060, R15=0x00007f5066088db8 RIP=0x00007f5066595afe, EFLAGS=0x0000000000010282, CSGSFS=0x0000000000000033, ERR=0x0000000000000000 TRAPNO=0x000000000000000d Top of Stack: (sp=0x00007f5066084b00) 0x00007f5066084b00: 0000000000010000 00007f5066085fe0 0x00007f5066084b10: 00007f5066085fd8 00007f5066085ffc 0x00007f5066084b20: 00007f5066085ff8 00007f506659a5f9 0x00007f5066084b30: 0000010000013ff2 3173730300000000 0x00007f5066084b40: 632d79786f72700d 63037463656e6e6f 0x00007f5066084b50: 0001000100006d6f 00000100000143d1 0x00007f5066084b60: 3173730300000000 632d79786f72700d 0x00007f5066084b70: 63037463656e6e6f 0001001c00006d6f 0x00007f5066084b80: 0000000000000017 00007f5066086780 0x00007f5066084b90: 0000000000000000 00007f506659a986 0x00007f5066084ba0: 6f72700d31737303 656e6e6f632d7978 0x00007f5066084bb0: 00006d6f63037463 0000000000000000 0x00007f5066084bc0: 0000000000000000 0000000000000000 0x00007f5066084bd0: 0000000000000000 0000000000000000 0x00007f5066084be0: 0000000000000000 0000000000000000 0x00007f5066084bf0: 0000000000000000 0000000000000000 0x00007f5066084c00: 0000000000000000 0000000000000000 0x00007f5066084c10: 31362e32362e3838 2d6e692e3830312e 0x00007f5066084c20: 7072612e72646461 0000000000002e61 0x00007f5066084c30: 0000000000000000 0000000000000000 0x00007f5066084c40: 0000000000000000 0000000000000000 0x00007f5066084c50: 0000000000000000 0000000000000000 0x00007f5066084c60: 0000000000000000 0000000000000000 0x00007f5066084c70: 0000000000000000 0000000000000000 0x00007f5066084c80: 0000000000000000 0000000000000000 0x00007f5066084c90: 0000000000000000 0000000000000000 0x00007f5066084ca0: 0000000000000000 00007f5066085367 0x00007f5066084cb0: 00007f5066085340 00007f5066085367 0x00007f5066084cc0: 00007f5066085fe0 00007f5066086780 0x00007f5066084cd0: 0000000000000001 00007f50665974b6 0x00007f5066084ce0: 00007f5066084cf0 0000000100000000 0x00007f5066084cf0: 786f72702e317373 63656e6e6f632d79 Instructions: (pc=0x00007f5066595afe) 0x00007f5066595ade: be 01 00 00 48 8b 45 c0 48 85 c0 0f 84 26 04 00 0x00007f5066595aee: 00 48 83 7d c0 00 0f 84 1b 04 00 00 48 8b 4d c0 0x00007f5066595afe: 0f b6 51 03 89 d3 83 e3 0f 75 0d 0f b7 49 06 66 0x00007f5066595b0e: c1 c9 08 66 85 c9 75 52 0f b6 48 03 bf 0f 00 00 Register to memory mapping: RAX=0x000000010001000c is an unknown value RBX=0x0000000000000220 is an unknown value RCX=0xc0935816b8040001 is an unknown value RDX=0x00007f5066085ff8 is pointing into the stack for thread: 0x00007f506c17a000 RSP=0x00007f5066084b00 is pointing into the stack for thread: 0x00007f506c17a000 RBP=0x00007f5066084df0 is pointing into the stack for thread: 0x00007f506c17a000 RSI=0xc0935816b8040001 is an unknown value RDI=0x00000000ffffffff is an unallocated location in the heap R8 =0x0000000000000000 is an unknown value R9 =0x00000000ffffffff is an unallocated location in the heap R10=0x00007f50660886a8 is pointing into the stack for thread: 0x00007f506c17a000 R11=0x0000000000000206 is an unknown value R12=0x00007f5066085770 is pointing into the stack for thread: 0x00007f506c17a000 R13=0x00007f5066084b30 is pointing into the stack for thread: 0x00007f506c17a000 R14=0x0000000000000060 is an unknown value R15=0x00007f5066088db8 is pointing into the stack for thread: 0x00007f506c17a000 Stack: [0x00007f5065f88000,0x00007f5066089000], sp=0x00007f5066084b00, free space=1010k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libresolv.so.2+0x7afe] __libc_res_nquery+0x19e Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J java.net.Inet6AddressImpl.lookupAllHostAddr(Ljava/lang/String;)[Ljava/net/InetAddress; J java.net.InetAddress.getAddressFromNameService(Ljava/lang/String;Ljava/net/InetAddress;)Ljava/lang/Object; J java.net.InetAddress.getHostFromNameService(Ljava/net/InetAddress;Z)Ljava/lang/String; J sun.net.www.http.HttpClient$2.run()Ljava/lang/Object; v ~StubRoutines::call_stub J java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object; J sun.net.www.http.HttpClient.New(Ljava/net/URL;Ljava/net/Proxy;IZ)Lsun/net/www/http/HttpClient; J sun.net.www.http.HttpClient.New(Ljava/net/URL;Ljava/net/Proxy;I)Lsun/net/www/http/HttpClient; J sun.net.www.protocol.http.HttpURLConnection.plainConnect()V J Verifier.run()V J java.lang.Thread.run()V v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x00007f506c101000 JavaThread "Thread-240957" [_thread_in_native, id=7156, stack(0x00007f5065b84000,0x00007f5065c85000)] 0x00007f506c0ff800 JavaThread "Thread-240956" [_thread_blocked, id=7155, stack(0x00007f5065d86000,0x00007f5065e87000)] 0x00007f506c10f800 JavaThread "Thread-240955" [_thread_in_native, id=7154, stack(0x00007f5066089000,0x00007f506618a000)] 0x00007f506c1f3000 JavaThread "Thread-240954" [_thread_in_native, id=7153, stack(0x00007f506618a000,0x00007f506628b000)] 0x00007f506c02d000 JavaThread "Thread-240953" [_thread_in_native, id=7152, stack(0x00007f50670b1000,0x00007f50671b2000)] 0x00007f506c106000 JavaThread "Thread-240952" [_thread_in_native, id=7151, stack(0x00007f506aaeb000,0x00007f506abec000)] 0x00007f506c317800 JavaThread "Thread-240951" [_thread_in_native, id=7150, stack(0x00007f50671b2000,0x00007f50672b3000)] 0x00007f506c052000 JavaThread "Thread-240950" [_thread_in_native, id=7149, stack(0x00007f50672b3000,0x00007f50673b4000)] 0x00007f506c145800 JavaThread "Thread-240949" [_thread_in_native, id=7148, stack(0x00007f50673b4000,0x00007f50674b5000)] 0x00007f506c0fd800 JavaThread "Thread-240948" [_thread_in_native, id=7147, stack(0x00007f50675b6000,0x00007f50676b7000)] 0x00007f506c0ad800 JavaThread "Thread-240947" [_thread_in_native, id=7146, stack(0x00007f50676b7000,0x00007f50677b8000)] 0x00007f506c1e9000 JavaThread "Thread-240946" [_thread_in_native, id=7145, stack(0x00007f50677b8000,0x00007f50678b9000)] 0x00007f506c319000 JavaThread "Thread-240945" [_thread_in_native, id=7144, stack(0x00007f5067abb000,0x00007f5067bbc000)] 0x00007f506c0a0800 JavaThread "Thread-240944" [_thread_in_native, id=7143, stack(0x00007f5067bbc000,0x00007f5067cbd000)] 0x00007f506c144000 JavaThread "Thread-240943" [_thread_in_native, id=7142, stack(0x00007f5067dbe000,0x00007f5067ebf000)] 0x00007f506c0fc000 JavaThread "Thread-240942" [_thread_in_native, id=7141, stack(0x00007f50680c1000,0x00007f50681c2000)] 0x00007f506c2cc800 JavaThread "Thread-240941" [_thread_in_native, id=7140, stack(0x00007f50681c2000,0x00007f50682c3000)] 0x00007f506c152800 JavaThread "Thread-240940" [_thread_in_native, id=7139, stack(0x00007f506a3e4000,0x00007f506a4e5000)] 0x00007f506c2f7000 JavaThread "Thread-240939" [_thread_in_native, id=7138, stack(0x00007f50682c3000,0x00007f50683c4000)] 0x00007f506c2f3800 JavaThread "Thread-240937" [_thread_in_native, id=7136, stack(0x00007f50686c7000,0x00007f50687c8000)] 0x00007f506c11c800 JavaThread "Thread-240936" [_thread_in_native, id=7135, stack(0x00007f50687c8000,0x00007f50688c9000)] 0x00007f506c314800 JavaThread "Thread-240935" [_thread_in_native, id=7134, stack(0x00007f50688c9000,0x00007f50689ca000)] 0x00007f506c185800 JavaThread "Thread-240933" [_thread_in_native, id=7132, stack(0x00007f5068acb000,0x00007f5068bcc000)] 0x00007f506c148000 JavaThread "Thread-240932" [_thread_in_native, id=7131, stack(0x00007f5068bcc000,0x00007f5068ccd000)] 0x00007f506c0f0800 JavaThread "Thread-240931" [_thread_in_native, id=7130, stack(0x00007f5068ccd000,0x00007f5068dce000)] 0x00007f506c2d2800 JavaThread "Thread-240929" [_thread_in_native, id=7128, stack(0x00007f5068ecf000,0x00007f5068fd0000)] 0x00007f506c058000 JavaThread "Thread-240928" [_thread_in_native, id=7127, stack(0x00007f5068fd0000,0x00007f50690d1000)] 0x00007f506c109000 JavaThread "Thread-240926" [_thread_in_native, id=7125, stack(0x00007f50691d2000,0x00007f50692d3000)] 0x00007f506c10d800 JavaThread "Thread-240923" [_thread_in_native, id=7122, stack(0x00007f50696d7000,0x00007f50697d8000)] 0x00007f506c323000 JavaThread "Thread-240922" [_thread_in_native, id=7121, stack(0x00007f50697d8000,0x00007f50698d9000)] 0x00007f506c1f5800 JavaThread "Thread-240921" [_thread_in_native, id=7120, stack(0x00007f50698d9000,0x00007f50699da000)] 0x00007f506c182800 JavaThread "Thread-240920" [_thread_in_native, id=7119, stack(0x00007f5069edf000,0x00007f5069fe0000)] 0x00007f506c0a9800 JavaThread "Thread-240919" [_thread_in_native, id=7118, stack(0x00007f5069fe0000,0x00007f506a0e1000)] 0x00007f506c1f6800 JavaThread "Thread-240918" [_thread_in_native, id=7117, stack(0x00007f506a1e2000,0x00007f506a2e3000)] 0x00007f506c066000 JavaThread "Thread-240917" [_thread_in_native, id=7116, stack(0x00007f506a2e3000,0x00007f506a3e4000)] 0x00007f506c2ce800 JavaThread "Thread-240915" [_thread_in_native, id=7114, stack(0x00007f506a6e7000,0x00007f506a7e8000)] 0x00007f506c1a0800 JavaThread "Thread-240914" [_thread_in_native, id=7113, stack(0x00007f506a7e8000,0x00007f506a8e9000)] 0x00007f506c0b1800 JavaThread "Thread-240913" [_thread_in_native, id=7112, stack(0x00007f506a8e9000,0x00007f506a9ea000)] 0x00007f506c0a2800 JavaThread "Thread-240912" [_thread_in_native, id=7111, stack(0x00007f506a9ea000,0x00007f506aaeb000)] 0x00007f506c132800 JavaThread "Thread-240911" [_thread_in_native, id=7110, stack(0x00007f506adee000,0x00007f506aeef000)] 0x00007f506c14c000 JavaThread "Thread-240910" [_thread_in_native, id=7109, stack(0x00007f506aff0000,0x00007f506b0f1000)] 0x00007f506c031000 JavaThread "Thread-240909" [_thread_in_native, id=7108, stack(0x00007f506b1f2000,0x00007f506b2f3000)] 0x00007f506c180000 JavaThread "Thread-240908" [_thread_in_native, id=7107, stack(0x00007f506b2f3000,0x00007f506b3f4000)] 0x00007f506c10c800 JavaThread "Thread-240907" [_thread_in_native, id=7106, stack(0x00007f506b3f4000,0x00007f506b4f5000)] 0x00007f506c0f2000 JavaThread "Thread-240906" [_thread_in_native, id=7105, stack(0x00007f506b4f5000,0x00007f506b5f6000)] 0x00007f506c0a7800 JavaThread "Thread-240904" [_thread_in_native, id=7103, stack(0x00007f506b7f8000,0x00007f506b8f9000)] 0x00007f506c17d000 JavaThread "Thread-240903" [_thread_in_native, id=7102, stack(0x00007f506bafb000,0x00007f506bbfc000)] 0x00007f506c130800 JavaThread "Thread-240902" [_thread_in_native, id=7101, stack(0x00007f506bbfc000,0x00007f506bcfd000)] 0x00007f506c138000 JavaThread "Thread-240901" [_thread_in_native, id=7100, stack(0x00007f506bcfd000,0x00007f506bdfe000)] 0x00007f506c24c000 JavaThread "Thread-240900" [_thread_in_native, id=7099, stack(0x00007f506bdfe000,0x00007f506beff000)] 0x00007f506c247800 JavaThread "Thread-240899" [_thread_in_native, id=7098, stack(0x00007f506beff000,0x00007f506c000000)] 0x00007f506c05a800 JavaThread "Thread-240898" [_thread_in_native, id=7097, stack(0x00007f5070061000,0x00007f5070162000)] 0x00007f506c249000 JavaThread "Thread-240897" [_thread_in_native, id=7096, stack(0x00007f5070263000,0x00007f5070364000)] 0x00007f506c10a000 JavaThread "Thread-240896" [_thread_in_native, id=7095, stack(0x00007f506aeef000,0x00007f506aff0000)] 0x00007f506c2f2800 JavaThread "Thread-240895" [_thread_in_native, id=7094, stack(0x00007f506a4e5000,0x00007f506a5e6000)] 0x00007f506c055000 JavaThread "Thread-240894" [_thread_in_native, id=7093, stack(0x00007f50693d4000,0x00007f50694d5000)] 0x00007f506c02b000 JavaThread "Thread-240892" [_thread_in_native, id=7091, stack(0x00007f5069adb000,0x00007f5069bdc000)] 0x00007f506c2b4800 JavaThread "Thread-240891" [_thread_in_native, id=7090, stack(0x00007f506b9fa000,0x00007f506bafb000)] 0x00007f506c0a4000 JavaThread "Thread-240889" [_thread_in_native, id=7088, stack(0x00007f5065c85000,0x00007f5065d86000)] 0x00007f506c0f3800 JavaThread "Thread-240888" [_thread_blocked, id=7087, stack(0x00007f50685c6000,0x00007f50686c7000)] 0x00007f506c05e800 JavaThread "Thread-240887" [_thread_in_native, id=7086, stack(0x00007f506aced000,0x00007f506adee000)] =>0x00007f506c17a000 JavaThread "Thread-240886" [_thread_in_native, id=7085, stack(0x00007f5065f88000,0x00007f5066089000)] 0x00007f506c002000 JavaThread "Thread-240885" [_thread_in_native, id=7084, stack(0x00007f50694d5000,0x00007f50695d6000)] 0x00007f506c312000 JavaThread "Thread-240884" [_thread_in_native, id=7083, stack(0x00007f506b8f9000,0x00007f506b9fa000)] 0x00007f506c2d1800 JavaThread "Thread-240883" [_thread_in_native, id=7082, stack(0x00007f506638c000,0x00007f506648d000)] 0x00007f506c2b0800 JavaThread "Thread-240882" [_thread_in_native, id=7081, stack(0x00007f5066bac000,0x00007f5066cad000)] 0x00007f506c19f800 JavaThread "Thread-240881" [_thread_in_native, id=7080, stack(0x00007f50683c4000,0x00007f50684c5000)] 0x00007f506c11a800 JavaThread "Thread-240880" [_thread_in_native, id=7079, stack(0x00007f5070364000,0x00007f5070465000)] 0x00007f506c149800 JavaThread "Thread-240878" [_thread_in_native, id=7077, stack(0x00007f506abec000,0x00007f506aced000)] 0x00007f506c2b3800 JavaThread "Thread-240877" [_thread_in_native, id=7076, stack(0x00007f50674b5000,0x00007f50675b6000)] 0x00007f506c071000 JavaThread "Thread-240876" [_thread_in_native, id=7075, stack(0x00007f5070465000,0x00007f5070566000)] 0x00007f506c178000 JavaThread "Thread-240875" [_thread_in_native, id=7074, stack(0x00007f506577f000,0x00007f5065880000)] 0x00007f506c0b8800 JavaThread "Thread-240874" [_thread_in_native, id=7073, stack(0x00007f506a0e1000,0x00007f506a1e2000)] 0x00007f506c003000 JavaThread "Thread-240873" [_thread_in_native, id=7072, stack(0x00007f506a5e6000,0x00007f506a6e7000)] 0x00007f506c10b000 JavaThread "Thread-240872" [_thread_in_native, id=7071, stack(0x00007f5067ebf000,0x00007f5067fc0000)] 0x00007f506c324800 JavaThread "Thread-240871" [_thread_blocked, id=7070, stack(0x00007f5066dae000,0x00007f5066eaf000)] 0x00007f506c138800 JavaThread "Thread-240870" [_thread_in_native, id=7069, stack(0x00007f506628b000,0x00007f506638c000)] 0x00007f506c14e800 JavaThread "Thread-240868" [_thread_in_native, id=7067, stack(0x00007f506b6f7000,0x00007f506b7f8000)] 0x00007f506c2cd800 JavaThread "Thread-240867" [_thread_in_native, id=7066, stack(0x00007f5069cdd000,0x00007f5069dde000)] 0x00007f506c22c800 JavaThread "Thread-240866" [_thread_in_native, id=7065, stack(0x00007f5067cbd000,0x00007f5067dbe000)] 0x00007f506c06f800 JavaThread "Thread-240864" [_thread_in_native, id=7063, stack(0x00007f50699da000,0x00007f5069adb000)] 0x00007f506c05f800 JavaThread "Thread-240863" [_thread_in_native, id=7062, stack(0x00007f5066fb0000,0x00007f50670b1000)] 0x00007f506c0a8800 JavaThread "Thread-240862" [_thread_in_native, id=7061, stack(0x00007f5069dde000,0x00007f5069edf000)] 0x00007f506c1ef800 JavaThread "Thread-240861" [_thread_in_native, id=7060, stack(0x00007f50678b9000,0x00007f50679ba000)] 0x00007f506c313800 JavaThread "Thread-240860" [_thread_in_native, id=7059, stack(0x00007f5066eaf000,0x00007f5066fb0000)] 0x00007f506c115000 JavaThread "Thread-240859" [_thread_in_native, id=7058, stack(0x00007f506648d000,0x00007f506658e000)] 0x00007f506c136000 JavaThread "Thread-240858" [_thread_in_native, id=7057, stack(0x00007f506b0f1000,0x00007f506b1f2000)] 0x0000000001d26000 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=6756, stack(0x00007f50679ba000,0x00007f5067abb000)] 0x00007f506c0a5800 JavaThread "DestroyJavaVM" [_thread_blocked, id=20958, stack(0x00007f5077a3d000,0x00007f5077b3e000)] 0x00007f506c13e000 JavaThread "Thread-3" [_thread_blocked, id=20971, stack(0x00007f5070677000,0x00007f5070778000)] 0x0000000001adf000 JavaThread "Thread-2" [_thread_blocked, id=20970, stack(0x00007f5070576000,0x00007f5070677000)] 0x00007f506c059800 JavaThread "Thread-0" [_thread_blocked, id=20968, stack(0x00007f5070778000,0x00007f5070879000)] 0x0000000001adb800 JavaThread "Abandoned connection cleanup thread" daemon [_thread_blocked, id=20967, stack(0x00007f5070a8e000,0x00007f5070b8f000)] 0x000000000193d000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=20965, stack(0x00007f5070cda000,0x00007f5070ddb000)] 0x0000000001938800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=20964, stack(0x00007f5070ddb000,0x00007f5070edc000)] 0x0000000001934000 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=20963, stack(0x00007f5070edc000,0x00007f5070fdd000)] 0x0000000001932800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=20962, stack(0x00007f5070fdd000,0x00007f50710de000)] 0x000000000190e800 JavaThread "Finalizer" daemon [_thread_blocked, id=20961, stack(0x00007f5071255000,0x00007f5071356000)] 0x000000000190c800 JavaThread "Reference Handler" daemon [_thread_blocked, id=20960, stack(0x00007f5071356000,0x00007f5071457000)] Other Threads: 0x0000000001907800 VMThread [stack: 0x00007f5071457000,0x00007f5071558000] [id=20959] 0x0000000001940000 WatcherThread [stack: 0x00007f5070bd9000,0x00007f5070cda000] [id=20966] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap def new generation total 154240K, used 141085K [0x00000000d6400000, 0x00000000e0b50000, 0x00000000e0b50000) eden space 137152K, 100% used [0x00000000d6400000, 0x00000000de9f0000, 0x00000000de9f0000) from space 17088K, 23% used [0x00000000dfaa0000, 0x00000000dfe777b0, 0x00000000e0b50000) to space 17088K, 0% used [0x00000000de9f0000, 0x00000000de9f0000, 0x00000000dfaa0000) tenured generation total 342720K, used 342720K [0x00000000e0b50000, 0x00000000f5a00000, 0x00000000f5a00000) the space 342720K, 100% used [0x00000000e0b50000, 0x00000000f5a00000, 0x00000000f5a00000, 0x00000000f5a00000) compacting perm gen total 21248K, used 14466K [0x00000000f5a00000, 0x00000000f6ec0000, 0x0000000100000000) the space 21248K, 68% used [0x00000000f5a00000, 0x00000000f6820a78, 0x00000000f6820c00, 0x00000000f6ec0000) No shared spaces configured. Code Cache [0x00007f507196a000, 0x00007f5071cda000, 0x00007f507496a000) total_blobs=1249 nmethods=934 adapters=269 free_code_cache=46897088 largest_free_block=46272 Dynamic libraries: 00400000-00409000 r-xp 00000000 fe:00 787895 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 00608000-00609000 rw-p 00008000 fe:00 787895 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 0189c000-024f7000 rw-p 00000000 00:00 0 [heap] d6400000-e0b50000 rw-p 00000000 00:00 0 e0b50000-f5a00000 rw-p 00000000 00:00 0 f5a00000-f6ec0000 rw-p 00000000 00:00 0 f6ec0000-100000000 rw-p 00000000 00:00 0 7f5064257000-7f50642c7000 r-xp 00000000 fe:00 404258 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f50642c7000-7f50644c6000 ---p 00070000 fe:00 404258 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f50644c6000-7f50644c8000 r--p 0006f000 fe:00 404258 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f50644c8000-7f50644c9000 rw-p 00071000 fe:00 404258 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f50644c9000-7f50644cd000 rw-p 00000000 00:00 0 7f50644cd000-7f5064573000 r-xp 00000000 fe:00 401800 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f5064573000-7f5064773000 ---p 000a6000 fe:00 401800 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f5064773000-7f5064775000 r--p 000a6000 fe:00 401800 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f5064775000-7f5064777000 rw-p 000a8000 fe:00 401800 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f5064777000-7f5064778000 rw-p 00000000 00:00 0 7f5064778000-7f50647b9000 r-xp 00000000 fe:00 404256 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f50647b9000-7f50649b8000 ---p 00041000 fe:00 404256 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f50649b8000-7f50649ba000 r--p 00040000 fe:00 404256 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f50649ba000-7f50649bb000 rw-p 00042000 fe:00 404256 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f50649bb000-7f50649f6000 r-xp 00000000 fe:00 404249 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f50649f6000-7f5064bf6000 ---p 0003b000 fe:00 404249 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f5064bf6000-7f5064bf7000 r--p 0003b000 fe:00 404249 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f5064bf7000-7f5064bf9000 rw-p 0003c000 fe:00 404249 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f5064bf9000-7f5064bfb000 rw-p 00000000 00:00 0 7f5064bfb000-7f5064bfe000 r-xp 00000000 fe:00 404251 /usr/lib/x86_64-linux-gnu/libplds4.so 7f5064bfe000-7f5064dfd000 ---p 00003000 fe:00 404251 /usr/lib/x86_64-linux-gnu/libplds4.so 7f5064dfd000-7f5064dfe000 r--p 00002000 fe:00 404251 /usr/lib/x86_64-linux-gnu/libplds4.so 7f5064dfe000-7f5064dff000 rw-p 00003000 fe:00 404251 /usr/lib/x86_64-linux-gnu/libplds4.so 7f5064dff000-7f5064e03000 r-xp 00000000 fe:00 404250 /usr/lib/x86_64-linux-gnu/libplc4.so 7f5064e03000-7f5065002000 ---p 00004000 fe:00 404250 /usr/lib/x86_64-linux-gnu/libplc4.so 7f5065002000-7f5065003000 r--p 00003000 fe:00 404250 /usr/lib/x86_64-linux-gnu/libplc4.so 7f5065003000-7f5065004000 rw-p 00004000 fe:00 404250 /usr/lib/x86_64-linux-gnu/libplc4.so 7f5065004000-7f5065029000 r-xp 00000000 fe:00 404252 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f5065029000-7f5065229000 ---p 00025000 fe:00 404252 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f5065229000-7f506522f000 r--p 00025000 fe:00 404252 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f506522f000-7f5065230000 rw-p 0002b000 fe:00 404252 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f5065230000-7f5065365000 r-xp 00000000 fe:00 404263 /usr/lib/x86_64-linux-gnu/libnss3.so 7f5065365000-7f5065565000 ---p 00135000 fe:00 404263 /usr/lib/x86_64-linux-gnu/libnss3.so 7f5065565000-7f506556a000 r--p 00135000 fe:00 404263 /usr/lib/x86_64-linux-gnu/libnss3.so 7f506556a000-7f506556d000 rw-p 0013a000 fe:00 404263 /usr/lib/x86_64-linux-gnu/libnss3.so 7f506556d000-7f506556e000 rw-p 00000000 00:00 0 7f506556e000-7f506557e000 r-xp 00000000 fe:00 787846 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f506557e000-7f506577e000 ---p 00010000 fe:00 787846 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f506577e000-7f506577f000 rw-p 00010000 fe:00 787846 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f506577f000-7f5065782000 ---p 00000000 00:00 0 7f5065782000-7f5065880000 rw-p 00000000 00:00 0 7f5065880000-7f5065882000 r-xp 00000000 fe:00 131348 /lib/libnss_mdns4.so.2 7f5065882000-7f5065a82000 ---p 00002000 fe:00 131348 /lib/libnss_mdns4.so.2 7f5065a82000-7f5065a83000 rw-p 00002000 fe:00 131348 /lib/libnss_mdns4.so.2 7f5065b84000-7f5065b87000 ---p 00000000 00:00 0 7f5065b87000-7f5065c85000 rw-p 00000000 00:00 0 7f5065c85000-7f5065c88000 ---p 00000000 00:00 0 7f5065c88000-7f5065d86000 rw-p 00000000 00:00 0 7f5065d86000-7f5065d89000 ---p 00000000 00:00 0 7f5065d89000-7f5065e87000 rw-p 00000000 00:00 0 7f5065e87000-7f5065e8a000 ---p 00000000 00:00 0 7f5065e8a000-7f5065f88000 rw-p 00000000 00:00 0 7f5065f88000-7f5065f8b000 ---p 00000000 00:00 0 7f5065f8b000-7f5066089000 rw-p 00000000 00:00 0 7f5066089000-7f506608c000 ---p 00000000 00:00 0 7f506608c000-7f506618a000 rw-p 00000000 00:00 0 7f506618a000-7f506618d000 ---p 00000000 00:00 0 7f506618d000-7f506628b000 rw-p 00000000 00:00 0 7f506628b000-7f506628e000 ---p 00000000 00:00 0 7f506628e000-7f506638c000 rw-p 00000000 00:00 0 7f506638c000-7f506638f000 ---p 00000000 00:00 0 7f506638f000-7f506648d000 rw-p 00000000 00:00 0 7f506648d000-7f5066490000 ---p 00000000 00:00 0 7f5066490000-7f506658e000 rw-p 00000000 00:00 0 7f506658e000-7f50665a1000 r-xp 00000000 fe:00 131567 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f50665a1000-7f50667a0000 ---p 00013000 fe:00 131567 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f50667a0000-7f50667a1000 r--p 00012000 fe:00 131567 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f50667a1000-7f50667a2000 rw-p 00013000 fe:00 131567 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f50667a2000-7f50667a4000 rw-p 00000000 00:00 0 7f50667a4000-7f50667a9000 r-xp 00000000 fe:00 131553 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f50667a9000-7f50669a8000 ---p 00005000 fe:00 131553 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f50669a8000-7f50669a9000 r--p 00004000 fe:00 131553 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f50669a9000-7f50669aa000 rw-p 00005000 fe:00 131553 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f50669aa000-7f50669ac000 r-xp 00000000 fe:00 131086 /lib/libnss_mdns4_minimal.so.2 7f50669ac000-7f5066bab000 ---p 00002000 fe:00 131086 /lib/libnss_mdns4_minimal.so.2 7f5066bab000-7f5066bac000 rw-p 00001000 fe:00 131086 /lib/libnss_mdns4_minimal.so.2 7f5066bac000-7f5066baf000 ---p 00000000 00:00 0 7f5066baf000-7f5066cad000 rw-p 00000000 00:00 0 7f5066cad000-7f5066cb0000 ---p 00000000 00:00 0 7f5066cb0000-7f5066dae000 rw-p 00000000 00:00 0 7f5066dae000-7f5066db1000 ---p 00000000 00:00 0 7f5066db1000-7f5066eaf000 rw-p 00000000 00:00 0 7f5066eaf000-7f5066eb2000 ---p 00000000 00:00 0 7f5066eb2000-7f5066fb0000 rw-p 00000000 00:00 0 7f5066fb0000-7f5066fb3000 ---p 00000000 00:00 0 7f5066fb3000-7f50670b1000 rw-p 00000000 00:00 0 7f50670b1000-7f50670b4000 ---p 00000000 00:00 0 7f50670b4000-7f50671b2000 rw-p 00000000 00:00 0 7f50671b2000-7f50671b5000 ---p 00000000 00:00 0 7f50671b5000-7f50672b3000 rw-p 00000000 00:00 0 7f50672b3000-7f50672b6000 ---p 00000000 00:00 0 7f50672b6000-7f50673b4000 rw-p 00000000 00:00 0 7f50673b4000-7f50673b7000 ---p 00000000 00:00 0 7f50673b7000-7f50674b5000 rw-p 00000000 00:00 0 7f50674b5000-7f50674b8000 ---p 00000000 00:00 0 7f50674b8000-7f50675b6000 rw-p 00000000 00:00 0 7f50675b6000-7f50675b9000 ---p 00000000 00:00 0 7f50675b9000-7f50676b7000 rw-p 00000000 00:00 0 7f50676b7000-7f50676ba000 ---p 00000000 00:00 0 7f50676ba000-7f50677b8000 rw-p 00000000 00:00 0 7f50677b8000-7f50677bb000 ---p 00000000 00:00 0 7f50677bb000-7f50678b9000 rw-p 00000000 00:00 0 7f50678b9000-7f50678bc000 ---p 00000000 00:00 0 7f50678bc000-7f50679ba000 rw-p 00000000 00:00 0 7f50679ba000-7f50679bd000 ---p 00000000 00:00 0 7f50679bd000-7f5067abb000 rw-p 00000000 00:00 0 7f5067abb000-7f5067abe000 ---p 00000000 00:00 0 7f5067abe000-7f5067bbc000 rw-p 00000000 00:00 0 7f5067bbc000-7f5067bbf000 ---p 00000000 00:00 0 7f5067bbf000-7f5067cbd000 rw-p 00000000 00:00 0 7f5067cbd000-7f5067cc0000 ---p 00000000 00:00 0 7f5067cc0000-7f5067dbe000 rw-p 00000000 00:00 0 7f5067dbe000-7f5067dc1000 ---p 00000000 00:00 0 7f5067dc1000-7f5067ebf000 rw-p 00000000 00:00 0 7f5067ebf000-7f5067ec2000 ---p 00000000 00:00 0 7f5067ec2000-7f5067fc0000 rw-p 00000000 00:00 0 7f5067fc0000-7f5067fc3000 ---p 00000000 00:00 0 7f5067fc3000-7f50680c1000 rw-p 00000000 00:00 0 7f50680c1000-7f50680c4000 ---p 00000000 00:00 0 7f50680c4000-7f50681c2000 rw-p 00000000 00:00 0 7f50681c2000-7f50681c5000 ---p 00000000 00:00 0 7f50681c5000-7f50682c3000 rw-p 00000000 00:00 0 7f50682c3000-7f50682c6000 ---p 00000000 00:00 0 7f50682c6000-7f50683c4000 rw-p 00000000 00:00 0 7f50683c4000-7f50683c7000 ---p 00000000 00:00 0 7f50683c7000-7f50684c5000 rw-p 00000000 00:00 0 7f50684c5000-7f50684c8000 ---p 00000000 00:00 0 7f50684c8000-7f50685c6000 rw-p 00000000 00:00 0 7f50685c6000-7f50685c9000 ---p 00000000 00:00 0 7f50685c9000-7f50686c7000 rw-p 00000000 00:00 0 7f50686c7000-7f50686ca000 ---p 00000000 00:00 0 7f50686ca000-7f50687c8000 rw-p 00000000 00:00 0 7f50687c8000-7f50687cb000 ---p 00000000 00:00 0 7f50687cb000-7f50688c9000 rw-p 00000000 00:00 0 7f50688c9000-7f50688cc000 ---p 00000000 00:00 0 7f50688cc000-7f50689ca000 rw-p 00000000 00:00 0 7f50689ca000-7f50689cd000 ---p 00000000 00:00 0 7f50689cd000-7f5068acb000 rw-p 00000000 00:00 0 7f5068acb000-7f5068ace000 ---p 00000000 00:00 0 7f5068ace000-7f5068bcc000 rw-p 00000000 00:00 0 7f5068bcc000-7f5068bcf000 ---p 00000000 00:00 0 7f5068bcf000-7f5068ccd000 rw-p 00000000 00:00 0 7f5068ccd000-7f5068cd0000 ---p 00000000 00:00 0 7f5068cd0000-7f5068dce000 rw-p 00000000 00:00 0 7f5068dce000-7f5068dd1000 ---p 00000000 00:00 0 7f5068dd1000-7f5068ecf000 rw-p 00000000 00:00 0 7f5068ecf000-7f5068ed2000 ---p 00000000 00:00 0 7f5068ed2000-7f5068fd0000 rw-p 00000000 00:00 0 7f5068fd0000-7f5068fd3000 ---p 00000000 00:00 0 7f5068fd3000-7f50690d1000 rw-p 00000000 00:00 0 7f50690d1000-7f50690d4000 ---p 00000000 00:00 0 7f50690d4000-7f50691d2000 rw-p 00000000 00:00 0 7f50691d2000-7f50691d5000 ---p 00000000 00:00 0 7f50691d5000-7f50692d3000 rw-p 00000000 00:00 0 7f50692d3000-7f50692d6000 ---p 00000000 00:00 0 7f50692d6000-7f50693d4000 rw-p 00000000 00:00 0 7f50693d4000-7f50693d7000 ---p 00000000 00:00 0 7f50693d7000-7f50694d5000 rw-p 00000000 00:00 0 7f50694d5000-7f50694d8000 ---p 00000000 00:00 0 7f50694d8000-7f50695d6000 rw-p 00000000 00:00 0 7f50695d6000-7f50695d9000 ---p 00000000 00:00 0 7f50695d9000-7f50696d7000 rw-p 00000000 00:00 0 7f50696d7000-7f50696da000 ---p 00000000 00:00 0 7f50696da000-7f50697d8000 rw-p 00000000 00:00 0 7f50697d8000-7f50697db000 ---p 00000000 00:00 0 7f50697db000-7f50698d9000 rw-p 00000000 00:00 0 7f50698d9000-7f50698dc000 ---p 00000000 00:00 0 7f50698dc000-7f50699da000 rw-p 00000000 00:00 0 7f50699da000-7f50699dd000 ---p 00000000 00:00 0 7f50699dd000-7f5069adb000 rw-p 00000000 00:00 0 7f5069adb000-7f5069ade000 ---p 00000000 00:00 0 7f5069ade000-7f5069bdc000 rw-p 00000000 00:00 0 7f5069bdc000-7f5069bdf000 ---p 00000000 00:00 0 7f5069bdf000-7f5069cdd000 rw-p 00000000 00:00 0 7f5069cdd000-7f5069ce0000 ---p 00000000 00:00 0 7f5069ce0000-7f5069dde000 rw-p 00000000 00:00 0 7f5069dde000-7f5069de1000 ---p 00000000 00:00 0 7f5069de1000-7f5069edf000 rw-p 00000000 00:00 0 7f5069edf000-7f5069ee2000 ---p 00000000 00:00 0 7f5069ee2000-7f5069fe0000 rw-p 00000000 00:00 0 7f5069fe0000-7f5069fe3000 ---p 00000000 00:00 0 7f5069fe3000-7f506a0e1000 rw-p 00000000 00:00 0 7f506a0e1000-7f506a0e4000 ---p 00000000 00:00 0 7f506a0e4000-7f506a1e2000 rw-p 00000000 00:00 0 7f506a1e2000-7f506a1e5000 ---p 00000000 00:00 0 7f506a1e5000-7f506a2e3000 rw-p 00000000 00:00 0 7f506a2e3000-7f506a2e6000 ---p 00000000 00:00 0 7f506a2e6000-7f506a3e4000 rw-p 00000000 00:00 0 7f506a3e4000-7f506a3e7000 ---p 00000000 00:00 0 7f506a3e7000-7f506a4e5000 rw-p 00000000 00:00 0 7f506a4e5000-7f506a4e8000 ---p 00000000 00:00 0 7f506a4e8000-7f506a5e6000 rw-p 00000000 00:00 0 7f506a5e6000-7f506a5e9000 ---p 00000000 00:00 0 7f506a5e9000-7f506a6e7000 rw-p 00000000 00:00 0 7f506a6e7000-7f506a6ea000 ---p 00000000 00:00 0 7f506a6ea000-7f506a7e8000 rw-p 00000000 00:00 0 7f506a7e8000-7f506a7eb000 ---p 00000000 00:00 0 7f506a7eb000-7f506a8e9000 rw-p 00000000 00:00 0 7f506a8e9000-7f506a8ec000 ---p 00000000 00:00 0 7f506a8ec000-7f506a9ea000 rw-p 00000000 00:00 0 7f506a9ea000-7f506a9ed000 ---p 00000000 00:00 0 7f506a9ed000-7f506aaeb000 rw-p 00000000 00:00 0 7f506aaeb000-7f506aaee000 ---p 00000000 00:00 0 7f506aaee000-7f506abec000 rw-p 00000000 00:00 0 7f506abec000-7f506abef000 ---p 00000000 00:00 0 7f506abef000-7f506aced000 rw-p 00000000 00:00 0 7f506aced000-7f506acf0000 ---p 00000000 00:00 0 7f506acf0000-7f506adee000 rw-p 00000000 00:00 0 7f506adee000-7f506adf1000 ---p 00000000 00:00 0 7f506adf1000-7f506aeef000 rw-p 00000000 00:00 0 7f506aeef000-7f506aef2000 ---p 00000000 00:00 0 7f506aef2000-7f506aff0000 rw-p 00000000 00:00 0 7f506aff0000-7f506aff3000 ---p 00000000 00:00 0 7f506aff3000-7f506b0f1000 rw-p 00000000 00:00 0 7f506b0f1000-7f506b0f4000 ---p 00000000 00:00 0 7f506b0f4000-7f506b1f2000 rw-p 00000000 00:00 0 7f506b1f2000-7f506b1f5000 ---p 00000000 00:00 0 7f506b1f5000-7f506b2f3000 rw-p 00000000 00:00 0 7f506b2f3000-7f506b2f6000 ---p 00000000 00:00 0 7f506b2f6000-7f506b3f4000 rw-p 00000000 00:00 0 7f506b3f4000-7f506b3f7000 ---p 00000000 00:00 0 7f506b3f7000-7f506b4f5000 rw-p 00000000 00:00 0 7f506b4f5000-7f506b4f8000 ---p 00000000 00:00 0 7f506b4f8000-7f506b5f6000 rw-p 00000000 00:00 0 7f506b5f6000-7f506b5f9000 ---p 00000000 00:00 0 7f506b5f9000-7f506b6f7000 rw-p 00000000 00:00 0 7f506b6f7000-7f506b6fa000 ---p 00000000 00:00 0 7f506b6fa000-7f506b7f8000 rw-p 00000000 00:00 0 7f506b7f8000-7f506b7fb000 ---p 00000000 00:00 0 7f506b7fb000-7f506b8f9000 rw-p 00000000 00:00 0 7f506b8f9000-7f506b8fc000 ---p 00000000 00:00 0 7f506b8fc000-7f506b9fa000 rw-p 00000000 00:00 0 7f506b9fa000-7f506b9fd000 ---p 00000000 00:00 0 7f506b9fd000-7f506bafb000 rw-p 00000000 00:00 0 7f506bafb000-7f506bafe000 ---p 00000000 00:00 0 7f506bafe000-7f506bbfc000 rw-p 00000000 00:00 0 7f506bbfc000-7f506bbff000 ---p 00000000 00:00 0 7f506bbff000-7f506bcfd000 rw-p 00000000 00:00 0 7f506bcfd000-7f506bd00000 ---p 00000000 00:00 0 7f506bd00000-7f506bdfe000 rw-p 00000000 00:00 0 7f506bdfe000-7f506be01000 ---p 00000000 00:00 0 7f506be01000-7f506beff000 rw-p 00000000 00:00 0 7f506beff000-7f506bf02000 ---p 00000000 00:00 0 7f506bf02000-7f506c000000 rw-p 00000000 00:00 0 7f506c000000-7f506fff8000 rw-p 00000000 00:00 0 7f506fff8000-7f5070000000 ---p 00000000 00:00 0 7f5070061000-7f5070064000 ---p 00000000 00:00 0 7f5070064000-7f5070162000 rw-p 00000000 00:00 0 7f5070162000-7f5070170000 r--s 00351000 fe:00 787287 /usr/lib/jvm/java-6-openjdk-common/jre/lib/charsets.jar 7f5070263000-7f5070266000 ---p 00000000 00:00 0 7f5070266000-7f5070364000 rw-p 00000000 00:00 0 7f5070364000-7f5070367000 ---p 00000000 00:00 0 7f5070367000-7f5070465000 rw-p 00000000 00:00 0 7f5070465000-7f5070468000 ---p 00000000 00:00 0 7f5070468000-7f5070566000 rw-p 00000000 00:00 0 7f5070566000-7f5070574000 r--s 00351000 fe:00 787287 /usr/lib/jvm/java-6-openjdk-common/jre/lib/charsets.jar 7f5070574000-7f5070576000 r--s 00013000 fe:00 787299 /usr/lib/jvm/java-6-openjdk-common/jre/lib/jce.jar 7f5070576000-7f5070579000 ---p 00000000 00:00 0 7f5070579000-7f5070677000 rw-p 00000000 00:00 0 7f5070677000-7f507067a000 ---p 00000000 00:00 0 7f507067a000-7f5070778000 rw-p 00000000 00:00 0 7f5070778000-7f507077b000 ---p 00000000 00:00 0 7f507077b000-7f5070879000 rw-p 00000000 00:00 0 7f5070879000-7f507088e000 r-xp 00000000 fe:00 787844 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f507088e000-7f5070a8d000 ---p 00015000 fe:00 787844 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f5070a8d000-7f5070a8e000 rw-p 00014000 fe:00 787844 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f5070a8e000-7f5070a91000 ---p 00000000 00:00 0 7f5070a91000-7f5070b8f000 rw-p 00000000 00:00 0 7f5070b8f000-7f5070b97000 r--s 000cd000 fe:00 917541 /tmp/jar_cache1353582527186632312.tmp (deleted) 7f5070b97000-7f5070b98000 r--s 00007000 fe:00 917540 /tmp/jar_cache6351765735435739355.tmp (deleted) 7f5070b98000-7f5070b9e000 r--s 00042000 fe:00 917539 /tmp/jar_cache3250690073522450041.tmp (deleted) 7f5070b9e000-7f5070ba0000 r--s 00008000 fe:00 917538 /tmp/jar_cache8097104930606559607.tmp (deleted) 7f5070ba0000-7f5070ba6000 r--s 0003f000 fe:00 917537 /tmp/jar_cache6741222701849933434.tmp (deleted) 7f5070ba6000-7f5070baa000 r--s 00021000 fe:00 917536 /tmp/jar_cache4753277587435879527.tmp (deleted) 7f5070baa000-7f5070bb5000 r--s 00084000 fe:00 917535 /tmp/jar_cache1994525752730846670.tmp (deleted) 7f5070bb5000-7f5070bba000 r--s 0002a000 fe:00 917534 /tmp/jar_cache2724231188302141604.tmp (deleted) 7f5070bba000-7f5070bbb000 r--s 00005000 fe:00 917533 /tmp/jar_cache4144693117141168018.tmp (deleted) 7f5070bbb000-7f5070bbd000 r--s 0000e000 fe:00 917532 /tmp/jar_cache9081971646291939545.tmp (deleted) 7f5070bbd000-7f5070bc3000 r--s 00033000 fe:00 917531 /tmp/jar_cache7579632032436411679.tmp (deleted) 7f5070bc3000-7f5070bca000 r--s 000fc000 fe:00 787297 /usr/lib/jvm/java-6-openjdk-common/jre/lib/resources.jar 7f5070bca000-7f5070bcd000 r--s 0007f000 fe:00 787289 /usr/lib/jvm/java-6-openjdk-common/jre/lib/jsse.jar 7f5070bcd000-7f5070bce000 r--s 0026b000 fe:00 536978 /root/crawler.jar 7f5070bce000-7f5070bd0000 r--s 00001000 fe:00 787285 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/dnsns.jar 7f5070bd0000-7f5070bd3000 r--s 00077000 fe:00 787283 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/localedata.jar 7f5070bd3000-7f5070bd4000 r--s 00007000 fe:00 537506 /usr/share/java/java-atk-wrapper.jar 7f5070bd4000-7f5070bd7000 r--s 00031000 fe:00 787284 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/sunjce_provider.jar 7f5070bd7000-7f5070bd9000 r--s 0000f000 fe:00 787282 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/pulse-java.jar 7f5070bd9000-7f5070bda000 ---p 00000000 00:00 0 7f5070bda000-7f5070cda000 rw-p 00000000 00:00 0 7f5070cda000-7f5070cdd000 ---p 00000000 00:00 0 7f5070cdd000-7f5070ddb000 rw-p 00000000 00:00 0 7f5070ddb000-7f5070dde000 ---p 00000000 00:00 0 7f5070dde000-7f5070edc000 rw-p 00000000 00:00 0 7f5070edc000-7f5070edf000 ---p 00000000 00:00 0 7f5070edf000-7f5070fdd000 rw-p 00000000 00:00 0 7f5070fdd000-7f5070fe0000 ---p 00000000 00:00 0 7f5070fe0000-7f50710de000 rw-p 00000000 00:00 0 7f50710de000-7f5071255000 r--p 00000000 fe:00 399873 /usr/lib/locale/locale-archive 7f5071255000-7f5071258000 ---p 00000000 00:00 0 7f5071258000-7f5071356000 rw-p 00000000 00:00 0 7f5071356000-7f5071359000 ---p 00000000 00:00 0 7f5071359000-7f5071457000 rw-p 00000000 00:00 0 7f5071457000-7f5071458000 ---p 00000000 00:00 0 7f5071458000-7f507158b000 rw-p 00000000 00:00 0 7f507158b000-7f507171f000 r--s 03807000 fe:00 787867 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar 7f507171f000-7f507172a000 rw-p 00000000 00:00 0 7f507172a000-7f5071773000 rw-p 00000000 00:00 0 7f5071773000-7f507181b000 rw-p 00000000 00:00 0 7f507181b000-7f507186e000 rw-p 00000000 00:00 0 7f507186e000-7f5071916000 rw-p 00000000 00:00 0 7f5071916000-7f5071921000 rw-p 00000000 00:00 0 7f5071921000-7f5071969000 rw-p 00000000 00:00 0 7f5071969000-7f507196a000 rw-p 00000000 00:00 0 7f507196a000-7f5071cda000 rwxp 00000000 00:00 0 7f5071cda000-7f507496a000 rw-p 00000000 00:00 0 7f507496a000-7f5074971000 r-xp 00000000 fe:00 787856 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f5074971000-7f5074b70000 ---p 00007000 fe:00 787856 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f5074b70000-7f5074b71000 rw-p 00006000 fe:00 787856 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f5074b71000-7f5074b7c000 r-xp 00000000 fe:00 131451 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f5074b7c000-7f5074d7b000 ---p 0000b000 fe:00 131451 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f5074d7b000-7f5074d7c000 r--p 0000a000 fe:00 131451 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f5074d7c000-7f5074d7d000 rw-p 0000b000 fe:00 131451 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f5074d7d000-7f5074d87000 r-xp 00000000 fe:00 131517 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f5074d87000-7f5074f86000 ---p 0000a000 fe:00 131517 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f5074f86000-7f5074f87000 r--p 00009000 fe:00 131517 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f5074f87000-7f5074f88000 rw-p 0000a000 fe:00 131517 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f5074f88000-7f5074f8f000 r-xp 00000000 fe:00 131447 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f5074f8f000-7f507518e000 ---p 00007000 fe:00 131447 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f507518e000-7f507518f000 r--p 00006000 fe:00 131447 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f507518f000-7f5075190000 rw-p 00007000 fe:00 131447 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f5075190000-7f50751a5000 r-xp 00000000 fe:00 131531 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f50751a5000-7f50753a4000 ---p 00015000 fe:00 131531 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f50753a4000-7f50753a5000 r--p 00014000 fe:00 131531 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f50753a5000-7f50753a6000 rw-p 00015000 fe:00 131531 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f50753a6000-7f50753a8000 rw-p 00000000 00:00 0 7f50753a8000-7f50753d6000 r-xp 00000000 fe:00 787842 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f50753d6000-7f50755d5000 ---p 0002e000 fe:00 787842 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f50755d5000-7f50755d9000 rw-p 0002d000 fe:00 787842 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f50755d9000-7f50755e8000 r-xp 00000000 fe:00 787825 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f50755e8000-7f50757e7000 ---p 0000f000 fe:00 787825 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f50757e7000-7f50757e9000 rw-p 0000e000 fe:00 787825 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f50757e9000-7f50757f0000 r-xp 00000000 fe:00 131545 /lib/x86_64-linux-gnu/librt-2.13.so 7f50757f0000-7f50759ef000 ---p 00007000 fe:00 131545 /lib/x86_64-linux-gnu/librt-2.13.so 7f50759ef000-7f50759f0000 r--p 00006000 fe:00 131545 /lib/x86_64-linux-gnu/librt-2.13.so 7f50759f0000-7f50759f1000 rw-p 00007000 fe:00 131545 /lib/x86_64-linux-gnu/librt-2.13.so 7f50759f1000-7f5075a06000 r-xp 00000000 fe:00 131581 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5075a06000-7f5075c06000 ---p 00015000 fe:00 131581 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5075c06000-7f5075c07000 rw-p 00015000 fe:00 131581 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f5075c07000-7f5075c88000 r-xp 00000000 fe:00 131427 /lib/x86_64-linux-gnu/libm-2.13.so 7f5075c88000-7f5075e87000 ---p 00081000 fe:00 131427 /lib/x86_64-linux-gnu/libm-2.13.so 7f5075e87000-7f5075e88000 r--p 00080000 fe:00 131427 /lib/x86_64-linux-gnu/libm-2.13.so 7f5075e88000-7f5075e89000 rw-p 00081000 fe:00 131427 /lib/x86_64-linux-gnu/libm-2.13.so 7f5075e89000-7f5075f71000 r-xp 00000000 fe:00 401850 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f5075f71000-7f5076171000 ---p 000e8000 fe:00 401850 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f5076171000-7f5076179000 r--p 000e8000 fe:00 401850 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f5076179000-7f507617b000 rw-p 000f0000 fe:00 401850 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f507617b000-7f5076190000 rw-p 00000000 00:00 0 7f5076190000-7f5076aa4000 r-xp 00000000 fe:00 787832 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f5076aa4000-7f5076ca3000 ---p 00914000 fe:00 787832 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f5076ca3000-7f5076d3f000 rw-p 00913000 fe:00 787832 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f5076d3f000-7f5076d68000 rw-p 00000000 00:00 0 7f5076d68000-7f5076ee8000 r-xp 00000000 fe:00 131579 /lib/x86_64-linux-gnu/libc-2.13.so 7f5076ee8000-7f50770e8000 ---p 00180000 fe:00 131579 /lib/x86_64-linux-gnu/libc-2.13.so 7f50770e8000-7f50770ec000 r--p 00180000 fe:00 131579 /lib/x86_64-linux-gnu/libc-2.13.so 7f50770ec000-7f50770ed000 rw-p 00184000 fe:00 131579 /lib/x86_64-linux-gnu/libc-2.13.so 7f50770ed000-7f50770f2000 rw-p 00000000 00:00 0 7f50770f2000-7f50770f4000 r-xp 00000000 fe:00 131446 /lib/x86_64-linux-gnu/libdl-2.13.so 7f50770f4000-7f50772f4000 ---p 00002000 fe:00 131446 /lib/x86_64-linux-gnu/libdl-2.13.so 7f50772f4000-7f50772f5000 r--p 00002000 fe:00 131446 /lib/x86_64-linux-gnu/libdl-2.13.so 7f50772f5000-7f50772f6000 rw-p 00003000 fe:00 131446 /lib/x86_64-linux-gnu/libdl-2.13.so 7f50772f6000-7f50772fa000 r-xp 00000000 fe:00 787829 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f50772fa000-7f50774f9000 ---p 00004000 fe:00 787829 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f50774f9000-7f50774fa000 rw-p 00003000 fe:00 787829 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f50774fa000-7f5077511000 r-xp 00000000 fe:00 131438 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f5077511000-7f5077710000 ---p 00017000 fe:00 131438 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f5077710000-7f5077711000 r--p 00016000 fe:00 131438 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f5077711000-7f5077712000 rw-p 00017000 fe:00 131438 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f5077712000-7f5077716000 rw-p 00000000 00:00 0 7f5077716000-7f507772c000 r-xp 00000000 fe:00 131569 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f507772c000-7f507792b000 ---p 00016000 fe:00 131569 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f507792b000-7f507792c000 r--p 00015000 fe:00 131569 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f507792c000-7f507792d000 rw-p 00016000 fe:00 131569 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f507792d000-7f507794d000 r-xp 00000000 fe:00 131423 /lib/x86_64-linux-gnu/ld-2.13.so 7f507794d000-7f5077983000 rw-p 00000000 00:00 0 7f5077983000-7f5077a35000 rw-p 00000000 00:00 0 7f5077a35000-7f5077a3d000 rw-s 00000000 fe:00 917530 /tmp/hsperfdata_root/20957 7f5077a3d000-7f5077a40000 ---p 00000000 00:00 0 7f5077a40000-7f5077b43000 rw-p 00000000 00:00 0 7f5077b43000-7f5077b47000 r--s 00039000 fe:00 787281 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/sunpkcs11.jar 7f5077b48000-7f5077b49000 rw-p 00000000 00:00 0 7f5077b49000-7f5077b4a000 r--p 00000000 00:00 0 7f5077b4a000-7f5077b4c000 rw-p 00000000 00:00 0 7f5077b4c000-7f5077b4d000 r--p 0001f000 fe:00 131423 /lib/x86_64-linux-gnu/ld-2.13.so 7f5077b4d000-7f5077b4e000 rw-p 00020000 fe:00 131423 /lib/x86_64-linux-gnu/ld-2.13.so 7f5077b4e000-7f5077b4f000 rw-p 00000000 00:00 0 7fff64d1d000-7fff64d52000 rw-p 00000000 00:00 0 [stack] 7fff64d6c000-7fff64d6d000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] VM Arguments: java_command: crawler.jar Launcher Type: SUN_STANDARD Environment Variables: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin LD_LIBRARY_PATH=/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk-amd64/jre/../lib/amd64 SHELL=/bin/bash Signal Handlers: SIGSEGV: [libjvm.so+0x791b10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGBUS: [libjvm.so+0x791b10], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGFPE: [libjvm.so+0x65ace0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGPIPE: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGXFSZ: [libjvm.so+0x65ace0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGILL: [libjvm.so+0x65ace0], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGUSR1: SIG_DFL, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGUSR2: [libjvm.so+0x65aec0], sa_mask[0]=0x00000000, sa_flags=0x10000004 SIGHUP: SIG_IGN, sa_mask[0]=0x00000000, sa_flags=0x00000000 SIGINT: [libjvm.so+0x65d500], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGTERM: [libjvm.so+0x65d500], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 SIGQUIT: [libjvm.so+0x65d500], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 --------------- S Y S T E M --------------- OS:7.3 uname:Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 libc:glibc 2.13 NPTL 2.13 rlimit: STACK 8192k, CORE 0k, NPROC 7930, NOFILE 4096, AS infinity load average:0.15 0.13 0.13 /proc/meminfo: MemTotal: 1027076 kB MemFree: 73696 kB Buffers: 137428 kB Cached: 78936 kB SwapCached: 0 kB Active: 869668 kB Inactive: 42384 kB Active(anon): 695756 kB Inactive(anon): 168 kB Active(file): 173912 kB Inactive(file): 42216 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 76 kB Writeback: 0 kB AnonPages: 695720 kB Mapped: 18988 kB Shmem: 208 kB Slab: 23640 kB SReclaimable: 14116 kB SUnreclaim: 9524 kB KernelStack: 2064 kB PageTables: 6684 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 513536 kB Committed_AS: 1277204 kB VmallocTotal: 34359738367 kB VmallocUsed: 5004 kB VmallocChunk: 34359733355 kB HardwareCorrupted: 0 kB AnonHugePages: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB DirectMap4k: 32760 kB DirectMap2M: 1015808 kB CPU:total 1 (1 cores per cpu, 1 threads per core) family 6 model 2 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, popcnt Memory: 4k page, physical 1027076k(73696k free), swap 0k(0k free) vm_info: OpenJDK 64-Bit Server VM (20.0-b12) for linux-amd64 JRE (1.6.0_27-b27), built on Jul 12 2013 09:04:12 by "jmm" with gcc 4.7.2 time: Mon Jan 13 19:44:48 2014 elapsed time: 68896 seconds -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/953ac16c/attachment-0001.html From jvanek at redhat.com Tue Jan 14 01:09:49 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 14 Jan 2014 10:09:49 +0100 Subject: [rfc][icedtea-web] fixed MemoryLeak detector to not report pre_jvm_message's memory leak Message-ID: <52D4FEDD.3030102@redhat.com> As known, Java aware of plugin messages patch introduced memory leak test to report leak. After long investigations I had to ask (thanx!) Adam: "There is no leak -- the test system just requires clearing of all modified global state between tests. There is a reset function in the memory leak detector, if you clear your structures in that function the memory leak detector will play nicely." And then the solution was simple. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: fixedMemoryLeaksCounter.patch Type: text/x-patch Size: 1419 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/7d6ef2fa/fixedMemoryLeaksCounter.patch From ptisnovs at icedtea.classpath.org Tue Jan 14 04:16:00 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 14 Jan 2014 12:16:00 +0000 Subject: /hg/gfx-test: Six new tests added into CAGOperationsOnPieAndRect... Message-ID: changeset 5a9cc7bba621 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=5a9cc7bba621 author: Pavel Tisnovsky date: Tue Jan 14 13:20:15 2014 +0100 Six new tests added into CAGOperationsOnPieAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java | 152 +++++++++- 2 files changed, 156 insertions(+), 1 deletions(-) diffs (181 lines): diff -r d63560be2750 -r 5a9cc7bba621 ChangeLog --- a/ChangeLog Mon Jan 13 12:56:16 2014 +0100 +++ b/ChangeLog Tue Jan 14 13:20:15 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-14 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java: + Six new tests added into CAGOperationsOnPieAndRectangle test suite. + 2014-01-13 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: diff -r d63560be2750 -r 5a9cc7bba621 src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Mon Jan 13 12:56:16 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Tue Jan 14 13:20:15 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2013 Red Hat + Copyright (C) 2013, 2014 Red Hat This file is part of IcedTea. @@ -194,6 +194,156 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using union operator. The shape is + * rendered using wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using intersect operator. The shape is + * rendered using wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using subtract operator. The shape + * is rendered using wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using inverse subtract operator. + * The shape is rendered using wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using Xor operator. + * The shape is rendered using wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using union operator. The shape is + * rendered using extra wide stroke paint. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBigPieRectangleUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Tue Jan 14 04:21:22 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 14 Jan 2014 12:21:22 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset 1dc53f4e69f7 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=1dc53f4e69f7 author: Pavel Tisnovsky date: Tue Jan 14 13:25:33 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/ScriptEngineClassTest.java | 48 +++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 0 deletions(-) diffs (70 lines): diff -r 7810608a4b20 -r 1dc53f4e69f7 ChangeLog --- a/ChangeLog Mon Jan 13 13:03:16 2014 +0100 +++ b/ChangeLog Tue Jan 14 13:25:33 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-14 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-13 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r 7810608a4b20 -r 1dc53f4e69f7 src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Mon Jan 13 13:03:16 2014 +0100 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Tue Jan 14 13:25:33 2014 +0100 @@ -1373,6 +1373,54 @@ } try { + this.scriptEngineClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } From jvanek at redhat.com Tue Jan 14 04:42:46 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 14 Jan 2014 13:42:46 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D477AE.5040508@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> Message-ID: <52D530C6.30408@redhat.com> On 01/14/2014 12:33 AM, Jacob Wisor wrote: > Hello there! > > On 01/13/2014 23:20, Andrew Azores wrote: >> Hi, >> >> This small patch hooks the JDK policytool into itweb-settings. It can then be >> used to set up a custom user-level JNLP policy - this, in combination with the >> Run in Sandbox patch, will allow for quite a lot more flexibility in how >> permissions are handled with signed applets/applications. >> >> A nicer, more user-friendly editor to replace the policytool will hopefully come >> later on. > > Oooooooh yes, please! This would be awesome! :-) Yes this would be :)) But it is different task. And Quite complex. Especially it must pass upstream (openjdk). And that is *the* task! For now I'm happy that this feature was implemented with such an small effort. > > [...] > > diff --git a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > new file mode 100644 > --- /dev/null > +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > [...] > +import net.sourceforge.jnlp.config.DeploymentConfiguration; > +import net.sourceforge.jnlp.util.logging.OutputController; > + > +public class PolicyPanel extends NamedBorderPanel { > > Is it conceivable that this PolicyPanel is going to be extended or is supposed to be reusable API > code? If not, you may consider marking it final. > > + > + private final DeploymentConfiguration config; > + > + public PolicyPanel(final DeploymentConfiguration config) { > > Perhaps the constructor's access modifier set to default could be a better choice? After all, this > PolicyPanel is not supposed to be used outside of its package. I have not looked myself, but if the > other panel's constructors in this package also have their access modifiers set to public, it should > be fine. > > + super(R("CPHeadPolicy"), new GridBagLayout()); > + this.config = config; > + > + addComponents(); > + } > + > + private void addComponents() { > + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); > + JButton showUserPolicyButton = new JButton(R("CPButPolicy")); > + showUserPolicyButton.addActionListener(new ActionListener() { > > Well, it is not wrong, but I am really not a fan of anonymous classes in UI code. There are probably > better situations to use this language construct but unfortunately hundreds of examples in Java > programming books have been printed with those rather bluntly authored examples. Hence thousands of > students have taken over this habit not knowing any better that the author of that book was just > either too lazy to type a real world example, had to fit it on one page, or just wanted to make > stuff clear with compact code. Or, maybe the author just wanted to say: Hey look! Java is so cool! > Look how few characters you need to type to get visible effects? I do not know. :-/ My point is that > often this kind of code gets difficult to read and the class looses structure over time, especially > after it has been edited by multiple people over the years. So, it pays off to name things and let > classes have structure from the start on. ;-) > hehehe, nice :) > + public void actionPerformed(ActionEvent e) { > + launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); > > Hmm,... grumble...grumble... Do you really want to try to exec a new process on the AWT thread? A > thousand things could go wrong while blocking it. Just one example might be network access. > > + } > + }); > + GridBagConstraints c = new GridBagConstraints(); > + c.fill = GridBagConstraints.BOTH; > + c.gridx = 1; > + c.gridy = 0; > + c.weightx = 1; > + add(aboutLabel, c); > + c.fill = GridBagConstraints.NONE; > + c.weighty = 0; > + c.weightx = 0; > + c.gridx = 1; > + c.gridy++; > + add(showUserPolicyButton, c); > + /* Keep all the elements at the top of the panel (Extra padding) */ > + c.fill = GridBagConstraints.BOTH; > + Component filler = Box.createRigidArea(new Dimension(1, 1)); > + c.weighty = 1; > + c.gridy++; > + add(filler, c); > + } > + > + private static void launchPolicyTool(String fileUrl) { > + try { > + final URL url = new URL(fileUrl); > + final File policyFile = new File(url.getPath()); > + final String[] policyToolCmd = new String[] { "policytool", "-file", > policyFile.getCanonicalPath() }; > + Runtime.getRuntime().exec(policyToolCmd); > + } catch (IOException e) { > + OutputController.getLogger().log(e); > + } > + } > > As already mentioned above, this should probably better not block the AWT thread. > > Otherwise looks okay to start with, as long as you keep up (your promise?) to effectively replace > OpenJDK's policytool with something more accessible and convenient. Keep it up! :-) > Except Jacob's hints I have (partially shared with him) few thoughts: + launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); The file which is used by polici tool (and so by itw settings, and especially later, by ITW in runtime, should be shown in ITW seetings (it a must for current patch). Is it worthy to have more then one policy file? If so, then this file should editable(swithcable) by itw settings. Does it have sense to have some mayor file (in etc/jvm) dir? + final String[] policyToolCmd = new String[] { "policytool", "-file", policyFile.getCanonicalPath() }; This scares me. javaws and itw-settings are supposed to be windows compatible at least somehow. I'm not sure how this will pass. I would vote rather for adding (tools.jar?) items (if necessary) to (boot)classpath, and then invoke main method (as policitool binary file does). Also it will allow you to have more control over awt thread as Jacob suggested. So - I suppose that *usage* of this file is already implemented in itw? If so (and I guess so :), the reproducers will be needed. At least two - one allowing some permissions, one to removing some permissions. It is also an must for the patch :( Otherwise - excellent improvement to itw! Thanx a lot for it! J. From gitne at gmx.de Tue Jan 14 06:16:17 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 14 Jan 2014 15:16:17 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D530C6.30408@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> Message-ID: <52D546B1.4020201@gmx.de> On 01/14/2014 01:42 PM, Jiri Vanek wrote: > On 01/14/2014 12:33 AM, Jacob Wisor wrote: >> Hello there! >> >> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>> Hi, >>> >>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>> used to set up a custom user-level JNLP policy - this, in combination with the >>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>> permissions are handled with signed applets/applications. >>> >>> A nicer, more user-friendly editor to replace the policytool will hopefully come >>> later on. >> >> Oooooooh yes, please! This would be awesome! :-) > > Yes this would be :)) > But it is different task. And Quite complex. Especially it must pass upstream > (openjdk). And that is *the* task! Well, it does not need to replace or displace OpenJDK's policytool. It should be probably enough that it complements it. ;-) You know, it's neither forbidden nor against any spec to build augmenting tools around OpenJDK. > For now I'm happy that this feature was implemented with such an small effort. >> >> [...] >> >> diff --git a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java >> b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java >> new file mode 100644 >> --- /dev/null >> +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java >> [...] >> +import net.sourceforge.jnlp.config.DeploymentConfiguration; >> +import net.sourceforge.jnlp.util.logging.OutputController; >> + >> +public class PolicyPanel extends NamedBorderPanel { >> >> Is it conceivable that this PolicyPanel is going to be extended or is supposed >> to be reusable API >> code? If not, you may consider marking it final. >> >> + >> + private final DeploymentConfiguration config; >> + >> + public PolicyPanel(final DeploymentConfiguration config) { >> >> Perhaps the constructor's access modifier set to default could be a better >> choice? After all, this >> PolicyPanel is not supposed to be used outside of its package. I have not >> looked myself, but if the >> other panel's constructors in this package also have their access modifiers >> set to public, it should >> be fine. >> >> + super(R("CPHeadPolicy"), new GridBagLayout()); >> + this.config = config; >> + >> + addComponents(); >> + } >> + >> + private void addComponents() { >> + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + >> ""); >> + JButton showUserPolicyButton = new JButton(R("CPButPolicy")); >> + showUserPolicyButton.addActionListener(new ActionListener() { >> >> Well, it is not wrong, but I am really not a fan of anonymous classes in UI >> code. There are probably >> better situations to use this language construct but unfortunately hundreds of >> examples in Java >> programming books have been printed with those rather bluntly authored >> examples. Hence thousands of >> students have taken over this habit not knowing any better that the author of >> that book was just >> either too lazy to type a real world example, had to fit it on one page, or >> just wanted to make >> stuff clear with compact code. Or, maybe the author just wanted to say: Hey >> look! Java is so cool! >> Look how few characters you need to type to get visible effects? I do not >> know. :-/ My point is that >> often this kind of code gets difficult to read and the class looses structure >> over time, especially >> after it has been edited by multiple people over the years. So, it pays off to >> name things and let >> classes have structure from the start on. ;-) >> > > hehehe, nice :) > >> + public void actionPerformed(ActionEvent e) { >> + >> launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); >> >> >> Hmm,... grumble...grumble... Do you really want to try to exec a new process >> on the AWT thread? A >> thousand things could go wrong while blocking it. Just one example might be >> network access. >> >> + } >> + }); >> + GridBagConstraints c = new GridBagConstraints(); >> + c.fill = GridBagConstraints.BOTH; >> + c.gridx = 1; >> + c.gridy = 0; >> + c.weightx = 1; >> + add(aboutLabel, c); >> + c.fill = GridBagConstraints.NONE; >> + c.weighty = 0; >> + c.weightx = 0; >> + c.gridx = 1; >> + c.gridy++; >> + add(showUserPolicyButton, c); >> + /* Keep all the elements at the top of the panel (Extra padding) */ >> + c.fill = GridBagConstraints.BOTH; >> + Component filler = Box.createRigidArea(new Dimension(1, 1)); >> + c.weighty = 1; >> + c.gridy++; >> + add(filler, c); >> + } >> + >> + private static void launchPolicyTool(String fileUrl) { >> + try { >> + final URL url = new URL(fileUrl); >> + final File policyFile = new File(url.getPath()); >> + final String[] policyToolCmd = new String[] { "policytool", "-file", >> policyFile.getCanonicalPath() }; >> + Runtime.getRuntime().exec(policyToolCmd); >> + } catch (IOException e) { >> + OutputController.getLogger().log(e); >> + } >> + } >> >> As already mentioned above, this should probably better not block the AWT thread. >> >> Otherwise looks okay to start with, as long as you keep up (your promise?) to >> effectively replace >> OpenJDK's policytool with something more accessible and convenient. Keep it >> up! :-) >> > > Except Jacob's hints I have (partially shared with him) few thoughts: > > + > launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); > > > The file which is used by polici tool (and so by itw settings, and especially > later, by ITW in runtime, should be shown in ITW seetings (it a must for current > patch). > Is it worthy to have more then one policy file? If so, then this file should > editable(swithcable) by itw settings. > Does it have sense to have some mayor file (in etc/jvm) dir? AFAIK the default policy file names and their locations are hard coded into OpenJDK, maybe even into the spec for specific OSs. At least, the default SecurityManager seems to be hard coded, so no more than one default Java policy file per user and per JRE are ever to be used. However, one can create multiple policy files with the policytool and set a system property pointing to the desired policy file while launching any new application instance. But it is not as powerful or similar to Windows' policies where you can build on inheritance and/or combine or blend multiple policies together (from different policy files). > + final String[] policyToolCmd = new String[] { "policytool", > "-file", policyFile.getCanonicalPath() }; > > This scares me. javaws and itw-settings are supposed to be windows compatible at > least somehow. I'm not sure how this will pass. > I would vote rather for adding (tools.jar?) items (if necessary) to > (boot)classpath, and then invoke main method (as policitool binary file does). > Also it will allow you to have more control over awt thread as Jacob suggested. At first, I thought that the problem would rather be that some system configurations may be missing a PATH environment variable entry to policytool and thus launching it may fail. But, Jiri is right. The best approach here would probably be to call directly into policytool's main() method with user.home as its current working directory. policytool is part of rt.jar, not tools.jar, so it should already be on bootclasspath. But, you may have to investigate deeper into it because the package names of some tools have changed from OpenJDK 6 over to OpenJDK 7. > So - I suppose that *usage* of this file is already implemented in itw? If so > (and I guess so :), the reproducers will be needed. > At least two - one allowing some permissions, one to removing some permissions. > It is also an must for the patch :( > > > Otherwise - excellent improvement to itw! > Thanx a lot for it! Jacob From jvanek at redhat.com Tue Jan 14 07:34:37 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 14 Jan 2014 16:34:37 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D546B1.4020201@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> Message-ID: <52D5590D.9080204@redhat.com> On 01/14/2014 03:16 PM, Jacob Wisor wrote: > On 01/14/2014 01:42 PM, Jiri Vanek wrote: >> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>> Hello there! >>> >>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>> Hi, >>>> >>>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>>> used to set up a custom user-level JNLP policy - this, in combination with the >>>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>>> permissions are handled with signed applets/applications. >>>> >>>> A nicer, more user-friendly editor to replace the policytool will hopefully come >>>> later on. >>> >>> Oooooooh yes, please! This would be awesome! :-) >> >> Yes this would be :)) >> But it is different task. And Quite complex. Especially it must pass upstream >> (openjdk). And that is *the* task! > > Well, it does not need to replace or displace OpenJDK's policytool. It should be probably enough > that it complements it. ;-) You know, it's neither forbidden nor against any spec to build > augmenting tools around OpenJDK. But still contribute to Openjdk itself is the right thing to do. ... > > At first, I thought that the problem would rather be that some system configurations may be missing > a PATH environment variable entry to policytool and thus launching it may fail. But, Jiri is right. > The best approach here would probably be to call directly into policytool's main() method with > user.home as its current working directory. policytool is part of rt.jar, not tools.jar, so it > should already be on bootclasspath. But, you may have to investigate deeper into it because the Great! But I doubt "with user.home as its current working directory" is possible. Or do we misunderstand each other? I had in my mind simple PolicyTool.main(arg,aerg,arg) call in itw-settings. > package names of some tools have changed from OpenJDK 6 over to OpenJDK 7. I doubt policy tool was touched in last 10 years ;) J. From jvanek at redhat.com Tue Jan 14 07:48:50 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 14 Jan 2014 16:48:50 +0100 Subject: [rfc][icedtea-web] rewert of changset 757 "Simplify IcedTeaScriptableJavaObject" Message-ID: <52D55C62.30100@redhat.com> Unluckily the regressions caused by (otherwise good) http://icedtea.classpath.org/hg/icedtea-web/rev/ee92f55c69a3 +2013-06-21 Adam Domurad + + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Simplify + IcedTeaScriptableJavaObject + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same were never successfully fixed, and I gave up on it :( This is revert of patch in tip. Please note, that this is *manual* revert of patch. When I did it , i was just 50% sure what I done. But the result of selected set of reproducers have persuaded me that I did it correctly. (three "r" attachments) So (any) reviwer, please (and sorry!), be double careful!-) J. ps: there is still one patch to go. But I'm still in hunt on it: 1,56d0 < changeset: 744:f22262521491 < tag: tip < user: Jiri Vanek < date: Tue Jun 04 17:35:53 2013 +0200 < summary: more detailed hint for CCannotClearCache < < changeset: 743:07f37cd6d7bc < user: Adam Domurad < date: Tue Jun 04 10:47:19 2013 -0400 < summary: Remove unused IcedTeaRunnable.h & IcedTeaRunnable.cc < < changeset: 742:a486f1493133 < user: Adam Domurad < date: Mon Jun 03 12:25:50 2013 -0400 < summary: Handle resizing plugin message more robustly by not blocking worker thread < < changeset: 741:d6f6c5524acc < user: Adam Domurad < date: Mon Jun 03 10:51:47 2013 -0400 < summary: Add NativeLibraryStorageTEst < < changeset: 740:8e6aa48abeba < user: Adam Domurad < date: Mon Jun 03 10:34:36 2013 -0400 < summary: Extract NativeLibraryStorage class from JNLPClassLoader < < changeset: 739:2566a700bd86 < user: Adam Domurad < date: Wed May 29 15:43:21 2013 -0400 < summary: Move inner test class MockedOneJarJNLPFile to top-level DummyJNLPFileWithJar < < changeset: 738:acc70a489a2d < user: Adam Domurad < date: Wed May 29 10:54:44 2013 -0400 < summary: Remove 'serious' from error message in splash screen. < < changeset: 737:9e1f7dc48c20 < user: Jiri Vanek < date: Mon May 20 16:22:44 2013 +0200 < summary: Synchronized launchers to be from one source < < changeset: 736:3dd0ae4efe78 < user: Jiri Vanek < date: Mon May 20 15:13:32 2013 +0200 < summary: Fixed possible deadlock for applet->js->applet call with testcase < < changeset: 735:64f7c169eb3e < user: Adam Domurad < date: Fri May 17 12:34:41 2013 -0400 < summary: Reproducer for PR854 < < changeset: 734:29aad2f10875 < user: Adam Domurad < date: Fri May 17 12:31:32 2013 -0400 < summary: Fix PR854: Resizing an applet several times causes 100% CPU load < 57a2 > tag: tip -------------- next part -------------- A non-text attachment was scrubbed... Name: r756r757-manualRevert.diff Type: text/x-patch Size: 17308 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/402585d6/r756r757-manualRevert-0001.diff -------------- next part -------------- Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - epiphany FAILED: AppletJSToJFuncParam_StringIntMixed_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_StringIntMixed_Test - opera FAILED: AppletJSToJFuncParam_StringIntMixed_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_StringIntMixed_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_booleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Byte_Test - opera FAILED: AppletJSToJFuncParam_Byte_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_charArray_Test - opera FAILED: AppletJSToJFuncParam_charArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_BooleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - epiphany FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_DummyObjectArray_Test - opera FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - epiphany FAILED: AppletJSToJFuncParam_Long_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Long_Test - opera FAILED: AppletJSToJFuncParam_Long_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_Long_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Float_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Float_Test - opera FAILED: AppletJSToJFuncParam_Float_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_Float_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Integer_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Integer_Test - opera FAILED: AppletJSToJFuncParam_Integer_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. FAILED: AppletJSToJFuncParam_Integer_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - epiphany FAILED: AppletJSToJFuncParam_JSObject_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_JSObject_Test - opera FAILED: AppletJSToJFuncParam_JSObject_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. FAILED: AppletJSToJFuncParam_JSObject_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Total tests run: 84; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 54; failed: 30; ignored: 0 xsltproc --stringparam logs logs_reproducers.html /home/jvanek/Desktop/icedtea-web/tests/report-styles/jreport.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/tests-output.xml > /home/jvanek/Desktop/icedtea-web/tests.build/index_reproducers.html xsltproc /home/jvanek/Desktop/icedtea-web/tests/report-styles/logs.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/ServerAccess-logs.xml > /home/jvanek/Desktop/icedtea-web/tests.build/logs_reproducers.html xsltproc /home/jvanek/Desktop/icedtea-web/tests/report-styles/textreport.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/tests-output.xml > /home/jvanek/Desktop/icedtea-web/tests.build/summary_reproducers.txt touch stamps/run-netx-dist-tests.stamp -------------- next part -------------- FAILED: AppletJSToJFuncParam_double_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: doubleParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - opera FAILED: AppletJSToJFuncParam_double_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: doubleParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_double_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: doubleParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_StringIntMixed_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_StringIntMixed_Test - opera FAILED: AppletJSToJFuncParam_StringIntMixed_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_StringIntMixed_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_booleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Byte_Test - opera FAILED: AppletJSToJFuncParam_Byte_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_charArray_Test - opera FAILED: AppletJSToJFuncParam_charArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_BooleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_long_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: longParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - opera FAILED: AppletJSToJFuncParam_long_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: longParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_long_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: longParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_float_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: floatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - opera FAILED: AppletJSToJFuncParam_float_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: floatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_float_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: floatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_DummyObjectArray_Test - opera FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. FAILED: AppletJSToJFuncParam_Character_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: CharacterParam A, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - opera FAILED: AppletJSToJFuncParam_Character_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: CharacterParam A, but it didnt. FAILED: AppletJSToJFuncParam_Character_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: CharacterParam A, but it didnt. FAILED: AppletJSToJFuncParam_Double_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: DoubleParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - opera FAILED: AppletJSToJFuncParam_Double_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: DoubleParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_Double_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: DoubleParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_String_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringParam test, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - opera FAILED: AppletJSToJFuncParam_String_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringParam test, but it didnt. FAILED: AppletJSToJFuncParam_String_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringParam test, but it didnt. FAILED: AppletJSToJFuncParam_char_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: charParam a, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - opera FAILED: AppletJSToJFuncParam_char_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: charParam a, but it didnt. FAILED: AppletJSToJFuncParam_char_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: charParam a, but it didnt. FAILED: AppletJSToJFuncParam_Long_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Long_Test - opera FAILED: AppletJSToJFuncParam_Long_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_Long_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_boolean_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - opera FAILED: AppletJSToJFuncParam_boolean_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_boolean_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Float_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Float_Test - opera FAILED: AppletJSToJFuncParam_Float_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_Float_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_byte_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: byteParam 10, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - opera FAILED: AppletJSToJFuncParam_byte_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: byteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_byte_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: byteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_Boolean_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - opera FAILED: AppletJSToJFuncParam_Boolean_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Boolean_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Integer_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Integer_Test - opera FAILED: AppletJSToJFuncParam_Integer_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. FAILED: AppletJSToJFuncParam_Integer_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. FAILED: AppletJSToJFuncParam_int_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: intParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - opera FAILED: AppletJSToJFuncParam_int_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: intParam 1, but it didnt. FAILED: AppletJSToJFuncParam_int_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: intParam 1, but it didnt. FAILED: AppletJSToJFuncParam_JSObject_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_JSObject_Test - opera FAILED: AppletJSToJFuncParam_JSObject_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. FAILED: AppletJSToJFuncParam_JSObject_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Total tests run: 84; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 21; failed: 63; ignored: 0 xsltproc --stringparam logs logs_reproducers.html /home/jvanek/Desktop/icedtea-web/tests/report-styles/jreport.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/tests-output.xml > /home/jvanek/Desktop/icedtea-web/tests.build/index_reproducers.html xsltproc /home/jvanek/Desktop/icedtea-web/tests/report-styles/logs.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/ServerAccess-logs.xml > /home/jvanek/Desktop/icedtea-web/tests.build/logs_reproducers.html touch stamps/run-netx-dist-tests.stamp -------------- next part -------------- Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - epiphany FAILED: AppletJSToJFuncParam_StringIntMixed_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_StringIntMixed_Test - opera FAILED: AppletJSToJFuncParam_StringIntMixed_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_StringIntMixed_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_booleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Byte_Test - opera FAILED: AppletJSToJFuncParam_Byte_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_charArray_Test - opera FAILED: AppletJSToJFuncParam_charArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_BooleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - epiphany FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_DummyObjectArray_Test - opera FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - epiphany FAILED: AppletJSToJFuncParam_Long_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Long_Test - opera FAILED: AppletJSToJFuncParam_Long_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_Long_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Float_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Float_Test - opera FAILED: AppletJSToJFuncParam_Float_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_Float_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Integer_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Integer_Test - opera FAILED: AppletJSToJFuncParam_Integer_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. FAILED: AppletJSToJFuncParam_Integer_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - epiphany FAILED: AppletJSToJFuncParam_JSObject_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_JSObject_Test - opera FAILED: AppletJSToJFuncParam_JSObject_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. FAILED: AppletJSToJFuncParam_JSObject_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Total tests run: 84; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 54; failed: 30; ignored: 0 xsltproc --stringparam logs logs_reproducers.html /home/jvanek/Desktop/icedtea-web/tests/report-styles/jreport.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/tests-output.xml > /home/jvanek/Desktop/icedtea-web/tests.build/index_reproducers.html xsltproc /home/jvanek/Desktop/icedtea-web/tests/report-styles/logs.xsl /home/jvanek/Desktop/icedtea-web/tests.build/test-extensions/ServerAccess-logs.xml > /home/jvanek/Desktop/icedtea-web/tests.build/logs_reproducers.html touch stamps/run-netx-dist-tests.stamp From bugzilla-daemon at icedtea.classpath.org Tue Jan 14 08:37:59 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 14 Jan 2014 16:37:59 +0000 Subject: [Bug 1532] Some windows don't get mouse clicks under certain WMs In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1532 --- Comment #1 from Andrey Vihrov --- Under metacity it works properly as well. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/9d326259/attachment.html From dbhole at redhat.com Tue Jan 14 10:15:42 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Tue, 14 Jan 2014 13:15:42 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D530C6.30408@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> Message-ID: <20140114181542.GT23063@redhat.com> * Jiri Vanek [2014-01-14 07:44]: > On 01/14/2014 12:33 AM, Jacob Wisor wrote: > >Hello there! > > > >On 01/13/2014 23:20, Andrew Azores wrote: > >>Hi, > >> > >>This small patch hooks the JDK policytool into itweb-settings. It can then be > >>used to set up a custom user-level JNLP policy - this, in combination with the > >>Run in Sandbox patch, will allow for quite a lot more flexibility in how > >>permissions are handled with signed applets/applications. > >> > >>A nicer, more user-friendly editor to replace the policytool will hopefully come > >>later on. > > > >Oooooooh yes, please! This would be awesome! :-) > > Yes this would be :)) > But it is different task. And Quite complex. Especially it must pass > upstream (openjdk). And that is *the* task! > Hi Jiri, How so? The editor we have in mind for ITW is to set policies for applets/JNLP apps. Why the need to have it accepted upstream (not that I am against it)? The editor will be geared toward setting policies for untrusted apps for the most part (e.g. checkboxes for "allow read/write to filesystem", "allow network connection" etc. and some additional customizations. In general it would be too restrictive for the kind of complex policies that administrators would want to set for complex Java applications. Cheers, Deepak > For now I'm happy that this feature was implemented with such an small effort. > > > >[...] > > > >diff --git a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > >b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > >new file mode 100644 > >--- /dev/null > >+++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java > >[...] > >+import net.sourceforge.jnlp.config.DeploymentConfiguration; > >+import net.sourceforge.jnlp.util.logging.OutputController; > >+ > >+public class PolicyPanel extends NamedBorderPanel { > > > >Is it conceivable that this PolicyPanel is going to be extended or is supposed to be reusable API > >code? If not, you may consider marking it final. > > > >+ > >+ private final DeploymentConfiguration config; > >+ > >+ public PolicyPanel(final DeploymentConfiguration config) { > > > >Perhaps the constructor's access modifier set to default could be a better choice? After all, this > >PolicyPanel is not supposed to be used outside of its package. I have not looked myself, but if the > >other panel's constructors in this package also have their access modifiers set to public, it should > >be fine. > > > >+ super(R("CPHeadPolicy"), new GridBagLayout()); > >+ this.config = config; > >+ > >+ addComponents(); > >+ } > >+ > >+ private void addComponents() { > >+ JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); > >+ JButton showUserPolicyButton = new JButton(R("CPButPolicy")); > >+ showUserPolicyButton.addActionListener(new ActionListener() { > > > >Well, it is not wrong, but I am really not a fan of anonymous classes in UI code. There are probably > >better situations to use this language construct but unfortunately hundreds of examples in Java > >programming books have been printed with those rather bluntly authored examples. Hence thousands of > >students have taken over this habit not knowing any better that the author of that book was just > >either too lazy to type a real world example, had to fit it on one page, or just wanted to make > >stuff clear with compact code. Or, maybe the author just wanted to say: Hey look! Java is so cool! > >Look how few characters you need to type to get visible effects? I do not know. :-/ My point is that > >often this kind of code gets difficult to read and the class looses structure over time, especially > >after it has been edited by multiple people over the years. So, it pays off to name things and let > >classes have structure from the start on. ;-) > > > > hehehe, nice :) > > >+ public void actionPerformed(ActionEvent e) { > >+ launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); > > > >Hmm,... grumble...grumble... Do you really want to try to exec a new process on the AWT thread? A > >thousand things could go wrong while blocking it. Just one example might be network access. > > > >+ } > >+ }); > >+ GridBagConstraints c = new GridBagConstraints(); > >+ c.fill = GridBagConstraints.BOTH; > >+ c.gridx = 1; > >+ c.gridy = 0; > >+ c.weightx = 1; > >+ add(aboutLabel, c); > >+ c.fill = GridBagConstraints.NONE; > >+ c.weighty = 0; > >+ c.weightx = 0; > >+ c.gridx = 1; > >+ c.gridy++; > >+ add(showUserPolicyButton, c); > >+ /* Keep all the elements at the top of the panel (Extra padding) */ > >+ c.fill = GridBagConstraints.BOTH; > >+ Component filler = Box.createRigidArea(new Dimension(1, 1)); > >+ c.weighty = 1; > >+ c.gridy++; > >+ add(filler, c); > >+ } > >+ > >+ private static void launchPolicyTool(String fileUrl) { > >+ try { > >+ final URL url = new URL(fileUrl); > >+ final File policyFile = new File(url.getPath()); > >+ final String[] policyToolCmd = new String[] { "policytool", "-file", > >policyFile.getCanonicalPath() }; > >+ Runtime.getRuntime().exec(policyToolCmd); > >+ } catch (IOException e) { > >+ OutputController.getLogger().log(e); > >+ } > >+ } > > > >As already mentioned above, this should probably better not block the AWT thread. > > > >Otherwise looks okay to start with, as long as you keep up (your promise?) to effectively replace > >OpenJDK's policytool with something more accessible and convenient. Keep it up! :-) > > > > Except Jacob's hints I have (partially shared with him) few thoughts: > > + launchPolicyTool(config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY)); > > The file which is used by polici tool (and so by itw settings, and > especially later, by ITW in runtime, should be shown in ITW seetings > (it a must for current patch). > Is it worthy to have more then one policy file? If so, then this > file should editable(swithcable) by itw settings. > Does it have sense to have some mayor file (in etc/jvm) dir? > > + final String[] policyToolCmd = new String[] { > "policytool", "-file", policyFile.getCanonicalPath() }; > > This scares me. javaws and itw-settings are supposed to be windows > compatible at least somehow. I'm not sure how this will pass. > I would vote rather for adding (tools.jar?) items (if necessary) to > (boot)classpath, and then invoke main method (as policitool binary > file does). Also it will allow you to have more control over awt > thread as Jacob suggested. > > So - I suppose that *usage* of this file is already implemented in > itw? If so (and I guess so :), the reproducers will be needed. > At least two - one allowing some permissions, one to removing some > permissions. It is also an must for the patch :( > > > Otherwise - excellent improvement to itw! > Thanx a lot for it! > J. > From aazores at redhat.com Tue Jan 14 10:16:13 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 14 Jan 2014 13:16:13 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D5590D.9080204@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> Message-ID: <52D57EED.2090303@redhat.com> On 01/14/2014 10:34 AM, Jiri Vanek wrote: > On 01/14/2014 03:16 PM, Jacob Wisor wrote: >> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>> Hello there! >>>> >>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>> Hi, >>>>> >>>>> This small patch hooks the JDK policytool into itweb-settings. It >>>>> can then be >>>>> used to set up a custom user-level JNLP policy - this, in >>>>> combination with the >>>>> Run in Sandbox patch, will allow for quite a lot more flexibility >>>>> in how >>>>> permissions are handled with signed applets/applications. >>>>> >>>>> A nicer, more user-friendly editor to replace the policytool will >>>>> hopefully come >>>>> later on. >>>> >>>> Oooooooh yes, please! This would be awesome! :-) >>> >>> Yes this would be :)) >>> But it is different task. And Quite complex. Especially it must pass >>> upstream >>> (openjdk). And that is *the* task! >> >> Well, it does not need to replace or displace OpenJDK's policytool. >> It should be probably enough >> that it complements it. ;-) You know, it's neither forbidden nor >> against any spec to build >> augmenting tools around OpenJDK. > > But still contribute to Openjdk itself is the right thing to do. > > ... >> >> At first, I thought that the problem would rather be that some system >> configurations may be missing >> a PATH environment variable entry to policytool and thus launching it >> may fail. But, Jiri is right. >> The best approach here would probably be to call directly into >> policytool's main() method with >> user.home as its current working directory. policytool is part of >> rt.jar, not tools.jar, so it >> should already be on bootclasspath. But, you may have to investigate >> deeper into it because the > > Great! > > But I doubt "with user.home as its current working directory" is > possible. > Or do we misunderstand each other? > > I had in my mind simple PolicyTool.main(arg,aerg,arg) call in > itw-settings. > > >> package names of some tools have changed from OpenJDK 6 over to >> OpenJDK 7. > > I doubt policy tool was touched in last 10 years ;) > > J. > New patches attached. There are two testcases in the included reproducer - one tests to ensure that without a custom policy, unsigned applets can't read user.home from the system properties. The other testcase installs a custom policy allowing just that, and then ensures that all the same applets are now able to perform this action. And of course there's some backup/cleanup stuff going on in BeforeClass/AfterClass methods in the tests as well. The actual PolicyPanel is now launching the PolicyTool by invoking its main method, rather than exec'ing a new process. I've put this into a new thread, but tbh I'm not sure if that was entirely necessary. The "View Policy" button has a tooltip now that indicates the location of the file that will be opened, although this is also displayed in the policytool itself if you launch it. The View Button's action listener is no longer an anonymous inner class, since I don't really mind the style either way personally. Its implementation does have an anonymous inner Runnable inside its Thread, though. Oh, and there's also now an error dialog if for some reason the policy file can't be opened (eg it exists but you don't have read permission, or it exists but is a directory, or whatever). If the file doesn't already exist then we attempt to create a blank one there first, since the PolicyTool itself doesn't seem to do this. Oh, and I've left the PolicyPanel as public and non-final, just because that's how the rest of the ControlPanel components are. It could very well be given default visibility and made final, but I think it might as well just be left the same as the rest of the code there. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy2.patch Type: text/x-patch Size: 9034 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/95371995/custom_policy2-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers.patch Type: text/x-patch Size: 25434 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/95371995/reproducers-0001.patch From aazores at redhat.com Tue Jan 14 11:30:04 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 14 Jan 2014 14:30:04 -0500 Subject: [rfc][icedtea-web] External main-class fix In-Reply-To: <52CDC9BA.4000406@redhat.com> References: <52CDC9BA.4000406@redhat.com> Message-ID: <52D5903C.6010404@redhat.com> On 01/08/2014 04:57 PM, Andrew Azores wrote: > Hi, > > Jiri found a flaw in the fix for PR1513, which allows applets to run > when their main-class is not in a JAR, but is still available to load > from the codebase. The previous fix simply didn't throw a > LaunchException when the main-class could not be found in a JAR, and > instead displayed a warning about not all of the code being signed. > However, this warning could still appear even if no classes or JARs > could be loaded at all! This patch causes the ClassLoader to not be so > optimistic about finding an external main-class - it actually checks > for it first, and if it still can't be found on the codebase after > searching all JARs, then a LaunchException is thrown. If it can be > found, then the applet launch proceeds as normal at this step. > > Additionally, checkNotAllSignedWithUser can only be called once now in > initializeResources. Previously, it could be called both due to an > external main-class as well as mixed signing states of JARs in the > applet - so if you had one signed JAR, one unsigned JAR, and an > external main-class, you would be prompted twice about the mixed > signing, as well as about trusting the signer of the signed JAR. > Craziness. Now, the prompt about mixed signing should only appear once. > > ChangeLog: > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: > (initializeResources) perform search for main-class when suspected to > be external. Only show mixed code signing prompt once during > initialization. (checkNotAllSignedWithUser) refactor to remove local > variable (promptUser) > > Thanks, > Updated patch, Jiri pointed out over IRC that the previous patch only worked for plugin applets and excluded JNLP. This makes it work for JNLP as well, and also cleans up how codebase loading is set up on a classloader. It's now done during initialization, rather than being handled after the fact by a static factory-ish method. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: pr1513-fix3.patch Type: text/x-patch Size: 10372 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/c0493e87/pr1513-fix3.patch From domuradical at gmail.com Tue Jan 14 12:31:18 2014 From: domuradical at gmail.com (Adam Domurad) Date: Tue, 14 Jan 2014 15:31:18 -0500 Subject: [rfc][icedtea-web] fixed MemoryLeak detector to not report pre_jvm_message's memory leak In-Reply-To: <52D4FEDD.3030102@redhat.com> References: <52D4FEDD.3030102@redhat.com> Message-ID: On Tue, Jan 14, 2014 at 4:09 AM, Jiri Vanek wrote: > As known, Java aware of plugin messages patch introduced memory leak test > to report leak. > > After long investigations I had to ask (thanx!) Adam: > > "There is no leak -- the test system just requires clearing of all > modified global state between tests. There is a reset function in the > memory leak detector, if you clear your structures in that function the > memory leak detector will play nicely." > > > And then the solution was simple. > > > J. > OK to push :-) (I can still say that, right ?) -Adam -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/2950196b/attachment.html From aazores at redhat.com Tue Jan 14 12:48:24 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 14 Jan 2014 15:48:24 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D57EED.2090303@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> Message-ID: <52D5A298.40909@redhat.com> On 01/14/2014 01:16 PM, Andrew Azores wrote: > On 01/14/2014 10:34 AM, Jiri Vanek wrote: >> On 01/14/2014 03:16 PM, Jacob Wisor wrote: >>> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>>> Hello there! >>>>> >>>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>>> Hi, >>>>>> >>>>>> This small patch hooks the JDK policytool into itweb-settings. It >>>>>> can then be >>>>>> used to set up a custom user-level JNLP policy - this, in >>>>>> combination with the >>>>>> Run in Sandbox patch, will allow for quite a lot more flexibility >>>>>> in how >>>>>> permissions are handled with signed applets/applications. >>>>>> >>>>>> A nicer, more user-friendly editor to replace the policytool will >>>>>> hopefully come >>>>>> later on. >>>>> >>>>> Oooooooh yes, please! This would be awesome! :-) >>>> >>>> Yes this would be :)) >>>> But it is different task. And Quite complex. Especially it must >>>> pass upstream >>>> (openjdk). And that is *the* task! >>> >>> Well, it does not need to replace or displace OpenJDK's policytool. >>> It should be probably enough >>> that it complements it. ;-) You know, it's neither forbidden nor >>> against any spec to build >>> augmenting tools around OpenJDK. >> >> But still contribute to Openjdk itself is the right thing to do. >> >> ... >>> >>> At first, I thought that the problem would rather be that some >>> system configurations may be missing >>> a PATH environment variable entry to policytool and thus launching >>> it may fail. But, Jiri is right. >>> The best approach here would probably be to call directly into >>> policytool's main() method with >>> user.home as its current working directory. policytool is part of >>> rt.jar, not tools.jar, so it >>> should already be on bootclasspath. But, you may have to investigate >>> deeper into it because the >> >> Great! >> >> But I doubt "with user.home as its current working directory" is >> possible. >> Or do we misunderstand each other? >> >> I had in my mind simple PolicyTool.main(arg,aerg,arg) call in >> itw-settings. >> >> >>> package names of some tools have changed from OpenJDK 6 over to >>> OpenJDK 7. >> >> I doubt policy tool was touched in last 10 years ;) >> >> J. >> > > New patches attached. There are two testcases in the included > reproducer - one tests to ensure that without a custom policy, > unsigned applets can't read user.home from the system properties. The > other testcase installs a custom policy allowing just that, and then > ensures that all the same applets are now able to perform this action. > And of course there's some backup/cleanup stuff going on in > BeforeClass/AfterClass methods in the tests as well. > > The actual PolicyPanel is now launching the PolicyTool by invoking its > main method, rather than exec'ing a new process. I've put this into a > new thread, but tbh I'm not sure if that was entirely necessary. The > "View Policy" button has a tooltip now that indicates the location of > the file that will be opened, although this is also displayed in the > policytool itself if you launch it. The View Button's action listener > is no longer an anonymous inner class, since I don't really mind the > style either way personally. Its implementation does have an anonymous > inner Runnable inside its Thread, though. Oh, and there's also now an > error dialog if for some reason the policy file can't be opened (eg it > exists but you don't have read permission, or it exists but is a > directory, or whatever). If the file doesn't already exist then we > attempt to create a blank one there first, since the PolicyTool itself > doesn't seem to do this. > > Oh, and I've left the PolicyPanel as public and non-final, just > because that's how the rest of the ControlPanel components are. It > could very well be given default visibility and made final, but I > think it might as well just be left the same as the rest of the code > there. > > Thanks, > Whoops, please ignore tests/reproducers/simple/CustomPolicies/resources/ExtensionJnlpTest.html in that reproducer patch. I used it as a template and missed cleaning it out before making the patch. Thanks, -- Andrew A From omajid at icedtea.classpath.org Tue Jan 14 13:04:22 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:04:22 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: 3 new changesets Message-ID: changeset 64ec1c622f36 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=64ec1c622f36 author: alanb date: Tue Oct 22 11:40:27 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oralce.com, mark.sheppard at oracle.com changeset 00edd61ba731 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=00edd61ba731 author: msheppar date: Sat Nov 02 01:24:03 2013 +0000 8025767: Enhance IIOP Streams Summary: modify org.omg.CORBA_2_3.portable.InputStream inheritance structure. Reviewed-by: alanb, coffeys, skoivu changeset 468a4fe3400a in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=468a4fe3400a author: msheppar date: Sat Nov 02 01:07:53 2013 +0000 8026193: Enhance CORBA stub factories Summary: modify com.sun.corba.se.impl.presenetation.rmi.StubFactoryDynamicBase inheritance structure. Reviewed-by: alanb, coffeys, ahgross diffstat: src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java | 7 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java | 8 +- src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java | 7 +- src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java | 2 +- src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java | 8 +- src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java | 24 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java | 7 +- src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java | 35 +- src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java | 8 +- src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContexts.java | 15 +- src/share/classes/javax/rmi/CORBA/Stub.java | 8 +- src/share/classes/javax/rmi/CORBA/Util.java | 13 +- src/share/classes/javax/rmi/PortableRemoteObject.java | 11 +- src/share/classes/org/omg/CORBA/ORB.java | 34 +- src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java | 43 ++- src/share/classes/sun/corba/EncapsInputStreamFactory.java | 153 ++++++++++ 23 files changed, 360 insertions(+), 111 deletions(-) diffs (truncated from 1001 to 500 lines): diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java --- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -82,11 +82,18 @@ super((ORB)orb); } - public org.omg.CORBA.portable.InputStream create_input_stream() - { - return new AnyInputStream( - (com.sun.corba.se.impl.encoding.EncapsInputStream) - super.create_input_stream()); + public org.omg.CORBA.portable.InputStream create_input_stream() { + final org.omg.CORBA.portable.InputStream is = super + .create_input_stream(); + AnyInputStream aIS = AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public AnyInputStream run() { + return new AnyInputStream( + (com.sun.corba.se.impl.encoding.EncapsInputStream) is); + } + }); + return aIS; } } diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -36,11 +36,10 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.logging.CORBALogDomains; - import com.sun.corba.se.impl.logging.ORBUtilSystemException; +import sun.corba.EncapsInputStreamFactory; /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -148,7 +147,7 @@ } public CDRInputStream dup() { - return new EncapsInputStream(this); + return EncapsInputStreamFactory.newEncapsInputStream(this); } protected CodeSetConversion.BTCConverter createCharBTCConverter() { diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -39,6 +39,8 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.orbutil.ORBConstants; +import sun.corba.EncapsInputStreamFactory; + /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -107,11 +109,11 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { freeInternalCaches(); - return new EncapsInputStream(orb(), - getByteBuffer(), - getSize(), - isLittleEndian(), - getGIOPVersion()); + return EncapsInputStreamFactory.newEncapsInputStream(orb(), + getByteBuffer(), + getSize(), + isLittleEndian(), + getGIOPVersion()); } protected CodeSetConversion.CTBConverter createCharCTBConverter() { diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, 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 @@ -64,6 +64,8 @@ import com.sun.corba.se.impl.encoding.CDROutputStream; import com.sun.corba.se.impl.encoding.MarshalInputStream; +import sun.corba.EncapsInputStreamFactory; + public class TypeCodeInputStream extends EncapsInputStream implements TypeCodeReader { private Map typeMap = null; @@ -157,11 +159,13 @@ // create an encapsulation using the marshal buffer if (is instanceof CDRInputStream) { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length, - ((CDRInputStream)is).isLittleEndian(), - ((CDRInputStream)is).getGIOPVersion()); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length, + ((CDRInputStream) is).isLittleEndian(), + ((CDRInputStream) is).getGIOPVersion()); } else { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length); } encap.setEnclosingInputStream(is); encap.makeEncapsulation(); diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -61,6 +61,8 @@ import java.math.BigInteger; import java.nio.ByteBuffer; +import sun.corba.EncapsInputStreamFactory; + public final class TypeCodeOutputStream extends EncapsOutputStream { private OutputStream enclosure = null; @@ -77,9 +79,9 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { - //return new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian()); - TypeCodeInputStream tcis - = new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian(), getGIOPVersion()); + TypeCodeInputStream tcis = EncapsInputStreamFactory + .newTypeCodeInputStream((ORB) orb(), getByteBuffer(), + getIndex(), isLittleEndian(), getGIOPVersion()); //if (TypeCodeImpl.debug) { //System.out.println("Created TypeCodeInputStream " + tcis + " with no parent"); //tcis.printBuffer(); diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java --- a/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Sat Nov 02 01:07:53 2013 +0000 @@ -33,6 +33,8 @@ import com.sun.corba.se.spi.ior.iiop.GIOPVersion; import com.sun.corba.se.spi.logging.CORBALogDomains; +import sun.corba.EncapsInputStreamFactory; + import com.sun.corba.se.impl.corba.AnyImpl; import com.sun.corba.se.impl.encoding.EncapsInputStream; import com.sun.corba.se.impl.encoding.EncapsOutputStream; @@ -193,8 +195,9 @@ // it is turned into a FormatMismatch exception. try { - EncapsInputStream cdrIn = new EncapsInputStream( orb, data, - data.length, giopVersion ); + EncapsInputStream cdrIn = EncapsInputStreamFactory.newEncapsInputStream( orb, data, + data.length, giopVersion ); + cdrIn.consumeEndian(); diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2013, 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 @@ -370,7 +370,7 @@ * @exception IOException Any of the usual Input/Output related exceptions. * @since JDK1.1 */ - public final Object readObjectDelegate() throws IOException + public final synchronized Object readObjectDelegate() throws IOException { try { @@ -389,7 +389,7 @@ } } - final Object simpleReadObject(Class clz, + final synchronized Object simpleReadObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -461,7 +461,7 @@ return obj; } - public final void simpleSkipObject(String repositoryID, + public final synchronized void simpleSkipObject(String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender) /* throws OptionalDataException, ClassNotFoundException, IOException */ { @@ -559,7 +559,7 @@ * objects. * @since JDK1.1 */ - public final void defaultReadObjectDelegate() + final synchronized void defaultReadObjectDelegate() /* throws IOException, ClassNotFoundException, NotActiveException */ { try { @@ -988,7 +988,7 @@ } } - private Object inputObject(Class clz, + private synchronized Object inputObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -1317,7 +1317,7 @@ * a form of custom marshaling. * */ - private Object inputObjectUsingFVD(Class clz, + private synchronized Object inputObjectUsingFVD(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java --- a/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Sat Nov 02 01:07:53 2013 +0000 @@ -201,7 +201,7 @@ readObjectState.endDefaultReadObject(this); } - public abstract void defaultReadObjectDelegate(); + abstract void defaultReadObjectDelegate(); abstract void readFields(java.util.Map fieldToValueMap) throws java.io.InvalidClassException, java.io.StreamCorruptedException, diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java --- a/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -47,6 +47,8 @@ import com.sun.corba.se.impl.encoding.EncapsOutputStream ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** * This static utility class contains various utility methods for reading and * writing CDR encapsulations. @@ -108,8 +110,8 @@ static public InputStream getEncapsulationStream( InputStream is ) { byte[] data = readOctets( is ) ; - EncapsInputStream result = new EncapsInputStream( is.orb(), data, - data.length ) ; + EncapsInputStream result = EncapsInputStreamFactory.newEncapsInputStream( is.orb(), data, + data.length ) ; result.consumeEndian() ; return result ; } diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java --- a/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -49,6 +49,8 @@ import com.sun.corba.se.impl.logging.IORSystemException ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** Based on the magic and scid, return the appropriate * ObjectKeyTemplate. Expects to be called with a valid @@ -217,7 +219,7 @@ public ObjectKey create( byte[] key ) { OctetSeqHolder osh = new OctetSeqHolder() ; - EncapsInputStream is = new EncapsInputStream( orb, key, key.length ) ; + EncapsInputStream is = EncapsInputStreamFactory.newEncapsInputStream( orb, key, key.length ); ObjectKeyTemplate oktemp = create( is, fullKey, osh ) ; if (oktemp == null) diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java --- a/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -70,6 +70,8 @@ import com.sun.corba.se.impl.encoding.EncapsInputStream ; import com.sun.corba.se.impl.encoding.EncapsOutputStream ; +import sun.corba.EncapsInputStreamFactory; + import com.sun.corba.se.impl.util.JDKBridge; import com.sun.corba.se.impl.logging.IORSystemException; @@ -170,8 +172,8 @@ throw wrapper.invalidTaggedProfile() ; } - EncapsInputStream istr = new EncapsInputStream((ORB)orb, profile.profile_data, - profile.profile_data.length); + EncapsInputStream istr = EncapsInputStreamFactory.newEncapsInputStream((ORB)orb, profile.profile_data, + profile.profile_data.length); istr.consumeEndian(); init( istr ) ; } diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ package com.sun.corba.se.impl.presentation.rmi ; +import java.io.SerializablePermission; import java.lang.reflect.InvocationHandler ; import java.lang.reflect.Proxy ; @@ -38,11 +39,18 @@ { protected final ClassLoader loader ; - public StubFactoryDynamicBase( PresentationManager.ClassData classData, - ClassLoader loader ) - { - super( classData ) ; + private static Void checkPermission() { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new SerializablePermission( + "enableSubclassImplementation")); + } + return null; + } + private StubFactoryDynamicBase(Void unused, + PresentationManager.ClassData classData, ClassLoader loader) { + super(classData); // this.loader must not be null, or the newProxyInstance call // will fail. if (loader == null) { @@ -55,5 +63,11 @@ } } + public StubFactoryDynamicBase( PresentationManager.ClassData classData, + ClassLoader loader ) + { + this (checkPermission(), classData, loader); + } + public abstract org.omg.CORBA.Object makeStub() ; } diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,14 +25,23 @@ package com.sun.corba.se.impl.presentation.rmi; +import java.security.AccessController; +import java.security.PrivilegedAction; + import com.sun.corba.se.spi.presentation.rmi.PresentationManager ; public class StubFactoryFactoryProxyImpl extends StubFactoryFactoryDynamicBase { public PresentationManager.StubFactory makeDynamicStubFactory( - PresentationManager pm, PresentationManager.ClassData classData, - ClassLoader classLoader ) + PresentationManager pm, final PresentationManager.ClassData classData, + final ClassLoader classLoader ) { - return new StubFactoryProxyImpl( classData, classLoader ) ; + return AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public StubFactoryProxyImpl run() { + return new StubFactoryProxyImpl(classData, classLoader); + } + }); } } diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java --- a/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -115,6 +115,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; +import sun.corba.EncapsInputStreamFactory; /** * ClientDelegate is the RMI client-side subcontract or representation @@ -847,8 +848,8 @@ } byte[] data = ((UnknownServiceContext)sc).getData(); EncapsInputStream in = - new EncapsInputStream((ORB)messageMediator.getBroker(), - data, data.length); + EncapsInputStreamFactory.newEncapsInputStream((ORB)messageMediator.getBroker(), + data, data.length); in.consumeEndian(); String msg = diff -r 2b24b81f4555 -r 468a4fe3400a src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java --- a/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java Wed Oct 23 05:22:18 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, 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 @@ -36,7 +36,8 @@ import java.util.Iterator; import java.rmi.RemoteException; import java.nio.ByteBuffer; - +import java.security.AccessController; +import java.security.PrivilegedAction; import javax.rmi.CORBA.Util; import javax.rmi.CORBA.Tie; @@ -111,6 +112,7 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ProfileAddr; import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr; import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl; +import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.util.JDKBridge; /** @@ -156,10 +158,17 @@ ByteBufferWithInfo bbwi = cdrOutputObject.getByteBufferWithInfo(); cdrOutputObject.getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize()); - - CDRInputObject cdrInputObject = - new CDRInputObject(orb, null, bbwi.byteBuffer, - cdrOutputObject.getMessageHeader()); + final ORB inOrb = orb; + final ByteBuffer inBuffer = bbwi.byteBuffer; + final Message inMsg = cdrOutputObject.getMessageHeader(); + CDRInputObject cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public CDRInputObject run() { From omajid at icedtea.classpath.org Tue Jan 14 13:04:27 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:04:27 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: 2 new changesets Message-ID: changeset a357bf887b3a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=a357bf887b3a author: jrose date: Thu Dec 05 14:38:53 2013 -0800 8029507: Enhance JVM method processing 8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java fails against JPRT PIT 17891982 build 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms Summary: update MemberName.clazz correctly in MemberName.resolve; also pass lookupClass to MethodHandles::resolve_MemberName Reviewed-by: acorn, vlivanov changeset 9def299ab058 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=9def299ab058 author: coleenp date: Mon Sep 16 14:22:43 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com diffstat: src/share/vm/prims/methodHandles.cpp | 107 ++++++++++++++++++++++++++++------ src/share/vm/prims/methodHandles.hpp | 4 +- src/share/vm/runtime/os.cpp | 3 - src/share/vm/runtime/reflection.cpp | 2 +- 4 files changed, 89 insertions(+), 27 deletions(-) diffs (228 lines): diff -r 3ba10e4780e0 -r 9def299ab058 src/share/vm/prims/methodHandles.cpp --- a/src/share/vm/prims/methodHandles.cpp Wed Nov 20 17:13:35 2013 +0000 +++ b/src/share/vm/prims/methodHandles.cpp Mon Sep 16 14:22:43 2013 -0400 @@ -175,30 +175,32 @@ } oop MethodHandles::init_method_MemberName(oop mname_oop, methodOop m, bool do_dispatch, - klassOop receiver_limit) { + klassOop resolved_klass) { AccessFlags mods = m->access_flags(); int flags = (jushort)( mods.as_short() & JVM_RECOGNIZED_METHOD_MODIFIERS ); int vmindex = methodOopDesc::nonvirtual_vtable_index; // implies never any dispatch - klassOop mklass = m->method_holder(); - if (receiver_limit == NULL) - receiver_limit = mklass; + bool is_itable_call = false; + klassOop m_klass = m->method_holder(); + // resolved_klass is a copy of CallInfo::resolved_klass, if available + if (resolved_klass == NULL) + resolved_klass = m_klass; if (m->is_initializer()) { flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); } else if (mods.is_static()) { flags |= IS_METHOD | (JVM_REF_invokeStatic << REFERENCE_KIND_SHIFT); - } else if (receiver_limit != mklass && - !Klass::cast(receiver_limit)->is_subtype_of(mklass)) { + } else if (resolved_klass != m_klass && + !Klass::cast(resolved_klass)->is_subtype_of(m_klass)) { return NULL; // bad receiver limit - } else if (Klass::cast(receiver_limit)->is_interface() && - Klass::cast(mklass)->is_interface()) { + } else if (Klass::cast(resolved_klass)->is_interface() && + Klass::cast(m_klass)->is_interface()) { flags |= IS_METHOD | (JVM_REF_invokeInterface << REFERENCE_KIND_SHIFT); - receiver_limit = mklass; // ignore passed-in limit; interfaces are interconvertible vmindex = klassItable::compute_itable_index(m); - } else if (mklass != receiver_limit && Klass::cast(mklass)->is_interface()) { + is_itable_call = true; + } else if (m_klass != resolved_klass && Klass::cast(m_klass)->is_interface()) { flags |= IS_METHOD | (JVM_REF_invokeVirtual << REFERENCE_KIND_SHIFT); // it is a miranda method, so m->vtable_index is not what we want ResourceMark rm; - klassVtable* vt = instanceKlass::cast(receiver_limit)->vtable(); + klassVtable* vt = instanceKlass::cast(resolved_klass)->vtable(); vmindex = vt->index_of_miranda(m->name(), m->signature()); } else if (!do_dispatch || m->can_be_statically_bound()) { flags |= IS_METHOD | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); @@ -207,10 +209,36 @@ vmindex = m->vtable_index(); } + if (vmindex >= 0 && !is_itable_call) { + if (Klass::cast(m_klass)->is_interface()) { + // This is a vtable call to an interface method (abstract "miranda method"). + // The vtable index is meaningless without a class (not interface) receiver type, so get one. + // (LinkResolver should help us figure this out.) + KlassHandle m_klass_non_interface = resolved_klass; + if (m_klass_non_interface->is_interface()) { + m_klass_non_interface = SystemDictionary::Object_klass(); +#ifdef ASSERT + { ResourceMark rm; + methodOop m2 = m_klass_non_interface->vtable()->method_at(vmindex); + assert(m->name() == m2->name() && m->signature() == m2->signature(), + err_msg("at %d, %s != %s", vmindex, + m->name_and_sig_as_C_string(), m2->name_and_sig_as_C_string())); + } +#endif //ASSERT + } + if (!m->is_public()) { + assert(m->is_public(), "virtual call must be to public interface method"); + return NULL; // elicit an error later in product build + } + assert(Klass::cast(resolved_klass)->is_subtype_of(m_klass_non_interface()), "virtual call must be type-safe"); + m_klass = m_klass_non_interface(); + } + } + java_lang_invoke_MemberName::set_flags(mname_oop, flags); java_lang_invoke_MemberName::set_vmtarget(mname_oop, m); java_lang_invoke_MemberName::set_vmindex(mname_oop, vmindex); // vtable/itable index - java_lang_invoke_MemberName::set_clazz(mname_oop, Klass::cast(receiver_limit)->java_mirror()); + java_lang_invoke_MemberName::set_clazz(mname_oop, Klass::cast(m_klass)->java_mirror()); // Note: name and type can be lazily computed by resolve_MemberName, // if Java code needs them as resolved String and MethodType objects. // The clazz must be eagerly stored, because it provides a GC @@ -571,7 +599,7 @@ // An unresolved member name is a mere symbolic reference. // Resolving it plants a vmtarget/vmindex in it, // which refers dirctly to JVM internals. -Handle MethodHandles::resolve_MemberName(Handle mname, TRAPS) { +Handle MethodHandles::resolve_MemberName(Handle mname, KlassHandle caller, TRAPS) { Handle empty; assert(java_lang_invoke_MemberName::is_instance(mname()), ""); @@ -650,21 +678,49 @@ if (ref_kind == JVM_REF_invokeStatic) { //do_dispatch = false; // no need, since statics are never dispatched LinkResolver::resolve_static_call(result, - defc, name, type, KlassHandle(), false, false, THREAD); + defc, name, type, caller, caller.not_null(), false, THREAD); } else if (ref_kind == JVM_REF_invokeInterface) { LinkResolver::resolve_interface_call(result, Handle(), defc, - defc, name, type, KlassHandle(), false, false, THREAD); + defc, name, type, caller, caller.not_null(), false, THREAD); } else if (mh_invoke_id != vmIntrinsics::_none) { assert(!is_signature_polymorphic_static(mh_invoke_id), ""); LinkResolver::resolve_handle_call(result, - defc, name, type, KlassHandle(), THREAD); + defc, name, type, caller, THREAD); } else if (ref_kind == JVM_REF_invokeSpecial) { do_dispatch = false; // force non-virtual linkage LinkResolver::resolve_special_call(result, - defc, name, type, KlassHandle(), false, THREAD); + defc, name, type, caller, caller.not_null(), THREAD); + // CR 8029533: + // As a corner case, invokespecial can return a method *below* its resolved_klass. + // Since method search *starts* at the resolved_klass, the eventual + // method is almost always in a supertype *above* the resolved_klass. + // This pattern breaks when an invokespecial "over-reaches" beyond an + // immediate super to a method overridden by a super class. + // In that case, the selected method will be below the resolved_klass. + // (This is the behavior enabled by the famous ACC_SUPER classfile flag.) + // + // Downstream of this code, we make assumptions about resolved_klass being below m. + // (See init_method_MemberName, the comment "bad receiver limit".) + // We basically want to patch result._resolved_klass to be m.method_holder(). + // The simplest way to get this happier outcome is to re-resolve. + if (!HAS_PENDING_EXCEPTION && + caller.not_null() && + result.resolved_method().not_null()) { + // this is the m_klass value that will be checked later: + klassOop m_klass = result.resolved_method()->method_holder(); + if (m_klass != result.resolved_klass()() && + Klass::cast(m_klass)->is_subtype_of(result.resolved_klass()())) { + KlassHandle adjusted_defc(THREAD, m_klass); + LinkResolver::resolve_special_call(result, + adjusted_defc, name, type, caller, caller.not_null(), THREAD); + assert(HAS_PENDING_EXCEPTION // if there is something like an OOM, pass it up to caller + || result.resolved_method()->method_holder() == adjusted_defc(), + "same method, different resolved_klass"); + } + } } else if (ref_kind == JVM_REF_invokeVirtual) { LinkResolver::resolve_virtual_call(result, Handle(), defc, - defc, name, type, KlassHandle(), false, false, THREAD); + defc, name, type, caller, caller.not_null(), false, THREAD); } else { assert(false, err_msg("ref_kind=%d", ref_kind)); } @@ -681,7 +737,7 @@ assert(!HAS_PENDING_EXCEPTION, ""); if (name == vmSymbols::object_initializer_name()) { LinkResolver::resolve_special_call(result, - defc, name, type, KlassHandle(), false, THREAD); + defc, name, type, caller, caller.not_null(), THREAD); } else { break; // will throw after end of switch } @@ -1025,7 +1081,12 @@ if (VerifyMethodHandles && caller_jh != NULL && java_lang_invoke_MemberName::clazz(mname()) != NULL) { klassOop reference_klass = java_lang_Class::as_klassOop(java_lang_invoke_MemberName::clazz(mname())); - if (reference_klass != NULL) { + if (reference_klass != NULL && Klass::cast(reference_klass)->oop_is_objArray()) { + reference_klass = objArrayKlass::cast(reference_klass)->bottom_klass(); + } + + // Reflection::verify_class_access can only handle instance classes. + if (reference_klass != NULL && Klass::cast(reference_klass)->oop_is_instance()) { // Emulate LinkResolver::check_klass_accessability. klassOop caller = java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(caller_jh)); if (!Reflection::verify_class_access(caller, @@ -1036,7 +1097,11 @@ } } - Handle resolved = MethodHandles::resolve_MemberName(mname, CHECK_NULL); + KlassHandle caller(THREAD, + caller_jh == NULL ? (klassOop) NULL : + java_lang_Class::as_klassOop(JNIHandles::resolve_non_null(caller_jh))); + Handle resolved = MethodHandles::resolve_MemberName(mname, caller, CHECK_NULL); + if (resolved.is_null()) { int flags = java_lang_invoke_MemberName::flags(mname()); int ref_kind = (flags >> REFERENCE_KIND_SHIFT) & REFERENCE_KIND_MASK; diff -r 3ba10e4780e0 -r 9def299ab058 src/share/vm/prims/methodHandles.hpp --- a/src/share/vm/prims/methodHandles.hpp Wed Nov 20 17:13:35 2013 +0000 +++ b/src/share/vm/prims/methodHandles.hpp Mon Sep 16 14:22:43 2013 -0400 @@ -51,12 +51,12 @@ public: // working with member names - static Handle resolve_MemberName(Handle mname, TRAPS); // compute vmtarget/vmindex from name/type + static Handle resolve_MemberName(Handle mname, KlassHandle caller, TRAPS); // compute vmtarget/vmindex from name/type static void expand_MemberName(Handle mname, int suppress, TRAPS); // expand defc/name/type if missing static Handle new_MemberName(TRAPS); // must be followed by init_MemberName static oop init_MemberName(oop mname_oop, oop target_oop); // compute vmtarget/vmindex from target static oop init_method_MemberName(oop mname_oop, methodOop m, bool do_dispatch, - klassOop receiver_limit); + klassOop resolved_klass); static oop init_field_MemberName(oop mname_oop, klassOop field_holder, AccessFlags mods, oop type, oop name, intptr_t offset, bool is_setter = false); diff -r 3ba10e4780e0 -r 9def299ab058 src/share/vm/runtime/os.cpp --- a/src/share/vm/runtime/os.cpp Wed Nov 20 17:13:35 2013 +0000 +++ b/src/share/vm/runtime/os.cpp Mon Sep 16 14:22:43 2013 -0400 @@ -1142,9 +1142,6 @@ "%/lib/plugin.jar:" "%/lib/rhino.jar:" "%/lib/jfr.jar:" -#ifdef __APPLE__ - "%/lib/JObjC.jar:" -#endif "%/classes"; char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); if (sysclasspath == NULL) return false; diff -r 3ba10e4780e0 -r 9def299ab058 src/share/vm/runtime/reflection.cpp --- a/src/share/vm/runtime/reflection.cpp Wed Nov 20 17:13:35 2013 +0000 +++ b/src/share/vm/runtime/reflection.cpp Mon Sep 16 14:22:43 2013 -0400 @@ -460,7 +460,7 @@ // doesn't have a classloader. if ((current_class == NULL) || (current_class == new_class) || - (instanceKlass::cast(new_class)->is_public()) || + (Klass::cast(new_class)->is_public()) || is_same_class_package(current_class, new_class)) { return true; } From omajid at icedtea.classpath.org Tue Jan 14 13:04:31 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:04:31 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: 3 new changesets Message-ID: changeset 62bb5cd76879 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=62bb5cd76879 author: joehw date: Mon Aug 26 20:39:36 2013 -0700 8022935: Enhance Apache resolver classes Reviewed-by: alanb, mchung, skoivu changeset e44cb46d3a10 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=e44cb46d3a10 author: joehw date: Tue Oct 22 12:59:33 2013 -0700 8025018: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, ahgross changeset 44952a12fe8f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=44952a12fe8f author: joehw date: Thu Nov 14 09:47:24 2013 -0800 8027201: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, hawtin diffstat: src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java | 44 ++--- src/com/sun/org/apache/xalan/internal/lib/Extensions.java | 68 ++------- src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java | 13 +- src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java | 21 +- src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java | 27 +-- 5 files changed, 65 insertions(+), 108 deletions(-) diffs (351 lines): diff -r 582213f5560e -r 44952a12fe8f src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java --- a/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Wed Oct 23 05:22:27 2013 +0100 +++ b/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Thu Nov 14 09:47:24 2013 -0800 @@ -52,6 +52,8 @@ */ public class ExsltStrings extends ExsltBase { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; + /** * The str:align function aligns a string within another string. *

@@ -225,7 +227,7 @@ token = str.substring(fromIndex); } - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { Element element = doc.createElement("token"); @@ -289,7 +291,7 @@ { StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { while (lTokenizer.hasMoreTokens()) @@ -305,7 +307,7 @@ else { - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { for (int i = 0; i < toTokenize.length(); i++) @@ -327,31 +329,23 @@ { return tokenize(toTokenize, " \t\n\r"); } + /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static { - try - { - m_doc =DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + private static Document getDocument() + { + try + { + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } - } diff -r 582213f5560e -r 44952a12fe8f src/com/sun/org/apache/xalan/internal/lib/Extensions.java --- a/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Wed Oct 23 05:22:27 2013 +0100 +++ b/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Thu Nov 14 09:47:24 2013 -0800 @@ -56,6 +56,7 @@ */ public class Extensions { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; /** * Constructor Extensions * @@ -114,23 +115,14 @@ // This no longer will work right since the DTM. // Document myDoc = myProcessor.getContextNode().getOwnerDocument(); - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - Document myDoc = db.newDocument(); + Document myDoc = getDocument(); - Text textNode = myDoc.createTextNode(textNodeValue); - DocumentFragment docFrag = myDoc.createDocumentFragment(); + Text textNode = myDoc.createTextNode(textNodeValue); + DocumentFragment docFrag = myDoc.createDocumentFragment(); - docFrag.appendChild(textNode); + docFrag.appendChild(textNode); - return new NodeSet(docFrag); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + return new NodeSet(docFrag); } } @@ -249,8 +241,7 @@ public static NodeList tokenize(String toTokenize, String delims) { - Document doc = DocumentHolder.m_doc; - + Document doc = getDocument(); StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); NodeSet resultSet = new NodeSet(); @@ -308,17 +299,7 @@ public static Node checkEnvironment(ExpressionContext myContext) { - Document factoryDocument; - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - factoryDocument = db.newDocument(); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + Document factoryDocument = getDocument(); Node resultNode = null; try @@ -391,30 +372,21 @@ } /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static + private static Document getDocument() + { + try { - try - { - m_doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } } diff -r 582213f5560e -r 44952a12fe8f src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java --- a/src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java Wed Oct 23 05:22:27 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java Thu Nov 14 09:47:24 2013 -0800 @@ -24,20 +24,17 @@ package com.sun.org.apache.xml.internal.resolver; import com.sun.org.apache.xerces.internal.utils.SecuritySupport; +import com.sun.org.apache.xml.internal.resolver.helpers.BootstrapResolver; +import com.sun.org.apache.xml.internal.resolver.helpers.Debug; import java.io.InputStream; - +import java.net.MalformedURLException; import java.net.URL; -import java.net.MalformedURLException; - import java.util.MissingResourceException; import java.util.PropertyResourceBundle; import java.util.ResourceBundle; import java.util.StringTokenizer; import java.util.Vector; - -import com.sun.org.apache.xml.internal.resolver.helpers.Debug; -import com.sun.org.apache.xml.internal.resolver.helpers.BootstrapResolver; -import com.sun.org.apache.xml.internal.resolver.Catalog; +import sun.reflect.misc.ReflectUtil; /** * CatalogManager provides an interface to the catalog properties. @@ -687,7 +684,7 @@ catalog = new Catalog(); } else { try { - catalog = (Catalog) Class.forName(catalogClassName).newInstance(); + catalog = (Catalog) ReflectUtil.forName(catalogClassName).newInstance(); } catch (ClassNotFoundException cnfe) { debug.message(1,"Catalog class named '" + catalogClassName diff -r 582213f5560e -r 44952a12fe8f src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java --- a/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java Wed Oct 23 05:22:27 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java Thu Nov 14 09:47:24 2013 -0800 @@ -23,24 +23,21 @@ package com.sun.org.apache.xml.internal.resolver.readers; -import java.util.Hashtable; +import com.sun.org.apache.xml.internal.resolver.Catalog; +import com.sun.org.apache.xml.internal.resolver.CatalogException; +import com.sun.org.apache.xml.internal.resolver.helpers.Namespaces; import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; -import java.net.MalformedURLException; - +import java.util.Hashtable; +import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.ParserConfigurationException; - -import com.sun.org.apache.xml.internal.resolver.Catalog; -import com.sun.org.apache.xml.internal.resolver.CatalogException; -import com.sun.org.apache.xml.internal.resolver.readers.CatalogReader; -import com.sun.org.apache.xml.internal.resolver.helpers.Namespaces; - +import org.w3c.dom.*; import org.xml.sax.SAXException; -import org.w3c.dom.*; +import sun.reflect.misc.ReflectUtil; /** * A DOM-based CatalogReader. @@ -199,7 +196,7 @@ DOMCatalogParser domParser = null; try { - domParser = (DOMCatalogParser) Class.forName(domParserClass).newInstance(); + domParser = (DOMCatalogParser) ReflectUtil.forName(domParserClass).newInstance(); } catch (ClassNotFoundException cnfe) { catalog.getCatalogManager().debug.message(1, "Cannot load XML Catalog Parser class", domParserClass); throw new CatalogException(CatalogException.UNPARSEABLE); diff -r 582213f5560e -r 44952a12fe8f src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java --- a/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java Wed Oct 23 05:22:27 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java Thu Nov 14 09:47:24 2013 -0800 @@ -23,19 +23,21 @@ package com.sun.org.apache.xml.internal.resolver.readers; -import java.util.Hashtable; +import com.sun.org.apache.xml.internal.resolver.Catalog; +import com.sun.org.apache.xml.internal.resolver.CatalogException; +import com.sun.org.apache.xml.internal.resolver.CatalogManager; +import com.sun.org.apache.xml.internal.resolver.helpers.Debug; +import java.io.FileNotFoundException; import java.io.IOException; -import java.io.FileNotFoundException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; -import java.net.MalformedURLException; import java.net.UnknownHostException; - +import java.util.Hashtable; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import javax.xml.parsers.SAXParser; - import org.xml.sax.AttributeList; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; @@ -45,12 +47,7 @@ import org.xml.sax.Locator; import org.xml.sax.Parser; import org.xml.sax.SAXException; - -import com.sun.org.apache.xml.internal.resolver.Catalog; -import com.sun.org.apache.xml.internal.resolver.CatalogManager; -import com.sun.org.apache.xml.internal.resolver.CatalogException; -import com.sun.org.apache.xml.internal.resolver.readers.CatalogReader; -import com.sun.org.apache.xml.internal.resolver.helpers.Debug; +import sun.reflect.misc.ReflectUtil; /** * A SAX-based CatalogReader. @@ -246,7 +243,7 @@ } parser.parse(new InputSource(is), spHandler); } else { - Parser parser = (Parser) Class.forName(parserClass).newInstance(); + Parser parser = (Parser) ReflectUtil.forName(parserClass).newInstance(); parser.setDocumentHandler(this); if (bResolver != null) { parser.setEntityResolver(bResolver); @@ -352,7 +349,7 @@ try { saxParser = (SAXCatalogParser) - Class.forName(saxParserClass).newInstance(); + ReflectUtil.forName(saxParserClass).newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); @@ -413,7 +410,7 @@ try { saxParser = (SAXCatalogParser) - Class.forName(saxParserClass).newInstance(); + ReflectUtil.forName(saxParserClass).newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); From omajid at icedtea.classpath.org Tue Jan 14 13:04:35 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:04:35 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: 2 new changesets Message-ID: changeset b8dd55a89bc8 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=b8dd55a89bc8 author: mkos date: Wed Oct 16 10:23:23 2013 -0400 8010935: Better XML handling Reviewed-by: mchung, mgrebac, mullan changeset 942dddc2d84e in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=942dddc2d84e author: mullan date: Thu Oct 17 17:37:46 2013 -0400 8026826: JDK 7 fix for 8010935 broke the build Reviewed-by: prr diffstat: src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java | 10 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java | 5 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java | 12 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java | 62 +++++- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java | 7 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java | 13 +- src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java | 4 +- 29 files changed, 702 insertions(+), 119 deletions(-) diffs (truncated from 1461 to 500 lines): diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java --- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -71,8 +71,7 @@ * * @author Kohsuke Kawaguchi (kk at kohsuke.org) */ -public class APTNavigator implements Navigator { - +public final class APTNavigator implements Navigator { private final AnnotationProcessorEnvironment env; private final PrimitiveType primitiveByte; @@ -277,8 +276,9 @@ return clazz.getPackage().getQualifiedName(); } - public TypeDeclaration findClass(String className, TypeDeclaration referencePoint) { - return env.getTypeDeclaration(className); + @Override + public TypeDeclaration loadObjectFactory(TypeDeclaration referencePoint, String packageName) { + return env.getTypeDeclaration(packageName + ".ObjectFactory"); } public boolean isBridgeMethod(MethodDeclaration method) { diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -30,7 +30,6 @@ import com.sun.codemodel.internal.JType; import com.sun.tools.internal.xjc.outline.Aspect; import com.sun.tools.internal.xjc.outline.Outline; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; /** * @author Kohsuke Kawaguchi @@ -69,6 +68,6 @@ } public String fullName() { - return Navigator.REFLECTION.getTypeName(t); + return Utils.REFLECTION_NAVIGATOR.getTypeName(t); } } diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -56,7 +56,7 @@ EagerNType ent = (EagerNType) nt; if (base instanceof EagerNClass) { EagerNClass enc = (EagerNClass) base; - return create(REFLECTION.getBaseClass(ent.t, enc.c)); + return create(Utils.REFLECTION_NAVIGATOR.getBaseClass(ent.t, enc.c)); } // lazy class can never be a base type of an eager type return null; @@ -176,7 +176,7 @@ public NType getTypeArgument(NType nt, int i) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return create(REFLECTION.getTypeArgument(ent.t,i)); + return create(Utils.REFLECTION_NAVIGATOR.getTypeArgument(ent.t,i)); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -189,7 +189,7 @@ public boolean isParameterizedType(NType nt) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return REFLECTION.isParameterizedType(ent.t); + return Utils.REFLECTION_NAVIGATOR.isParameterizedType(ent.t); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -303,8 +303,8 @@ throw new UnsupportedOperationException(); } - public NClass findClass(String className, NClass referencePoint) { - // TODO: implement this method later + @Override + public NClass loadObjectFactory(NClass referencePoint, String pkg) { throw new UnsupportedOperationException(); } diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java Thu Oct 17 17:37:46 2013 -0400 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.tools.internal.xjc.model.nav; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -45,7 +45,6 @@ import com.sun.xml.internal.bind.api.impl.NameConverter; import com.sun.xml.internal.bind.v2.ContextFactory; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet; /** @@ -404,7 +403,7 @@ * @since 2.0 FCS */ public static @Nullable Type getBaseType(@NotNull Type type, @NotNull Class baseType) { - return Navigator.REFLECTION.getBaseClass(type,baseType); + return Utils.REFLECTION_NAVIGATOR.getBaseClass(type, baseType); } diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -31,8 +31,6 @@ import javax.xml.namespace.QName; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; - /** * A reference to a JAXB-bound type. * @@ -104,11 +102,10 @@ // if we are to reinstitute this check, check JAXB annotations only // assert annotations.length==0; // not designed to work with adapters. - Type base = Navigator.REFLECTION.getBaseClass(type, Collection.class); + Type base = Utils.REFLECTION_NAVIGATOR.getBaseClass(type, Collection.class); if(base==null) return this; // not a collection - return new TypeReference(tagName, - Navigator.REFLECTION.getTypeArgument(base,0)); + return new TypeReference(tagName, Utils.REFLECTION_NAVIGATOR.getTypeArgument(base,0)); } } diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java Thu Oct 17 17:37:46 2013 -0400 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.xml.internal.bind.api; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Thu Oct 17 17:37:46 2013 -0400 @@ -235,7 +235,7 @@ String pkg = nav.getPackageName(ci.getClazz()); if(!registries.containsKey(pkg)) { // insert the package's object factory - C c = loadObjectFactory(ci, pkg); + C c = nav.loadObjectFactory(clazz, pkg); if(c!=null) addRegistry(c,(Locatable)p); } @@ -264,15 +264,6 @@ return r; } - private C loadObjectFactory(ClassInfoImpl ci, String pkg) { - try { - return nav.findClass(pkg + ".ObjectFactory", ci.getClazz()); - } catch (SecurityException ignored) { - // treat SecurityException in same way as ClassNotFoundException in this case - return null; - } - } - /** * Checks the uniqueness of the type name. */ diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -27,7 +27,6 @@ import java.lang.reflect.Type; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.runtime.Transducer; @@ -36,7 +35,7 @@ */ final class RuntimeAnyTypeImpl extends AnyTypeImpl implements RuntimeNonElement { private RuntimeAnyTypeImpl() { - super(Navigator.REFLECTION); + super(Utils.REFLECTION_NAVIGATOR); } public Transducer getTransducer() { diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -42,7 +42,6 @@ import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeRef; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationException; import com.sun.xml.internal.bind.v2.runtime.Transducer; import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor; @@ -122,7 +121,7 @@ } public Class getType() { - return Navigator.REFLECTION.erasure(super.getType()); + return (Class) Utils.REFLECTION_NAVIGATOR.erasure(super.getType()); } public RuntimeClassInfo getScope() { diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -37,8 +37,6 @@ import com.sun.xml.internal.bind.v2.model.annotation.Locatable; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; import com.sun.xml.internal.bind.v2.model.core.ID; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; -import com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElementRef; import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; @@ -75,7 +73,7 @@ public final @Nullable JAXBContextImpl context; public RuntimeModelBuilder(JAXBContextImpl context, RuntimeAnnotationReader annotationReader, Map subclassReplacements, String defaultNamespaceRemap) { - super(annotationReader, Navigator.REFLECTION, subclassReplacements, defaultNamespaceRemap); + super(annotationReader, Utils.REFLECTION_NAVIGATOR, subclassReplacements, defaultNamespaceRemap); this.context = context; } @@ -109,10 +107,6 @@ return new RuntimeArrayInfoImpl(this, upstream, (Class)arrayType); } - public ReflectionNavigator getNavigator() { - return (ReflectionNavigator)nav; - } - @Override protected RuntimeTypeInfoSetImpl createTypeInfoSet() { return new RuntimeTypeInfoSetImpl(reader); diff -r 0cb5423008ad -r 942dddc2d84e src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java Wed Oct 23 05:22:37 2013 +0100 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -34,9 +34,6 @@ import com.sun.xml.internal.bind.v2.model.annotation.AnnotationReader; import com.sun.xml.internal.bind.v2.model.core.TypeInfoSet; -import com.sun.xml.internal.bind.v2.model.core.NonElement; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; -import com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet; @@ -47,7 +44,7 @@ */ final class RuntimeTypeInfoSetImpl extends TypeInfoSetImpl implements RuntimeTypeInfoSet { public RuntimeTypeInfoSetImpl(AnnotationReader reader) { - super(Navigator.REFLECTION,reader,RuntimeBuiltinLeafInfoImpl.LEAVES); + super(Utils.REFLECTION_NAVIGATOR,reader,RuntimeBuiltinLeafInfoImpl.LEAVES); } @Override @@ -55,10 +52,6 @@ return RuntimeAnyTypeImpl.theInstance; } - public ReflectionNavigator getNavigator() { - return (ReflectionNavigator)super.getNavigator(); From omajid at icedtea.classpath.org Tue Jan 14 13:04:43 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:04:43 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 25 new changesets Message-ID: changeset 023b4d20e5b3 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=023b4d20e5b3 author: coleenp date: Mon Sep 16 14:22:17 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com changeset ffc8f42ca4ab in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ffc8f42ca4ab author: malenkov date: Wed Oct 16 14:02:44 2013 +0400 8026172: Enhance UI Management Reviewed-by: art, skoivu changeset 627849ac0afe in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=627849ac0afe author: sjiang date: Mon Oct 21 17:47:56 2013 +0200 7068126: Enhance SNMP statuses Reviewed-by: dfuchs, hawtin changeset 0b5b1ebaf6f3 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=0b5b1ebaf6f3 author: valeriep date: Wed Aug 21 12:07:31 2013 -0700 8022927: Input validation for byte/endian conversions Summary: Add additional boundary checks Reviewed-by: ascarpino changeset c25031871019 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=c25031871019 author: malenkov date: Fri Oct 04 19:39:59 2013 +0400 8025448: Enhance listening events Reviewed-by: art, skoivu changeset 773d497db13f in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=773d497db13f author: prr date: Tue Oct 15 11:34:38 2013 -0700 8026176: Enhance document printing Reviewed-by: bae, jgodinez changeset fd966e95c976 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=fd966e95c976 author: xuelei date: Wed Oct 23 21:32:52 2013 -0700 8026417: Enhance XML canonicalization Summary: Copy before use mutable byte arrays. Also reviewed by Alexander Fomin Reviewed-by: weijun, mullan, hawtin, ahgross changeset 5e28e83a6e77 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5e28e83a6e77 author: weijun date: Mon Aug 19 22:43:32 2013 +0800 8022945: Enhance JNDI implementation classes Reviewed-by: xuelei, ahgross, skoivu changeset 4cae86c40f8f in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4cae86c40f8f author: xuelei date: Thu Sep 05 18:17:49 2013 -0700 8023069: Enhance TLS connections Summary: Also reviewed by Alexander Fomin and Andrew Gross Reviewed-by: wetmore changeset d65b9bf7ae81 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d65b9bf7ae81 author: malenkov date: Mon Sep 02 16:56:33 2013 +0400 8023245: Enhance Beans decoding Reviewed-by: art, skoivu, alanb changeset 90acfb0a002e in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=90acfb0a002e author: weijun date: Fri Sep 13 15:17:31 2013 +0800 8024306: Enhance Subject consistency Summary: Also reviewed by Alexander Fomin Reviewed-by: mullan, ahgross changeset 1d5230340e7d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1d5230340e7d author: xuelei date: Mon Oct 14 18:35:40 2013 -0700 8025026: Enhance canonicalization Summary: Don't use cached null xmlns definition. Also reviewed by Alexander Fomin Reviewed-by: mullan, hawtin changeset 8bd89b349b90 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8bd89b349b90 author: michaelm date: Fri Nov 01 10:40:56 2013 +0000 8011786: Better applet networking Summary: add checkListen() to client socket binds and new interpretation for port number 0 in SocketPermission Reviewed-by: chegar, alanb changeset ee86b2ab6f6f in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ee86b2ab6f6f author: lancea date: Thu Aug 15 11:46:56 2013 -0400 8022904: Enhance JDBC Parsers Reviewed-by: alanb, skoivu changeset 3abc29d93520 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3abc29d93520 author: vadim date: Fri Sep 13 12:52:24 2013 +0400 8023057: Enhance start up image display Reviewed-by: anthony, serb, mschoene changeset 54d28cbd45ab in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=54d28cbd45ab author: alanb date: Thu Oct 24 19:21:52 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oracle.com, mark.sheppard at oracle.com changeset 0c8fb2be1513 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=0c8fb2be1513 author: jfranck date: Fri Oct 11 11:22:21 2013 +0200 8023301: Enhance generic classes Reviewed-by: mchung, hawtin changeset 3f33242494f9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3f33242494f9 author: weijun date: Fri Sep 13 15:22:39 2013 +0800 8023672: Enhance jar file validation Summary: Also reviewed by Chris Ries and Alexander Fomin Reviewed-by: mullan, sherman changeset 28bcccb5c6f2 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=28bcccb5c6f2 author: weijun date: Thu Sep 19 10:40:16 2013 +0800 8024302: Clarify jar verifications 8023338: Update jarsigner to encourage timestamping Reviewed-by: mullan, ahgross changeset efb7a2cc14ed in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=efb7a2cc14ed author: prr date: Sun Oct 20 06:12:08 2013 -0700 8024530: Enhance font process resilience Reviewed-by: mschoene, bae, srl, prr changeset dbbdb5a3820d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=dbbdb5a3820d author: vadim date: Thu Sep 19 20:56:20 2013 +0400 8025034: Improve layout lookups Reviewed-by: mschoene, vadim, srl changeset 9019f15ab597 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9019f15ab597 author: dfuchs date: Mon Oct 07 12:09:22 2013 +0200 8024867: Enhance logging start up Reviewed-by: mchung, hawtin changeset 3662dd5d130b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3662dd5d130b author: weijun date: Thu Oct 17 09:58:42 2013 +0800 8025014: Enhance Security Policy 6727821: Enhance JAAS Configuration Reviewed-by: xuelei, hawtin changeset 64a944a312e7 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=64a944a312e7 author: xuelei date: Tue Oct 15 20:15:20 2013 -0700 8026204: Enhance auth login contexts Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross changeset 8619fc74e196 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8619fc74e196 author: xuelei date: Wed Oct 16 20:12:52 2013 -0700 8025758: Enhance Naming management Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross diffstat: make/common/Release.gmk | 4 - make/java/Makefile | 4 - src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m | 4 +- src/share/classes/com/sun/beans/decoder/DocumentHandler.java | 9 + src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java | 18 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java | 12 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java | 21 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java | 30 +- src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java | 3 - src/share/classes/com/sun/naming/internal/FactoryEnumeration.java | 19 +- src/share/classes/com/sun/naming/internal/VersionHelper12.java | 87 ++- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java | 2 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java | 88 +- src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java | 4 +- src/share/classes/java/lang/SecurityManager.java | 8 +- src/share/classes/java/net/Socket.java | 4 + src/share/classes/java/net/SocketPermission.java | 113 +++- src/share/classes/java/util/jar/JarVerifier.java | 4 +- src/share/classes/java/util/logging/LogManager.java | 18 + src/share/classes/javax/print/SimpleDoc.java | 5 +- src/share/classes/javax/security/auth/Policy.java | 56 +- src/share/classes/javax/security/auth/Subject.java | 4 + src/share/classes/javax/security/auth/login/Configuration.java | 47 +- src/share/classes/javax/security/auth/login/LoginContext.java | 154 ++-- src/share/classes/javax/sql/rowset/spi/SyncFactory.java | 26 +- src/share/classes/javax/swing/SwingUtilities.java | 2 + src/share/classes/javax/swing/event/EventListenerList.java | 5 +- src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 4 + src/share/classes/sun/nio/ch/SocketChannelImpl.java | 4 + src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java | 21 +- src/share/classes/sun/reflect/misc/ReflectUtil.java | 35 + src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java | 53 +- src/share/classes/sun/security/pkcs11/P11RSACipher.java | 27 +- src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java | 44 +- src/share/classes/sun/security/provider/ByteArrayAccess.java | 51 +- src/share/classes/sun/security/rsa/RSAPadding.java | 50 +- src/share/classes/sun/security/ssl/Handshaker.java | 88 +-- src/share/classes/sun/security/ssl/RSAClientKeyExchange.java | 151 ++-- src/share/classes/sun/security/tools/JarSigner.java | 107 ++- src/share/classes/sun/security/tools/JarSignerResources.java | 8 + src/share/classes/sun/security/util/SecurityConstants.java | 2 +- src/share/lib/security/java.policy | 69 +- src/share/lib/security/java.security-linux | 20 + src/share/lib/security/java.security-macosx | 22 + src/share/lib/security/java.security-solaris | 23 +- src/share/lib/security/java.security-windows | 20 + src/share/native/sun/awt/splashscreen/splashscreen_impl.c | 24 +- src/share/native/sun/font/layout/AlternateSubstSubtables.cpp | 2 +- src/share/native/sun/font/layout/AnchorTables.cpp | 44 +- src/share/native/sun/font/layout/AnchorTables.h | 15 +- src/share/native/sun/font/layout/ArabicLayoutEngine.cpp | 10 +- src/share/native/sun/font/layout/ArabicShaping.cpp | 3 +- src/share/native/sun/font/layout/CanonShaping.cpp | 2 +- src/share/native/sun/font/layout/CharSubstitutionFilter.h | 4 +- src/share/native/sun/font/layout/ClassDefinitionTables.h | 2 + src/share/native/sun/font/layout/ContextualSubstSubtables.cpp | 227 ++++-- src/share/native/sun/font/layout/ContextualSubstSubtables.h | 45 +- src/share/native/sun/font/layout/CoverageTables.cpp | 30 +- src/share/native/sun/font/layout/CoverageTables.h | 6 +- src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp | 14 +- src/share/native/sun/font/layout/DeviceTables.cpp | 9 +- src/share/native/sun/font/layout/DeviceTables.h | 2 +- src/share/native/sun/font/layout/ExtensionSubtables.cpp | 1 - src/share/native/sun/font/layout/ExtensionSubtables.h | 3 +- src/share/native/sun/font/layout/GDEFMarkFilter.cpp | 4 +- src/share/native/sun/font/layout/GDEFMarkFilter.h | 2 +- src/share/native/sun/font/layout/GlyphIterator.cpp | 3 +- src/share/native/sun/font/layout/GlyphIterator.h | 2 +- src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp | 16 +- src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp | 4 +- src/share/native/sun/font/layout/IndicLayoutEngine.cpp | 11 +- src/share/native/sun/font/layout/KernTable.cpp | 16 +- src/share/native/sun/font/layout/LEFontInstance.h | 8 +- src/share/native/sun/font/layout/LEGlyphFilter.h | 2 +- src/share/native/sun/font/layout/LEGlyphStorage.cpp | 3 +- src/share/native/sun/font/layout/LEGlyphStorage.h | 1 - src/share/native/sun/font/layout/LEScripts.h | 13 +- src/share/native/sun/font/layout/LEStandalone.h | 3 + src/share/native/sun/font/layout/LETableReference.h | 312 ++++++--- src/share/native/sun/font/layout/LETypes.h | 27 +- src/share/native/sun/font/layout/LayoutEngine.cpp | 33 +- src/share/native/sun/font/layout/LayoutEngine.h | 4 +- src/share/native/sun/font/layout/LigatureSubstSubtables.cpp | 16 +- src/share/native/sun/font/layout/LookupProcessor.cpp | 22 +- src/share/native/sun/font/layout/Lookups.cpp | 2 +- src/share/native/sun/font/layout/MarkArrays.cpp | 20 +- src/share/native/sun/font/layout/MarkArrays.h | 5 +- src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp | 28 +- src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp | 19 +- src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp | 20 +- src/share/native/sun/font/layout/MultipleSubstSubtables.cpp | 9 +- src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp | 5 + src/share/native/sun/font/layout/OpenTypeUtilities.h | 5 +- src/share/native/sun/font/layout/PairPositioningSubtables.cpp | 70 +- src/share/native/sun/font/layout/PairPositioningSubtables.h | 3 +- src/share/native/sun/font/layout/ScriptAndLanguage.cpp | 3 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp | 8 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.h | 8 +- src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp | 13 +- src/share/native/sun/font/layout/SinglePositioningSubtables.cpp | 4 +- src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp | 4 +- src/share/native/sun/font/layout/TibetanReordering.h | 2 +- src/share/native/sun/font/layout/ValueRecords.cpp | 40 +- src/share/native/sun/font/layout/ValueRecords.h | 8 +- src/solaris/classes/sun/nio/ch/SctpChannelImpl.java | 4 + src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c | 4 +- test/java/lang/SecurityManager/CheckPackageAccess.java | 1 + 111 files changed, 1813 insertions(+), 1005 deletions(-) diffs (truncated from 6346 to 500 lines): diff -r 89bf0c1f4e54 -r 8619fc74e196 make/common/Release.gmk --- a/make/common/Release.gmk Thu Dec 26 17:49:14 2013 +0000 +++ b/make/common/Release.gmk Wed Oct 16 20:12:52 2013 -0700 @@ -852,10 +852,6 @@ $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ -o meta-index *.jar @$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup) -ifeq ($(PLATFORM), macosx) - @#install jobjc, apple mac only - $(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar -endif # macosx ifeq ($(PLATFORM), windows) @# Remove certain *.lib files $(CD) $(JRE_IMAGE_DIR)/lib && \ diff -r 89bf0c1f4e54 -r 8619fc74e196 make/java/Makefile --- a/make/java/Makefile Thu Dec 26 17:49:14 2013 +0000 +++ b/make/java/Makefile Wed Oct 16 20:12:52 2013 -0700 @@ -57,10 +57,6 @@ SUBDIRS += jexec endif # PLATFORM -ifeq ($(PLATFORM), macosx) - SUBDIRS += jobjc -endif # PLATFORM - include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: diff -r 89bf0c1f4e54 -r 8619fc74e196 src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m --- a/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Thu Dec 26 17:49:14 2013 +0000 +++ b/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Wed Oct 16 20:12:52 2013 -0700 @@ -290,8 +290,8 @@ SplashUnlock(splash); rc = poll(pfd, 1, timeout); SplashLock(splash); - if (splash->isVisible>0 && SplashTime() >= splash->time + - splash->frames[splash->currentFrame].delay) { + if (splash->isVisible > 0 && splash->currentFrame >= 0 && + SplashTime() >= splash->time + splash->frames[splash->currentFrame].delay) { SplashNextFrame(splash); SplashRedrawWindow(splash); } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/beans/decoder/DocumentHandler.java --- a/src/share/classes/com/sun/beans/decoder/DocumentHandler.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/beans/decoder/DocumentHandler.java Wed Oct 16 20:12:52 2013 -0700 @@ -29,6 +29,7 @@ import java.beans.ExceptionListener; import java.io.IOException; +import java.io.StringReader; import java.lang.ref.Reference; import java.lang.ref.WeakReference; @@ -246,6 +247,14 @@ } /** + * Disables any external entities. + */ + @Override + public InputSource resolveEntity(String publicId, String systemId) { + return new InputSource(new StringReader("")); + } + + /** * Prepares this handler to read objects from XML document. */ @Override diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java --- a/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Wed Oct 16 20:12:52 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, 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 @@ -72,13 +72,17 @@ throw new IllegalStateException( "TlsRsaPremasterSecretGenerator must be initialized"); } - if (random == null) { - random = new SecureRandom(); + byte[] b = spec.getEncodedSecret(); + if (b == null) { + if (random == null) { + random = new SecureRandom(); + } + b = new byte[48]; + random.nextBytes(b); + b[0] = (byte)spec.getMajorVersion(); + b[1] = (byte)spec.getMinorVersion(); } - byte[] b = new byte[48]; - random.nextBytes(b); - b[0] = (byte)spec.getMajorVersion(); - b[1] = (byte)spec.getMinorVersion(); + return new SecretKeySpec(b, "TlsRsaPremasterSecret"); } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java Wed Oct 16 20:12:52 2013 -0700 @@ -27,17 +27,9 @@ // java imports // +import com.sun.jmx.snmp.SnmpDefinitions; import java.io.Serializable; -import java.util.Hashtable; -import java.util.Enumeration; - -// jmx imports -// -import com.sun.jmx.snmp.SnmpValue; -import com.sun.jmx.snmp.SnmpVarBind; import com.sun.jmx.snmp.SnmpStatusException; -import com.sun.jmx.snmp.agent.SnmpMibOid; -import com.sun.jmx.snmp.agent.SnmpMibNode; /** * Represents a node in an SNMP MIB which corresponds to a table entry @@ -99,7 +91,7 @@ */ public void validateVarId(long arc, Object userData) throws SnmpStatusException { - if (isVariable(arc) == false) throw noSuchNameException; + if (isVariable(arc) == false) throw new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName); } /** diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java Wed Oct 16 20:12:52 2013 -0700 @@ -116,7 +116,7 @@ public void validateVarId(long arc, Object userData) throws SnmpStatusException { if (isVariable(arc) == false) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } @@ -365,16 +365,16 @@ // The trailing .0 is missing in the OID if (depth+2 > length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // There are too many arcs left in the OID (there should remain // a single trailing .0) if (depth+2 < length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // The last trailing arc is not .0 if (oid[depth+1] != 0L) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // It's one of our variable, register this node. handlers.add(this,depth,varbind); @@ -397,7 +397,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -433,7 +433,7 @@ depth+1,handlers, checker); }catch(SnmpStatusException ex) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } finally { checker.remove(depth); } @@ -458,7 +458,7 @@ try { checker.checkCurrentOid(); } catch(SnmpStatusException e) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } finally { checker.remove(depth,2); } @@ -503,7 +503,7 @@ // The oid is not valid, we will throw an exception in order // to try with the next valid identifier... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } catch (SnmpStatusException e) { // We didn't find anything at the given arc, so we're going diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java Wed Oct 16 20:12:52 2013 -0700 @@ -155,7 +155,7 @@ long[] oid, int depth, SnmpRequestTree handlers) throws SnmpStatusException { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } /** @@ -183,7 +183,7 @@ long[] oid, int pos, int depth, SnmpRequestTree handlers, AcmChecker checker) throws SnmpStatusException { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } /** @@ -347,7 +347,7 @@ final int val= (int) value; if (a == null) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); int low= 0; int max= a.length; @@ -357,10 +357,10 @@ // Basic check // if (max < 1) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); if (a[max-1] <= val) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); while (low <= max) { elmt= a[curr]; @@ -400,15 +400,4 @@ * Contains the list of variable identifiers. */ protected int[] varList; - - /** - * Contains a predefined exception that is often fired when an - * object is not found in the MIB. - */ - static final protected SnmpStatusException noSuchInstanceException = - new SnmpStatusException(SnmpStatusException.noSuchInstance); - static final protected SnmpStatusException noSuchObjectException = - new SnmpStatusException(SnmpStatusException.noSuchObject); - static final protected SnmpStatusException noSuchNameException = - new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName); } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java Wed Oct 16 20:12:52 2013 -0700 @@ -157,11 +157,11 @@ if (depth > length) { // Nothing is left... the oid is not valid - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } else if (depth == length) { // The oid is not complete... - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } else { // Some children variable or subobject is being querried @@ -206,7 +206,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -231,7 +231,7 @@ // SnmpOid result = null; if (child == null) { // shouldn't happen - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // validateVarId(index); // handlers.add(this,varbind,depth); // result = new SnmpOid(0); @@ -442,10 +442,10 @@ // final int pos= getInsertAt(id); if (pos >= nbChildren) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); if (varList[pos] != (int) id) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // Access the node // @@ -453,10 +453,10 @@ try { child = children.elementAtNonSync(pos); } catch(ArrayIndexOutOfBoundsException e) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } if (child == null) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); return child; } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java Wed Oct 16 20:12:52 2013 -0700 @@ -279,7 +279,7 @@ SnmpVarBind var = null; for (Enumeration e= r.getElements(); e.hasMoreElements();) { var = (SnmpVarBind) e.nextElement(); - r.registerGetException(var,noSuchInstanceException); + r.registerGetException(var,new SnmpStatusException(SnmpStatusException.noSuchInstance)); } } @@ -1607,7 +1607,7 @@ throws SnmpStatusException { if (size == 0) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); final SnmpOid resOid = oid; @@ -1618,7 +1618,7 @@ if (last.equals(resOid)) { // Last element of the table ... // - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } // First find the oid. This will allow to speed up retrieval process @@ -1640,12 +1640,12 @@ // XX last = (SnmpOid) oids.elementAt(newPos); last = tableoids[newPos]; } catch(ArrayIndexOutOfBoundsException e) { - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } } else { // We are dealing with the last element of the table .. // - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } @@ -1668,7 +1668,7 @@ protected SnmpOid getNextOid(Object userData) throws SnmpStatusException { if (size == 0) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // XX return (SnmpOid) oids.firstElement(); return tableoids[0]; } @@ -1875,7 +1875,7 @@ if (!hasEntry) { if (!handlers.isCreationAllowed()) // we're not doing a set - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); else if (!isCreationEnabled()) // we're doing a set but creation is disabled. throw new @@ -1921,7 +1921,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -1955,7 +1955,7 @@ // so we won't find the next element in this table... (any // element in this table will have a smaller OID) // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } else if (oid[pos] < nodeId) { // we must return the first leaf under the first columnar // object, so we are back to our first case where pos was @@ -2046,7 +2046,7 @@ // must have the same holes) // if (skipEntryVariable(entryoid,var,data,pduVersion)) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } catch(SnmpStatusException se) { entryoid = getNextOid(data); var = getNextVarEntryId(entryoid,var,data,pduVersion); @@ -2079,7 +2079,7 @@ // So we throw the exception. // => will skip to next node in the MIB tree. // - if (entryoid == null || var == -1 ) throw noSuchObjectException; + if (entryoid == null || var == -1 ) throw new SnmpStatusException(SnmpStatusException.noSuchObject); // So here we know both the row (entryoid) and the column (var) @@ -2092,7 +2092,7 @@ // other entry => skip to next column. // if (!isReadableEntryId(entryoid,var,data)) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // Prepare the result and the ACM checker. // @@ -2156,7 +2156,7 @@ // => will skip to next node in the MIB tree. // if (entryoid == null || var == -1 ) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } } @@ -2177,12 +2177,12 @@ // Control the length of the oid // if (pos +2 >= length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // Check that the entry identifier is specified // if (oid[pos] != nodeId) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java --- a/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java Wed Oct 16 20:12:52 2013 -0700 @@ -1146,7 +1146,4 @@ static final private String InterruptSysCallMsg = "Interrupted system call"; - - static final private SnmpStatusException noSuchNameException = - new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName) ; } diff -r 89bf0c1f4e54 -r 8619fc74e196 src/share/classes/com/sun/naming/internal/FactoryEnumeration.java --- a/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java Thu Dec 26 17:49:14 2013 +0000 +++ b/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java Wed Oct 16 20:12:52 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2013, 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 @@ -29,10 +29,10 @@ import javax.naming.NamingException; /** - * The FactoryEnumeration is used for returning factory instances. - * - * @author Rosanna Lee - * @author Scott Seligman + * The FactoryEnumeration is used for returning factory instances. + * + * @author Rosanna Lee + * @author Scott Seligman */ // no need to implement Enumeration since this is only for internal use @@ -55,9 +55,12 @@ * references so as not to prevent GC of the class loader. Each * weak reference is tagged with the factory's class name so the * class can be reloaded if the reference is cleared. - + * * @param factories A non-null list * @param loader The class loader of the list's contents + * + * This internal method is used with Thread Context Class Loader (TCCL), + * please don't expose this method as public. From omajid at icedtea.classpath.org Tue Jan 14 13:06:23 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:06:23 +0000 Subject: /hg/release/icedtea7-forest-2.3/jaxp: 3 new changesets Message-ID: changeset 13618d6637f6 in /hg/release/icedtea7-forest-2.3/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxp?cmd=changeset;node=13618d6637f6 author: joehw date: Mon Aug 26 20:39:36 2013 -0700 8022935: Enhance Apache resolver classes Reviewed-by: alanb, mchung, skoivu changeset 29ea19c7c204 in /hg/release/icedtea7-forest-2.3/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxp?cmd=changeset;node=29ea19c7c204 author: joehw date: Tue Oct 22 12:59:33 2013 -0700 8025018: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, ahgross changeset 8bbd7289b29d in /hg/release/icedtea7-forest-2.3/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxp?cmd=changeset;node=8bbd7289b29d author: joehw date: Thu Nov 14 09:47:24 2013 -0800 8027201: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, hawtin diffstat: src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java | 44 ++--- src/com/sun/org/apache/xalan/internal/lib/Extensions.java | 68 ++------- src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java | 13 +- src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java | 21 +- src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java | 27 +-- 5 files changed, 65 insertions(+), 108 deletions(-) diffs (351 lines): diff -r 190a4ffa6a95 -r 8bbd7289b29d src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java --- a/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Mon Oct 21 16:53:24 2013 +0100 +++ b/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Thu Nov 14 09:47:24 2013 -0800 @@ -52,6 +52,8 @@ */ public class ExsltStrings extends ExsltBase { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; + /** * The str:align function aligns a string within another string. *

@@ -225,7 +227,7 @@ token = str.substring(fromIndex); } - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { Element element = doc.createElement("token"); @@ -289,7 +291,7 @@ { StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { while (lTokenizer.hasMoreTokens()) @@ -305,7 +307,7 @@ else { - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { for (int i = 0; i < toTokenize.length(); i++) @@ -327,31 +329,23 @@ { return tokenize(toTokenize, " \t\n\r"); } + /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static { - try - { - m_doc =DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + private static Document getDocument() + { + try + { + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } - } diff -r 190a4ffa6a95 -r 8bbd7289b29d src/com/sun/org/apache/xalan/internal/lib/Extensions.java --- a/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Mon Oct 21 16:53:24 2013 +0100 +++ b/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Thu Nov 14 09:47:24 2013 -0800 @@ -56,6 +56,7 @@ */ public class Extensions { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; /** * Constructor Extensions * @@ -114,23 +115,14 @@ // This no longer will work right since the DTM. // Document myDoc = myProcessor.getContextNode().getOwnerDocument(); - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - Document myDoc = db.newDocument(); + Document myDoc = getDocument(); - Text textNode = myDoc.createTextNode(textNodeValue); - DocumentFragment docFrag = myDoc.createDocumentFragment(); + Text textNode = myDoc.createTextNode(textNodeValue); + DocumentFragment docFrag = myDoc.createDocumentFragment(); - docFrag.appendChild(textNode); + docFrag.appendChild(textNode); - return new NodeSet(docFrag); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + return new NodeSet(docFrag); } } @@ -249,8 +241,7 @@ public static NodeList tokenize(String toTokenize, String delims) { - Document doc = DocumentHolder.m_doc; - + Document doc = getDocument(); StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); NodeSet resultSet = new NodeSet(); @@ -308,17 +299,7 @@ public static Node checkEnvironment(ExpressionContext myContext) { - Document factoryDocument; - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - factoryDocument = db.newDocument(); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + Document factoryDocument = getDocument(); Node resultNode = null; try @@ -391,30 +372,21 @@ } /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static + private static Document getDocument() + { + try { - try - { - m_doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } } diff -r 190a4ffa6a95 -r 8bbd7289b29d src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java --- a/src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java Mon Oct 21 16:53:24 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java Thu Nov 14 09:47:24 2013 -0800 @@ -24,20 +24,17 @@ package com.sun.org.apache.xml.internal.resolver; import com.sun.org.apache.xerces.internal.utils.SecuritySupport; +import com.sun.org.apache.xml.internal.resolver.helpers.BootstrapResolver; +import com.sun.org.apache.xml.internal.resolver.helpers.Debug; import java.io.InputStream; - +import java.net.MalformedURLException; import java.net.URL; -import java.net.MalformedURLException; - import java.util.MissingResourceException; import java.util.PropertyResourceBundle; import java.util.ResourceBundle; import java.util.StringTokenizer; import java.util.Vector; - -import com.sun.org.apache.xml.internal.resolver.helpers.Debug; -import com.sun.org.apache.xml.internal.resolver.helpers.BootstrapResolver; -import com.sun.org.apache.xml.internal.resolver.Catalog; +import sun.reflect.misc.ReflectUtil; /** * CatalogManager provides an interface to the catalog properties. @@ -687,7 +684,7 @@ catalog = new Catalog(); } else { try { - catalog = (Catalog) Class.forName(catalogClassName).newInstance(); + catalog = (Catalog) ReflectUtil.forName(catalogClassName).newInstance(); } catch (ClassNotFoundException cnfe) { debug.message(1,"Catalog class named '" + catalogClassName diff -r 190a4ffa6a95 -r 8bbd7289b29d src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java --- a/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java Mon Oct 21 16:53:24 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java Thu Nov 14 09:47:24 2013 -0800 @@ -23,24 +23,21 @@ package com.sun.org.apache.xml.internal.resolver.readers; -import java.util.Hashtable; +import com.sun.org.apache.xml.internal.resolver.Catalog; +import com.sun.org.apache.xml.internal.resolver.CatalogException; +import com.sun.org.apache.xml.internal.resolver.helpers.Namespaces; import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; -import java.net.MalformedURLException; - +import java.util.Hashtable; +import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.ParserConfigurationException; - -import com.sun.org.apache.xml.internal.resolver.Catalog; -import com.sun.org.apache.xml.internal.resolver.CatalogException; -import com.sun.org.apache.xml.internal.resolver.readers.CatalogReader; -import com.sun.org.apache.xml.internal.resolver.helpers.Namespaces; - +import org.w3c.dom.*; import org.xml.sax.SAXException; -import org.w3c.dom.*; +import sun.reflect.misc.ReflectUtil; /** * A DOM-based CatalogReader. @@ -199,7 +196,7 @@ DOMCatalogParser domParser = null; try { - domParser = (DOMCatalogParser) Class.forName(domParserClass).newInstance(); + domParser = (DOMCatalogParser) ReflectUtil.forName(domParserClass).newInstance(); } catch (ClassNotFoundException cnfe) { catalog.getCatalogManager().debug.message(1, "Cannot load XML Catalog Parser class", domParserClass); throw new CatalogException(CatalogException.UNPARSEABLE); diff -r 190a4ffa6a95 -r 8bbd7289b29d src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java --- a/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java Mon Oct 21 16:53:24 2013 +0100 +++ b/src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java Thu Nov 14 09:47:24 2013 -0800 @@ -23,19 +23,21 @@ package com.sun.org.apache.xml.internal.resolver.readers; -import java.util.Hashtable; +import com.sun.org.apache.xml.internal.resolver.Catalog; +import com.sun.org.apache.xml.internal.resolver.CatalogException; +import com.sun.org.apache.xml.internal.resolver.CatalogManager; +import com.sun.org.apache.xml.internal.resolver.helpers.Debug; +import java.io.FileNotFoundException; import java.io.IOException; -import java.io.FileNotFoundException; import java.io.InputStream; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; -import java.net.MalformedURLException; import java.net.UnknownHostException; - +import java.util.Hashtable; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import javax.xml.parsers.SAXParser; - import org.xml.sax.AttributeList; import org.xml.sax.Attributes; import org.xml.sax.ContentHandler; @@ -45,12 +47,7 @@ import org.xml.sax.Locator; import org.xml.sax.Parser; import org.xml.sax.SAXException; - -import com.sun.org.apache.xml.internal.resolver.Catalog; -import com.sun.org.apache.xml.internal.resolver.CatalogManager; -import com.sun.org.apache.xml.internal.resolver.CatalogException; -import com.sun.org.apache.xml.internal.resolver.readers.CatalogReader; -import com.sun.org.apache.xml.internal.resolver.helpers.Debug; +import sun.reflect.misc.ReflectUtil; /** * A SAX-based CatalogReader. @@ -246,7 +243,7 @@ } parser.parse(new InputSource(is), spHandler); } else { - Parser parser = (Parser) Class.forName(parserClass).newInstance(); + Parser parser = (Parser) ReflectUtil.forName(parserClass).newInstance(); parser.setDocumentHandler(this); if (bResolver != null) { parser.setEntityResolver(bResolver); @@ -352,7 +349,7 @@ try { saxParser = (SAXCatalogParser) - Class.forName(saxParserClass).newInstance(); + ReflectUtil.forName(saxParserClass).newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); @@ -413,7 +410,7 @@ try { saxParser = (SAXCatalogParser) - Class.forName(saxParserClass).newInstance(); + ReflectUtil.forName(saxParserClass).newInstance(); saxParser.setCatalog(catalog); saxParser.startDocument(); From omajid at icedtea.classpath.org Tue Jan 14 13:06:20 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:06:20 +0000 Subject: /hg/release/icedtea7-forest-2.3/hotspot: 8021271: Better bufferi... Message-ID: changeset b23760b457ce in /hg/release/icedtea7-forest-2.3/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=b23760b457ce author: coleenp date: Mon Sep 16 14:22:43 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com diffstat: src/share/vm/runtime/os.cpp | 3 --- 1 files changed, 0 insertions(+), 3 deletions(-) diffs (13 lines): diff -r db4c82656465 -r b23760b457ce src/share/vm/runtime/os.cpp --- a/src/share/vm/runtime/os.cpp Tue Nov 12 17:58:35 2013 +0000 +++ b/src/share/vm/runtime/os.cpp Mon Sep 16 14:22:43 2013 -0400 @@ -1105,9 +1105,6 @@ "%/lib/plugin.jar:" "%/lib/rhino.jar:" "%/lib/jfr.jar:" -#ifdef __APPLE__ - "%/lib/JObjC.jar:" -#endif "%/classes"; char* sysclasspath = format_boot_path(classpath_format, home, home_len, fileSep, pathSep); if (sysclasspath == NULL) return false; From omajid at icedtea.classpath.org Tue Jan 14 13:06:17 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:06:17 +0000 Subject: /hg/release/icedtea7-forest-2.3/corba: 3 new changesets Message-ID: changeset 2f465704e765 in /hg/release/icedtea7-forest-2.3/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/corba?cmd=changeset;node=2f465704e765 author: alanb date: Tue Oct 22 11:40:27 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oralce.com, mark.sheppard at oracle.com changeset 70167dc19126 in /hg/release/icedtea7-forest-2.3/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/corba?cmd=changeset;node=70167dc19126 author: msheppar date: Sat Nov 02 01:24:03 2013 +0000 8025767: Enhance IIOP Streams Summary: modify org.omg.CORBA_2_3.portable.InputStream inheritance structure. Reviewed-by: alanb, coffeys, skoivu changeset d07caee626d9 in /hg/release/icedtea7-forest-2.3/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/corba?cmd=changeset;node=d07caee626d9 author: msheppar date: Sat Nov 02 01:07:53 2013 +0000 8026193: Enhance CORBA stub factories Summary: modify com.sun.corba.se.impl.presenetation.rmi.StubFactoryDynamicBase inheritance structure. Reviewed-by: alanb, coffeys, ahgross diffstat: src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java | 7 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java | 8 +- src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java | 7 +- src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java | 2 +- src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java | 8 +- src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java | 24 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java | 7 +- src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java | 35 +- src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java | 8 +- src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContexts.java | 15 +- src/share/classes/javax/rmi/CORBA/Stub.java | 8 +- src/share/classes/javax/rmi/CORBA/Util.java | 13 +- src/share/classes/javax/rmi/PortableRemoteObject.java | 11 +- src/share/classes/org/omg/CORBA/ORB.java | 34 +- src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java | 43 ++- src/share/classes/sun/corba/EncapsInputStreamFactory.java | 153 ++++++++++ 23 files changed, 360 insertions(+), 111 deletions(-) diffs (truncated from 1001 to 500 lines): diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java --- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -82,11 +82,18 @@ super((ORB)orb); } - public org.omg.CORBA.portable.InputStream create_input_stream() - { - return new AnyInputStream( - (com.sun.corba.se.impl.encoding.EncapsInputStream) - super.create_input_stream()); + public org.omg.CORBA.portable.InputStream create_input_stream() { + final org.omg.CORBA.portable.InputStream is = super + .create_input_stream(); + AnyInputStream aIS = AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public AnyInputStream run() { + return new AnyInputStream( + (com.sun.corba.se.impl.encoding.EncapsInputStream) is); + } + }); + return aIS; } } diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -36,11 +36,10 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.logging.CORBALogDomains; - import com.sun.corba.se.impl.logging.ORBUtilSystemException; +import sun.corba.EncapsInputStreamFactory; /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -148,7 +147,7 @@ } public CDRInputStream dup() { - return new EncapsInputStream(this); + return EncapsInputStreamFactory.newEncapsInputStream(this); } protected CodeSetConversion.BTCConverter createCharBTCConverter() { diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -39,6 +39,8 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.orbutil.ORBConstants; +import sun.corba.EncapsInputStreamFactory; + /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -107,11 +109,11 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { freeInternalCaches(); - return new EncapsInputStream(orb(), - getByteBuffer(), - getSize(), - isLittleEndian(), - getGIOPVersion()); + return EncapsInputStreamFactory.newEncapsInputStream(orb(), + getByteBuffer(), + getSize(), + isLittleEndian(), + getGIOPVersion()); } protected CodeSetConversion.CTBConverter createCharCTBConverter() { diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, 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 @@ -64,6 +64,8 @@ import com.sun.corba.se.impl.encoding.CDROutputStream; import com.sun.corba.se.impl.encoding.MarshalInputStream; +import sun.corba.EncapsInputStreamFactory; + public class TypeCodeInputStream extends EncapsInputStream implements TypeCodeReader { private Map typeMap = null; @@ -157,11 +159,13 @@ // create an encapsulation using the marshal buffer if (is instanceof CDRInputStream) { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length, - ((CDRInputStream)is).isLittleEndian(), - ((CDRInputStream)is).getGIOPVersion()); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length, + ((CDRInputStream) is).isLittleEndian(), + ((CDRInputStream) is).getGIOPVersion()); } else { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length); } encap.setEnclosingInputStream(is); encap.makeEncapsulation(); diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -61,6 +61,8 @@ import java.math.BigInteger; import java.nio.ByteBuffer; +import sun.corba.EncapsInputStreamFactory; + public final class TypeCodeOutputStream extends EncapsOutputStream { private OutputStream enclosure = null; @@ -77,9 +79,9 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { - //return new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian()); - TypeCodeInputStream tcis - = new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian(), getGIOPVersion()); + TypeCodeInputStream tcis = EncapsInputStreamFactory + .newTypeCodeInputStream((ORB) orb(), getByteBuffer(), + getIndex(), isLittleEndian(), getGIOPVersion()); //if (TypeCodeImpl.debug) { //System.out.println("Created TypeCodeInputStream " + tcis + " with no parent"); //tcis.printBuffer(); diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java --- a/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Sat Nov 02 01:07:53 2013 +0000 @@ -33,6 +33,8 @@ import com.sun.corba.se.spi.ior.iiop.GIOPVersion; import com.sun.corba.se.spi.logging.CORBALogDomains; +import sun.corba.EncapsInputStreamFactory; + import com.sun.corba.se.impl.corba.AnyImpl; import com.sun.corba.se.impl.encoding.EncapsInputStream; import com.sun.corba.se.impl.encoding.EncapsOutputStream; @@ -193,8 +195,9 @@ // it is turned into a FormatMismatch exception. try { - EncapsInputStream cdrIn = new EncapsInputStream( orb, data, - data.length, giopVersion ); + EncapsInputStream cdrIn = EncapsInputStreamFactory.newEncapsInputStream( orb, data, + data.length, giopVersion ); + cdrIn.consumeEndian(); diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2013, 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 @@ -370,7 +370,7 @@ * @exception IOException Any of the usual Input/Output related exceptions. * @since JDK1.1 */ - public final Object readObjectDelegate() throws IOException + public final synchronized Object readObjectDelegate() throws IOException { try { @@ -389,7 +389,7 @@ } } - final Object simpleReadObject(Class clz, + final synchronized Object simpleReadObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -461,7 +461,7 @@ return obj; } - public final void simpleSkipObject(String repositoryID, + public final synchronized void simpleSkipObject(String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender) /* throws OptionalDataException, ClassNotFoundException, IOException */ { @@ -559,7 +559,7 @@ * objects. * @since JDK1.1 */ - public final void defaultReadObjectDelegate() + final synchronized void defaultReadObjectDelegate() /* throws IOException, ClassNotFoundException, NotActiveException */ { try { @@ -988,7 +988,7 @@ } } - private Object inputObject(Class clz, + private synchronized Object inputObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -1317,7 +1317,7 @@ * a form of custom marshaling. * */ - private Object inputObjectUsingFVD(Class clz, + private synchronized Object inputObjectUsingFVD(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java --- a/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Sat Nov 02 01:07:53 2013 +0000 @@ -201,7 +201,7 @@ readObjectState.endDefaultReadObject(this); } - public abstract void defaultReadObjectDelegate(); + abstract void defaultReadObjectDelegate(); abstract void readFields(java.util.Map fieldToValueMap) throws java.io.InvalidClassException, java.io.StreamCorruptedException, diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java --- a/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -47,6 +47,8 @@ import com.sun.corba.se.impl.encoding.EncapsOutputStream ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** * This static utility class contains various utility methods for reading and * writing CDR encapsulations. @@ -108,8 +110,8 @@ static public InputStream getEncapsulationStream( InputStream is ) { byte[] data = readOctets( is ) ; - EncapsInputStream result = new EncapsInputStream( is.orb(), data, - data.length ) ; + EncapsInputStream result = EncapsInputStreamFactory.newEncapsInputStream( is.orb(), data, + data.length ) ; result.consumeEndian() ; return result ; } diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java --- a/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -49,6 +49,8 @@ import com.sun.corba.se.impl.logging.IORSystemException ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** Based on the magic and scid, return the appropriate * ObjectKeyTemplate. Expects to be called with a valid @@ -217,7 +219,7 @@ public ObjectKey create( byte[] key ) { OctetSeqHolder osh = new OctetSeqHolder() ; - EncapsInputStream is = new EncapsInputStream( orb, key, key.length ) ; + EncapsInputStream is = EncapsInputStreamFactory.newEncapsInputStream( orb, key, key.length ); ObjectKeyTemplate oktemp = create( is, fullKey, osh ) ; if (oktemp == null) diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java --- a/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -70,6 +70,8 @@ import com.sun.corba.se.impl.encoding.EncapsInputStream ; import com.sun.corba.se.impl.encoding.EncapsOutputStream ; +import sun.corba.EncapsInputStreamFactory; + import com.sun.corba.se.impl.util.JDKBridge; import com.sun.corba.se.impl.logging.IORSystemException; @@ -170,8 +172,8 @@ throw wrapper.invalidTaggedProfile() ; } - EncapsInputStream istr = new EncapsInputStream((ORB)orb, profile.profile_data, - profile.profile_data.length); + EncapsInputStream istr = EncapsInputStreamFactory.newEncapsInputStream((ORB)orb, profile.profile_data, + profile.profile_data.length); istr.consumeEndian(); init( istr ) ; } diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,6 +25,7 @@ package com.sun.corba.se.impl.presentation.rmi ; +import java.io.SerializablePermission; import java.lang.reflect.InvocationHandler ; import java.lang.reflect.Proxy ; @@ -38,11 +39,18 @@ { protected final ClassLoader loader ; - public StubFactoryDynamicBase( PresentationManager.ClassData classData, - ClassLoader loader ) - { - super( classData ) ; + private static Void checkPermission() { + SecurityManager sm = System.getSecurityManager(); + if (sm != null) { + sm.checkPermission(new SerializablePermission( + "enableSubclassImplementation")); + } + return null; + } + private StubFactoryDynamicBase(Void unused, + PresentationManager.ClassData classData, ClassLoader loader) { + super(classData); // this.loader must not be null, or the newProxyInstance call // will fail. if (loader == null) { @@ -55,5 +63,11 @@ } } + public StubFactoryDynamicBase( PresentationManager.ClassData classData, + ClassLoader loader ) + { + this (checkPermission(), classData, loader); + } + public abstract org.omg.CORBA.Object makeStub() ; } diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 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 @@ -25,14 +25,23 @@ package com.sun.corba.se.impl.presentation.rmi; +import java.security.AccessController; +import java.security.PrivilegedAction; + import com.sun.corba.se.spi.presentation.rmi.PresentationManager ; public class StubFactoryFactoryProxyImpl extends StubFactoryFactoryDynamicBase { public PresentationManager.StubFactory makeDynamicStubFactory( - PresentationManager pm, PresentationManager.ClassData classData, - ClassLoader classLoader ) + PresentationManager pm, final PresentationManager.ClassData classData, + final ClassLoader classLoader ) { - return new StubFactoryProxyImpl( classData, classLoader ) ; + return AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public StubFactoryProxyImpl run() { + return new StubFactoryProxyImpl(classData, classLoader); + } + }); } } diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java --- a/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -115,6 +115,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.ConcurrentHashMap; +import sun.corba.EncapsInputStreamFactory; /** * ClientDelegate is the RMI client-side subcontract or representation @@ -847,8 +848,8 @@ } byte[] data = ((UnknownServiceContext)sc).getData(); EncapsInputStream in = - new EncapsInputStream((ORB)messageMediator.getBroker(), - data, data.length); + EncapsInputStreamFactory.newEncapsInputStream((ORB)messageMediator.getBroker(), + data, data.length); in.consumeEndian(); String msg = diff -r 3850cca0da9a -r d07caee626d9 src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java --- a/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java Mon Aug 19 17:01:51 2013 +0100 +++ b/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java Sat Nov 02 01:07:53 2013 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2013, 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 @@ -36,7 +36,8 @@ import java.util.Iterator; import java.rmi.RemoteException; import java.nio.ByteBuffer; - +import java.security.AccessController; +import java.security.PrivilegedAction; import javax.rmi.CORBA.Util; import javax.rmi.CORBA.Tie; @@ -111,6 +112,7 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.ProfileAddr; import com.sun.corba.se.impl.protocol.giopmsgheaders.ReferenceAddr; import com.sun.corba.se.impl.transport.CorbaContactInfoListIteratorImpl; +import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.util.JDKBridge; /** @@ -156,10 +158,17 @@ ByteBufferWithInfo bbwi = cdrOutputObject.getByteBufferWithInfo(); cdrOutputObject.getMessageHeader().setSize(bbwi.byteBuffer, bbwi.getSize()); - - CDRInputObject cdrInputObject = - new CDRInputObject(orb, null, bbwi.byteBuffer, - cdrOutputObject.getMessageHeader()); + final ORB inOrb = orb; + final ByteBuffer inBuffer = bbwi.byteBuffer; + final Message inMsg = cdrOutputObject.getMessageHeader(); + CDRInputObject cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public CDRInputObject run() { From omajid at icedtea.classpath.org Tue Jan 14 13:06:27 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:06:27 +0000 Subject: /hg/release/icedtea7-forest-2.3/jaxws: 2 new changesets Message-ID: changeset 94f02a325b7f in /hg/release/icedtea7-forest-2.3/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxws?cmd=changeset;node=94f02a325b7f author: mkos date: Wed Oct 16 10:23:23 2013 -0400 8010935: Better XML handling Reviewed-by: mchung, mgrebac, mullan changeset 9801349b6b81 in /hg/release/icedtea7-forest-2.3/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxws?cmd=changeset;node=9801349b6b81 author: mullan date: Thu Oct 17 17:37:46 2013 -0400 8026826: JDK 7 fix for 8010935 broke the build Reviewed-by: prr diffstat: src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java | 10 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java | 5 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java | 12 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java | 62 +++++- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java | 7 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java | 13 +- src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java | 4 +- 29 files changed, 702 insertions(+), 119 deletions(-) diffs (truncated from 1461 to 500 lines): diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java --- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -71,8 +71,7 @@ * * @author Kohsuke Kawaguchi (kk at kohsuke.org) */ -public class APTNavigator implements Navigator { - +public final class APTNavigator implements Navigator { private final AnnotationProcessorEnvironment env; private final PrimitiveType primitiveByte; @@ -277,8 +276,9 @@ return clazz.getPackage().getQualifiedName(); } - public TypeDeclaration findClass(String className, TypeDeclaration referencePoint) { - return env.getTypeDeclaration(className); + @Override + public TypeDeclaration loadObjectFactory(TypeDeclaration referencePoint, String packageName) { + return env.getTypeDeclaration(packageName + ".ObjectFactory"); } public boolean isBridgeMethod(MethodDeclaration method) { diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -30,7 +30,6 @@ import com.sun.codemodel.internal.JType; import com.sun.tools.internal.xjc.outline.Aspect; import com.sun.tools.internal.xjc.outline.Outline; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; /** * @author Kohsuke Kawaguchi @@ -69,6 +68,6 @@ } public String fullName() { - return Navigator.REFLECTION.getTypeName(t); + return Utils.REFLECTION_NAVIGATOR.getTypeName(t); } } diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -56,7 +56,7 @@ EagerNType ent = (EagerNType) nt; if (base instanceof EagerNClass) { EagerNClass enc = (EagerNClass) base; - return create(REFLECTION.getBaseClass(ent.t, enc.c)); + return create(Utils.REFLECTION_NAVIGATOR.getBaseClass(ent.t, enc.c)); } // lazy class can never be a base type of an eager type return null; @@ -176,7 +176,7 @@ public NType getTypeArgument(NType nt, int i) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return create(REFLECTION.getTypeArgument(ent.t,i)); + return create(Utils.REFLECTION_NAVIGATOR.getTypeArgument(ent.t,i)); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -189,7 +189,7 @@ public boolean isParameterizedType(NType nt) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return REFLECTION.isParameterizedType(ent.t); + return Utils.REFLECTION_NAVIGATOR.isParameterizedType(ent.t); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -303,8 +303,8 @@ throw new UnsupportedOperationException(); } - public NClass findClass(String className, NClass referencePoint) { - // TODO: implement this method later + @Override + public NClass loadObjectFactory(NClass referencePoint, String pkg) { throw new UnsupportedOperationException(); } diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java Thu Oct 17 17:37:46 2013 -0400 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.tools.internal.xjc.model.nav; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -45,7 +45,6 @@ import com.sun.xml.internal.bind.api.impl.NameConverter; import com.sun.xml.internal.bind.v2.ContextFactory; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet; /** @@ -404,7 +403,7 @@ * @since 2.0 FCS */ public static @Nullable Type getBaseType(@NotNull Type type, @NotNull Class baseType) { - return Navigator.REFLECTION.getBaseClass(type,baseType); + return Utils.REFLECTION_NAVIGATOR.getBaseClass(type, baseType); } diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -31,8 +31,6 @@ import javax.xml.namespace.QName; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; - /** * A reference to a JAXB-bound type. * @@ -104,11 +102,10 @@ // if we are to reinstitute this check, check JAXB annotations only // assert annotations.length==0; // not designed to work with adapters. - Type base = Navigator.REFLECTION.getBaseClass(type, Collection.class); + Type base = Utils.REFLECTION_NAVIGATOR.getBaseClass(type, Collection.class); if(base==null) return this; // not a collection - return new TypeReference(tagName, - Navigator.REFLECTION.getTypeArgument(base,0)); + return new TypeReference(tagName, Utils.REFLECTION_NAVIGATOR.getTypeArgument(base,0)); } } diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java Thu Oct 17 17:37:46 2013 -0400 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.xml.internal.bind.api; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Thu Oct 17 17:37:46 2013 -0400 @@ -235,7 +235,7 @@ String pkg = nav.getPackageName(ci.getClazz()); if(!registries.containsKey(pkg)) { // insert the package's object factory - C c = loadObjectFactory(ci, pkg); + C c = nav.loadObjectFactory(clazz, pkg); if(c!=null) addRegistry(c,(Locatable)p); } @@ -264,15 +264,6 @@ return r; } - private C loadObjectFactory(ClassInfoImpl ci, String pkg) { - try { - return nav.findClass(pkg + ".ObjectFactory", ci.getClazz()); - } catch (SecurityException ignored) { - // treat SecurityException in same way as ClassNotFoundException in this case - return null; - } - } - /** * Checks the uniqueness of the type name. */ diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -27,7 +27,6 @@ import java.lang.reflect.Type; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.runtime.Transducer; @@ -36,7 +35,7 @@ */ final class RuntimeAnyTypeImpl extends AnyTypeImpl implements RuntimeNonElement { private RuntimeAnyTypeImpl() { - super(Navigator.REFLECTION); + super(Utils.REFLECTION_NAVIGATOR); } public Transducer getTransducer() { diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -42,7 +42,6 @@ import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeRef; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationException; import com.sun.xml.internal.bind.v2.runtime.Transducer; import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor; @@ -122,7 +121,7 @@ } public Class getType() { - return Navigator.REFLECTION.erasure(super.getType()); + return (Class) Utils.REFLECTION_NAVIGATOR.erasure(super.getType()); } public RuntimeClassInfo getScope() { diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -37,8 +37,6 @@ import com.sun.xml.internal.bind.v2.model.annotation.Locatable; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; import com.sun.xml.internal.bind.v2.model.core.ID; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; -import com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElementRef; import com.sun.xml.internal.bind.v2.model.runtime.RuntimePropertyInfo; @@ -75,7 +73,7 @@ public final @Nullable JAXBContextImpl context; public RuntimeModelBuilder(JAXBContextImpl context, RuntimeAnnotationReader annotationReader, Map subclassReplacements, String defaultNamespaceRemap) { - super(annotationReader, Navigator.REFLECTION, subclassReplacements, defaultNamespaceRemap); + super(annotationReader, Utils.REFLECTION_NAVIGATOR, subclassReplacements, defaultNamespaceRemap); this.context = context; } @@ -109,10 +107,6 @@ return new RuntimeArrayInfoImpl(this, upstream, (Class)arrayType); } - public ReflectionNavigator getNavigator() { - return (ReflectionNavigator)nav; - } - @Override protected RuntimeTypeInfoSetImpl createTypeInfoSet() { return new RuntimeTypeInfoSetImpl(reader); diff -r bb0717b2e410 -r 9801349b6b81 src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java Thu Aug 01 15:41:32 2013 -0400 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java Thu Oct 17 17:37:46 2013 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -34,9 +34,6 @@ import com.sun.xml.internal.bind.v2.model.annotation.AnnotationReader; import com.sun.xml.internal.bind.v2.model.core.TypeInfoSet; -import com.sun.xml.internal.bind.v2.model.core.NonElement; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; -import com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeNonElement; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet; @@ -47,7 +44,7 @@ */ final class RuntimeTypeInfoSetImpl extends TypeInfoSetImpl implements RuntimeTypeInfoSet { public RuntimeTypeInfoSetImpl(AnnotationReader reader) { - super(Navigator.REFLECTION,reader,RuntimeBuiltinLeafInfoImpl.LEAVES); + super(Utils.REFLECTION_NAVIGATOR,reader,RuntimeBuiltinLeafInfoImpl.LEAVES); } @Override @@ -55,10 +52,6 @@ return RuntimeAnyTypeImpl.theInstance; } - public ReflectionNavigator getNavigator() { - return (ReflectionNavigator)super.getNavigator(); From omajid at icedtea.classpath.org Tue Jan 14 13:06:34 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:06:34 +0000 Subject: /hg/release/icedtea7-forest-2.3/jdk: 26 new changesets Message-ID: changeset 57edb17161c9 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=57edb17161c9 author: coleenp date: Mon Sep 16 14:22:17 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com changeset d55cba0ac5ee in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=d55cba0ac5ee author: malenkov date: Wed Oct 16 14:02:44 2013 +0400 8026172: Enhance UI Management Reviewed-by: art, skoivu changeset dde6bfc7db83 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=dde6bfc7db83 author: sjiang date: Mon Oct 21 17:47:56 2013 +0200 7068126: Enhance SNMP statuses Reviewed-by: dfuchs, hawtin changeset d04d931b7a1d in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=d04d931b7a1d author: valeriep date: Wed Aug 21 12:07:31 2013 -0700 8022927: Input validation for byte/endian conversions Summary: Add additional boundary checks Reviewed-by: ascarpino changeset 00ec3b798e53 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=00ec3b798e53 author: malenkov date: Fri Oct 04 19:39:59 2013 +0400 8025448: Enhance listening events Reviewed-by: art, skoivu changeset 3dd8ae9c848c in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=3dd8ae9c848c author: prr date: Tue Oct 15 11:34:38 2013 -0700 8026176: Enhance document printing Reviewed-by: bae, jgodinez changeset 4d306e39ea23 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=4d306e39ea23 author: xuelei date: Wed Oct 23 21:32:52 2013 -0700 8026417: Enhance XML canonicalization Summary: Copy before use mutable byte arrays. Also reviewed by Alexander Fomin Reviewed-by: weijun, mullan, hawtin, ahgross changeset 071079886c88 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=071079886c88 author: weijun date: Mon Aug 19 22:43:32 2013 +0800 8022945: Enhance JNDI implementation classes Reviewed-by: xuelei, ahgross, skoivu changeset f7ea2b8a1b7c in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=f7ea2b8a1b7c author: xuelei date: Thu Sep 05 18:17:49 2013 -0700 8023069: Enhance TLS connections Summary: Also reviewed by Alexander Fomin and Andrew Gross Reviewed-by: wetmore changeset 9716ade5079d in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=9716ade5079d author: malenkov date: Mon Sep 02 16:56:33 2013 +0400 8023245: Enhance Beans decoding Reviewed-by: art, skoivu, alanb changeset 8903edf477cf in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=8903edf477cf author: weijun date: Fri Sep 13 15:17:31 2013 +0800 8024306: Enhance Subject consistency Summary: Also reviewed by Alexander Fomin Reviewed-by: mullan, ahgross changeset c31a79eedba2 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=c31a79eedba2 author: xuelei date: Mon Oct 14 18:35:40 2013 -0700 8025026: Enhance canonicalization Summary: Don't use cached null xmlns definition. Also reviewed by Alexander Fomin Reviewed-by: mullan, hawtin changeset 458e5fe61d94 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=458e5fe61d94 author: michaelm date: Fri Nov 01 10:40:56 2013 +0000 8011786: Better applet networking Summary: add checkListen() to client socket binds and new interpretation for port number 0 in SocketPermission Reviewed-by: chegar, alanb changeset a046c79c8c9a in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=a046c79c8c9a author: lancea date: Thu Aug 15 11:46:56 2013 -0400 8022904: Enhance JDBC Parsers Reviewed-by: alanb, skoivu changeset 2b5afe7f00cd in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=2b5afe7f00cd author: vadim date: Fri Sep 13 12:52:24 2013 +0400 8023057: Enhance start up image display Reviewed-by: anthony, serb, mschoene changeset d0208369f7cb in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=d0208369f7cb author: alanb date: Thu Oct 24 19:21:52 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oracle.com, mark.sheppard at oracle.com changeset 4e22c127db00 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=4e22c127db00 author: jfranck date: Fri Oct 11 11:22:21 2013 +0200 8023301: Enhance generic classes Reviewed-by: mchung, hawtin changeset 70e4b7565ed7 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=70e4b7565ed7 author: weijun date: Fri Sep 13 15:22:39 2013 +0800 8023672: Enhance jar file validation Summary: Also reviewed by Chris Ries and Alexander Fomin Reviewed-by: mullan, sherman changeset 5f85d1b98239 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=5f85d1b98239 author: weijun date: Tue Mar 06 10:25:45 2012 +0800 7149012: jarsigner needs not warn about cert expiration if the jar has a TSA timestamp Reviewed-by: xuelei changeset d53388381f50 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=d53388381f50 author: weijun date: Thu Sep 19 10:40:16 2013 +0800 8024302: Clarify jar verifications 8023338: Update jarsigner to encourage timestamping Reviewed-by: mullan, ahgross changeset 47e0b80c2703 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=47e0b80c2703 author: prr date: Sun Oct 20 06:12:08 2013 -0700 8024530: Enhance font process resilience Reviewed-by: mschoene, bae, srl, prr changeset 97c4591b09c5 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=97c4591b09c5 author: vadim date: Thu Sep 19 20:56:20 2013 +0400 8025034: Improve layout lookups Reviewed-by: mschoene, vadim, srl changeset 3de6d912bc22 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=3de6d912bc22 author: dfuchs date: Mon Oct 07 12:09:22 2013 +0200 8024867: Enhance logging start up Reviewed-by: mchung, hawtin changeset 244a3e80cde3 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=244a3e80cde3 author: weijun date: Thu Oct 17 09:58:42 2013 +0800 8025014: Enhance Security Policy 6727821: Enhance JAAS Configuration Reviewed-by: xuelei, hawtin changeset 4fb87e6ed389 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=4fb87e6ed389 author: xuelei date: Tue Oct 15 20:15:20 2013 -0700 8026204: Enhance auth login contexts Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross changeset acce97b20885 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=acce97b20885 author: xuelei date: Wed Oct 16 20:12:52 2013 -0700 8025758: Enhance Naming management Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross diffstat: make/common/Release.gmk | 4 - make/java/Makefile | 4 - src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m | 4 +- src/share/classes/com/sun/beans/decoder/DocumentHandler.java | 9 + src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java | 18 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java | 12 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java | 21 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java | 30 +- src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java | 3 - src/share/classes/com/sun/naming/internal/FactoryEnumeration.java | 19 +- src/share/classes/com/sun/naming/internal/VersionHelper12.java | 87 ++- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java | 2 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java | 88 +- src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java | 4 +- src/share/classes/java/lang/SecurityManager.java | 8 +- src/share/classes/java/net/Socket.java | 4 + src/share/classes/java/net/SocketPermission.java | 113 +++- src/share/classes/java/util/jar/JarVerifier.java | 4 +- src/share/classes/java/util/logging/LogManager.java | 18 + src/share/classes/javax/print/SimpleDoc.java | 5 +- src/share/classes/javax/security/auth/Policy.java | 56 +- src/share/classes/javax/security/auth/Subject.java | 4 + src/share/classes/javax/security/auth/login/Configuration.java | 47 +- src/share/classes/javax/security/auth/login/LoginContext.java | 154 ++-- src/share/classes/javax/sql/rowset/spi/SyncFactory.java | 26 +- src/share/classes/javax/swing/SwingUtilities.java | 2 + src/share/classes/javax/swing/event/EventListenerList.java | 5 +- src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 4 + src/share/classes/sun/nio/ch/SocketChannelImpl.java | 4 + src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java | 21 +- src/share/classes/sun/reflect/misc/ReflectUtil.java | 35 + src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java | 53 +- src/share/classes/sun/security/pkcs11/P11RSACipher.java | 27 +- src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java | 44 +- src/share/classes/sun/security/provider/ByteArrayAccess.java | 51 +- src/share/classes/sun/security/rsa/RSAPadding.java | 50 +- src/share/classes/sun/security/ssl/Handshaker.java | 88 +-- src/share/classes/sun/security/ssl/RSAClientKeyExchange.java | 151 ++-- src/share/classes/sun/security/tools/JarSigner.java | 189 ++++- src/share/classes/sun/security/tools/JarSignerResources.java | 8 + src/share/classes/sun/security/util/SecurityConstants.java | 2 +- src/share/lib/security/java.policy | 69 +- src/share/lib/security/java.security | 20 + src/share/lib/security/java.security-macosx | 22 + src/share/lib/security/java.security-solaris | 23 +- src/share/lib/security/java.security-windows | 20 + src/share/native/sun/awt/splashscreen/splashscreen_impl.c | 24 +- src/share/native/sun/font/layout/AlternateSubstSubtables.cpp | 2 +- src/share/native/sun/font/layout/AnchorTables.cpp | 44 +- src/share/native/sun/font/layout/AnchorTables.h | 15 +- src/share/native/sun/font/layout/ArabicLayoutEngine.cpp | 10 +- src/share/native/sun/font/layout/ArabicShaping.cpp | 3 +- src/share/native/sun/font/layout/CanonShaping.cpp | 2 +- src/share/native/sun/font/layout/CharSubstitutionFilter.h | 4 +- src/share/native/sun/font/layout/ClassDefinitionTables.h | 2 + src/share/native/sun/font/layout/ContextualSubstSubtables.cpp | 227 ++++-- src/share/native/sun/font/layout/ContextualSubstSubtables.h | 45 +- src/share/native/sun/font/layout/CoverageTables.cpp | 30 +- src/share/native/sun/font/layout/CoverageTables.h | 6 +- src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp | 14 +- src/share/native/sun/font/layout/DeviceTables.cpp | 9 +- src/share/native/sun/font/layout/DeviceTables.h | 2 +- src/share/native/sun/font/layout/ExtensionSubtables.cpp | 1 - src/share/native/sun/font/layout/ExtensionSubtables.h | 3 +- src/share/native/sun/font/layout/GDEFMarkFilter.cpp | 4 +- src/share/native/sun/font/layout/GDEFMarkFilter.h | 2 +- src/share/native/sun/font/layout/GlyphIterator.cpp | 3 +- src/share/native/sun/font/layout/GlyphIterator.h | 2 +- src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp | 16 +- src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp | 4 +- src/share/native/sun/font/layout/IndicLayoutEngine.cpp | 11 +- src/share/native/sun/font/layout/KernTable.cpp | 16 +- src/share/native/sun/font/layout/LEFontInstance.h | 8 +- src/share/native/sun/font/layout/LEGlyphFilter.h | 2 +- src/share/native/sun/font/layout/LEGlyphStorage.cpp | 3 +- src/share/native/sun/font/layout/LEGlyphStorage.h | 1 - src/share/native/sun/font/layout/LEScripts.h | 13 +- src/share/native/sun/font/layout/LEStandalone.h | 3 + src/share/native/sun/font/layout/LETableReference.h | 312 ++++++--- src/share/native/sun/font/layout/LETypes.h | 27 +- src/share/native/sun/font/layout/LayoutEngine.cpp | 33 +- src/share/native/sun/font/layout/LayoutEngine.h | 4 +- src/share/native/sun/font/layout/LigatureSubstSubtables.cpp | 16 +- src/share/native/sun/font/layout/LookupProcessor.cpp | 22 +- src/share/native/sun/font/layout/Lookups.cpp | 2 +- src/share/native/sun/font/layout/MarkArrays.cpp | 20 +- src/share/native/sun/font/layout/MarkArrays.h | 5 +- src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp | 28 +- src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp | 19 +- src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp | 20 +- src/share/native/sun/font/layout/MultipleSubstSubtables.cpp | 9 +- src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp | 5 + src/share/native/sun/font/layout/OpenTypeUtilities.h | 5 +- src/share/native/sun/font/layout/PairPositioningSubtables.cpp | 70 +- src/share/native/sun/font/layout/PairPositioningSubtables.h | 3 +- src/share/native/sun/font/layout/ScriptAndLanguage.cpp | 3 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp | 8 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.h | 8 +- src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp | 13 +- src/share/native/sun/font/layout/SinglePositioningSubtables.cpp | 4 +- src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp | 4 +- src/share/native/sun/font/layout/TibetanReordering.h | 2 +- src/share/native/sun/font/layout/ValueRecords.cpp | 40 +- src/share/native/sun/font/layout/ValueRecords.h | 8 +- src/solaris/classes/sun/nio/ch/SctpChannelImpl.java | 4 + src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c | 4 +- test/java/lang/SecurityManager/CheckPackageAccess.java | 1 + 111 files changed, 1862 insertions(+), 1038 deletions(-) diffs (truncated from 6496 to 500 lines): diff -r 7b65a4d96959 -r acce97b20885 make/common/Release.gmk --- a/make/common/Release.gmk Thu Dec 26 17:50:47 2013 +0000 +++ b/make/common/Release.gmk Wed Oct 16 20:12:52 2013 -0700 @@ -851,10 +851,6 @@ $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ -o meta-index *.jar @$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup) -ifeq ($(PLATFORM), macosx) - @#install jobjc, apple mac only - $(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar -endif # macosx ifeq ($(PLATFORM), windows) @# Remove certain *.lib files $(CD) $(JRE_IMAGE_DIR)/lib && \ diff -r 7b65a4d96959 -r acce97b20885 make/java/Makefile --- a/make/java/Makefile Thu Dec 26 17:50:47 2013 +0000 +++ b/make/java/Makefile Wed Oct 16 20:12:52 2013 -0700 @@ -57,10 +57,6 @@ SUBDIRS += jexec endif # PLATFORM -ifeq ($(PLATFORM), macosx) - SUBDIRS += jobjc -endif # PLATFORM - include $(BUILDDIR)/common/Subdirs.gmk all build clean clobber:: diff -r 7b65a4d96959 -r acce97b20885 src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m --- a/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Thu Dec 26 17:50:47 2013 +0000 +++ b/src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m Wed Oct 16 20:12:52 2013 -0700 @@ -290,8 +290,8 @@ SplashUnlock(splash); rc = poll(pfd, 1, timeout); SplashLock(splash); - if (splash->isVisible>0 && SplashTime() >= splash->time + - splash->frames[splash->currentFrame].delay) { + if (splash->isVisible > 0 && splash->currentFrame >= 0 && + SplashTime() >= splash->time + splash->frames[splash->currentFrame].delay) { SplashNextFrame(splash); SplashRedrawWindow(splash); } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/beans/decoder/DocumentHandler.java --- a/src/share/classes/com/sun/beans/decoder/DocumentHandler.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/beans/decoder/DocumentHandler.java Wed Oct 16 20:12:52 2013 -0700 @@ -29,6 +29,7 @@ import java.beans.ExceptionListener; import java.io.IOException; +import java.io.StringReader; import java.lang.ref.Reference; import java.lang.ref.WeakReference; @@ -246,6 +247,14 @@ } /** + * Disables any external entities. + */ + @Override + public InputSource resolveEntity(String publicId, String systemId) { + return new InputSource(new StringReader("")); + } + + /** * Prepares this handler to read objects from XML document. */ @Override diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java --- a/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java Wed Oct 16 20:12:52 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2005, 2013, 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 @@ -72,13 +72,17 @@ throw new IllegalStateException( "TlsRsaPremasterSecretGenerator must be initialized"); } - if (random == null) { - random = new SecureRandom(); + byte[] b = spec.getEncodedSecret(); + if (b == null) { + if (random == null) { + random = new SecureRandom(); + } + b = new byte[48]; + random.nextBytes(b); + b[0] = (byte)spec.getMajorVersion(); + b[1] = (byte)spec.getMinorVersion(); } - byte[] b = new byte[48]; - random.nextBytes(b); - b[0] = (byte)spec.getMajorVersion(); - b[1] = (byte)spec.getMinorVersion(); + return new SecretKeySpec(b, "TlsRsaPremasterSecret"); } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java Wed Oct 16 20:12:52 2013 -0700 @@ -27,17 +27,9 @@ // java imports // +import com.sun.jmx.snmp.SnmpDefinitions; import java.io.Serializable; -import java.util.Hashtable; -import java.util.Enumeration; - -// jmx imports -// -import com.sun.jmx.snmp.SnmpValue; -import com.sun.jmx.snmp.SnmpVarBind; import com.sun.jmx.snmp.SnmpStatusException; -import com.sun.jmx.snmp.agent.SnmpMibOid; -import com.sun.jmx.snmp.agent.SnmpMibNode; /** * Represents a node in an SNMP MIB which corresponds to a table entry @@ -99,7 +91,7 @@ */ public void validateVarId(long arc, Object userData) throws SnmpStatusException { - if (isVariable(arc) == false) throw noSuchNameException; + if (isVariable(arc) == false) throw new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName); } /** diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java Wed Oct 16 20:12:52 2013 -0700 @@ -116,7 +116,7 @@ public void validateVarId(long arc, Object userData) throws SnmpStatusException { if (isVariable(arc) == false) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } @@ -365,16 +365,16 @@ // The trailing .0 is missing in the OID if (depth+2 > length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // There are too many arcs left in the OID (there should remain // a single trailing .0) if (depth+2 < length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // The last trailing arc is not .0 if (oid[depth+1] != 0L) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // It's one of our variable, register this node. handlers.add(this,depth,varbind); @@ -397,7 +397,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -433,7 +433,7 @@ depth+1,handlers, checker); }catch(SnmpStatusException ex) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } finally { checker.remove(depth); } @@ -458,7 +458,7 @@ try { checker.checkCurrentOid(); } catch(SnmpStatusException e) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } finally { checker.remove(depth,2); } @@ -503,7 +503,7 @@ // The oid is not valid, we will throw an exception in order // to try with the next valid identifier... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } catch (SnmpStatusException e) { // We didn't find anything at the given arc, so we're going diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java Wed Oct 16 20:12:52 2013 -0700 @@ -155,7 +155,7 @@ long[] oid, int depth, SnmpRequestTree handlers) throws SnmpStatusException { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } /** @@ -183,7 +183,7 @@ long[] oid, int pos, int depth, SnmpRequestTree handlers, AcmChecker checker) throws SnmpStatusException { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } /** @@ -347,7 +347,7 @@ final int val= (int) value; if (a == null) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); int low= 0; int max= a.length; @@ -357,10 +357,10 @@ // Basic check // if (max < 1) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); if (a[max-1] <= val) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); while (low <= max) { elmt= a[curr]; @@ -400,15 +400,4 @@ * Contains the list of variable identifiers. */ protected int[] varList; - - /** - * Contains a predefined exception that is often fired when an - * object is not found in the MIB. - */ - static final protected SnmpStatusException noSuchInstanceException = - new SnmpStatusException(SnmpStatusException.noSuchInstance); - static final protected SnmpStatusException noSuchObjectException = - new SnmpStatusException(SnmpStatusException.noSuchObject); - static final protected SnmpStatusException noSuchNameException = - new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName); } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java Wed Oct 16 20:12:52 2013 -0700 @@ -157,11 +157,11 @@ if (depth > length) { // Nothing is left... the oid is not valid - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } else if (depth == length) { // The oid is not complete... - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } else { // Some children variable or subobject is being querried @@ -206,7 +206,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -231,7 +231,7 @@ // SnmpOid result = null; if (child == null) { // shouldn't happen - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // validateVarId(index); // handlers.add(this,varbind,depth); // result = new SnmpOid(0); @@ -442,10 +442,10 @@ // final int pos= getInsertAt(id); if (pos >= nbChildren) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); if (varList[pos] != (int) id) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // Access the node // @@ -453,10 +453,10 @@ try { child = children.elementAtNonSync(pos); } catch(ArrayIndexOutOfBoundsException e) { - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } if (child == null) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); return child; } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java --- a/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java Wed Oct 16 20:12:52 2013 -0700 @@ -279,7 +279,7 @@ SnmpVarBind var = null; for (Enumeration e= r.getElements(); e.hasMoreElements();) { var = (SnmpVarBind) e.nextElement(); - r.registerGetException(var,noSuchInstanceException); + r.registerGetException(var,new SnmpStatusException(SnmpStatusException.noSuchInstance)); } } @@ -1607,7 +1607,7 @@ throws SnmpStatusException { if (size == 0) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); final SnmpOid resOid = oid; @@ -1618,7 +1618,7 @@ if (last.equals(resOid)) { // Last element of the table ... // - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } // First find the oid. This will allow to speed up retrieval process @@ -1640,12 +1640,12 @@ // XX last = (SnmpOid) oids.elementAt(newPos); last = tableoids[newPos]; } catch(ArrayIndexOutOfBoundsException e) { - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } } else { // We are dealing with the last element of the table .. // - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); } @@ -1668,7 +1668,7 @@ protected SnmpOid getNextOid(Object userData) throws SnmpStatusException { if (size == 0) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // XX return (SnmpOid) oids.firstElement(); return tableoids[0]; } @@ -1875,7 +1875,7 @@ if (!hasEntry) { if (!handlers.isCreationAllowed()) // we're not doing a set - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); else if (!isCreationEnabled()) // we're doing a set but creation is disabled. throw new @@ -1921,7 +1921,7 @@ // abort the whole request, so we're going to throw // a noSuchObject... // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); final Object data = handlers.getUserData(); final int pduVersion = handlers.getRequestPduVersion(); @@ -1955,7 +1955,7 @@ // so we won't find the next element in this table... (any // element in this table will have a smaller OID) // - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } else if (oid[pos] < nodeId) { // we must return the first leaf under the first columnar // object, so we are back to our first case where pos was @@ -2046,7 +2046,7 @@ // must have the same holes) // if (skipEntryVariable(entryoid,var,data,pduVersion)) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } catch(SnmpStatusException se) { entryoid = getNextOid(data); var = getNextVarEntryId(entryoid,var,data,pduVersion); @@ -2079,7 +2079,7 @@ // So we throw the exception. // => will skip to next node in the MIB tree. // - if (entryoid == null || var == -1 ) throw noSuchObjectException; + if (entryoid == null || var == -1 ) throw new SnmpStatusException(SnmpStatusException.noSuchObject); // So here we know both the row (entryoid) and the column (var) @@ -2092,7 +2092,7 @@ // other entry => skip to next column. // if (!isReadableEntryId(entryoid,var,data)) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); // Prepare the result and the ACM checker. // @@ -2156,7 +2156,7 @@ // => will skip to next node in the MIB tree. // if (entryoid == null || var == -1 ) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } } @@ -2177,12 +2177,12 @@ // Control the length of the oid // if (pos +2 >= length) - throw noSuchInstanceException; + throw new SnmpStatusException(SnmpStatusException.noSuchInstance); // Check that the entry identifier is specified // if (oid[pos] != nodeId) - throw noSuchObjectException; + throw new SnmpStatusException(SnmpStatusException.noSuchObject); } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java --- a/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java Wed Oct 16 20:12:52 2013 -0700 @@ -1146,7 +1146,4 @@ static final private String InterruptSysCallMsg = "Interrupted system call"; - - static final private SnmpStatusException noSuchNameException = - new SnmpStatusException(SnmpDefinitions.snmpRspNoSuchName) ; } diff -r 7b65a4d96959 -r acce97b20885 src/share/classes/com/sun/naming/internal/FactoryEnumeration.java --- a/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java Thu Dec 26 17:50:47 2013 +0000 +++ b/src/share/classes/com/sun/naming/internal/FactoryEnumeration.java Wed Oct 16 20:12:52 2013 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2001, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2013, 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 @@ -29,10 +29,10 @@ import javax.naming.NamingException; /** - * The FactoryEnumeration is used for returning factory instances. - * - * @author Rosanna Lee - * @author Scott Seligman + * The FactoryEnumeration is used for returning factory instances. + * + * @author Rosanna Lee + * @author Scott Seligman */ // no need to implement Enumeration since this is only for internal use @@ -55,9 +55,12 @@ * references so as not to prevent GC of the class loader. Each * weak reference is tagged with the factory's class name so the * class can be reloaded if the reference is cleared. - + * * @param factories A non-null list * @param loader The class loader of the list's contents + * + * This internal method is used with Thread Context Class Loader (TCCL), + * please don't expose this method as public. From aazores at redhat.com Tue Jan 14 13:26:39 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 14 Jan 2014 16:26:39 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <52D06D1F.7070301@redhat.com> References: <52D06D1F.7070301@redhat.com> Message-ID: <52D5AB8F.7030503@redhat.com> On 01/10/2014 04:58 PM, Andrew Azores wrote: > Hi, > > As inspired by an earlier mailing list thread [1]/[2]/[3], this patch > introduces a new "Sandbox" button in the dialog that appears when a > user is prompted to decide whether or not they trust the signer of an > applet. If the user clicks "Run", then the applet proceeds as normal, > being granted full Java Permissions (except in edge cases such as > PR1592 - mixed JAR signing - and PR1513 - external main-class). If the > user clicks "Sandbox", however, the classloader will treat the applet > as if it is completely unsigned, and run it only with Sandbox > Permissions, disregarding the fact that the applet has been signed. > > More work will need to be done with this patch once the > PartiallySigned Dialogs patch goes in, so that that dialog also > supports this action. This will be done at a later date in a new > changeset. > > Automated tests have been largely left out of this patch since it > deals with adding GUI elements, and the state of the ClassLoader > itself cannot be directly influenced by a reproducer without > interacting with security prompts (obviously). A small unit test was > included to check the conversion between a new AppletAction enum type > and arbitrary Object references - see the patch for the relevance of > this enum and why this test needs to be done. > > Non-automated testing should involve: > 1) running unsigned applets and verifying that the CertWarning dialog > does not appear > 2) running unsigned applets and verifying that there is no Sandbox button > 3) running signed applets and verifying that there is a Sandbox > button, which is enabled iff the "always trust content" checkbox is > NOT ticked > 4) running signed applets with the "Run" button results in a normal > applet launch (same behaviour with and without patch applied) > 5) running signed applets with the "Sandbox" button results in the > applet not being able to perform privileged actions > > Some sample signed applets to test with: > a) http://caff.de/applettest/Signed.html - once the applet launches, > privileged actions include printing and saving local files. "Sandbox" > mode should result in permission denied error dialogs > b) https://oasisweb.uga.edu/oasis.html - launch browser from terminal > to run this test. The applet will attempt to read several system > properties, which it will print out. In standard run, these will be > successfully read. In Sandbox mode, permission denied errors will be > printed instead. > c) JOGL tests at > http://jogamp.org/deployment/jogamp-current/jogl-test-applets.html - > launch browser from terminal to run this test. Running applets in > Sandbox mode will cause most of the applets to fail at runtime, with > AccessControlExceptions printed to the terminal. > > Known issues (needing discussion): > - The CertWarning dialog sometimes appears more than once for a given > applet (this is existing behaviour) - once per certificate that the > user needs to approve trust. It doesn't seem to make sense for the > "Sandbox" button to only apply to some subset of JARs in an applet > based on signers, rather it should simply apply to the entire applet. > Should further CertWarnings simply not be shown after the first time, > if the Sandbox option is chosen the first time? Currently the > implementation sets the entire classloader to Sandbox mode when a > Sandbox button is pressed, which *must* occur before any classes are > loaded and assigned security descriptors, so pressing Sandbox the > first time and Run the second time will still result in Sandboxed > behaviour. Or, should subsequent CertWarnings still be shown but > perhaps with the Run button disabled if Sandbox has been chosen at > least once prior? > - The entire classloader is set to Sandbox mode, and this is not done > with any more fine-grained control than this. If multiple applets are > sharing the same classloader instance, then they will all be run > sandboxed. This can be changed, but I think it's going to be a very > rare situation where applets that are sharing a classloader will not > all be trusted at the same level by the user. Leaving it as it is > keeps the implementation simpler. > > ChangeLog: > Added "Sandbox" button to CertWarning dialogs, allowing signed applets > to be run with restricted permissions > * netx/net/sourceforge/jnlp/resources/Messages.properties: (ButSandbox, > LRunInSandboxError, LRunInSandboxErrorInfo): new messages > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (security) > initialize to null when declared. (runInSandbox) new field. > (getRunInSandbox) getter for new field. (setRunInSandbox) set the > classloader to run current applet sandboxed. (activateJars, > initializeResources, addNewJar, setSecurity) assign sandbox permissions > regardless of signing if runInSandbox is set. (createInstance) do not > show > unsigned applet prompt if runInSandbox is set. > * netx/net/sourceforge/jnlp/security/AppVerifier.java: > (checkTrustWithUser) added JNLPClassLoader param > * netx/net/sourceforge/jnlp/security/CertWarningPane.java: added Sandbox > button > * netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java: > (checkTrustWithUser) uses AppletAction enum type, calls > JNLPClassLoader#setRunInSandbox if AppletAction is SANDBOX > * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: same > * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: added > (AppletAction) enum type. (showCertWarning) returns AppletAction > rather than boolean > * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: > (askUser) refactor to use AppletAction rather than boolean > * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: > (checkTrustWithUser) added JNLPClassLoader param > * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: > (testGetIntegerResponseAsAppletAction) new tests for converting Object > references into AppletActions > > > [1] > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-October/025394.html > [2] > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-November/025396.html > [3] > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025399.html > > Thanks, > Again, updating the patches here due to discussions on IRC. Changes since the last set: - There's a new "-Xtrustnone" switch for command-line javaws. This is like -Xtrustall but rather than choosing the "Run/Proceed" option, the "Sandbox" option is taken. - this is used for the new reproducer that is included, which verifies that the Run in Sandbox button really does reduce the permissions of a signed applet - part of JNLPClassLoader#initializeResources was refactored - the buttons on CertWarningDialogs now have tooltips - Clicking "Sandbox" on a CertWarningDialog causes any subsequent CertWarningDialogs to not appear, at least not from the same classloader. In the unusual cases where an applet has multiple classloaders (eg some of the jogl jnlp applets), then multiple dialogs may still appear. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: run_in_sandbox_button_full3.patch Type: text/x-patch Size: 27876 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/874c50f5/run_in_sandbox_button_full3-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: run_in_sandbox_button_tests.patch Type: text/x-patch Size: 18472 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/874c50f5/run_in_sandbox_button_tests-0001.patch From omajid at icedtea.classpath.org Tue Jan 14 13:35:55 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:35:55 +0000 Subject: /hg/release/icedtea7-forest-2.4: Added tag icedtea-2.4.4 for cha... Message-ID: changeset 796d1bf47b24 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=796d1bf47b24 author: omajid date: Tue Jan 14 16:26:33 2014 -0500 Added tag icedtea-2.4.4 for changeset 63b832c8ec92 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 63b832c8ec92 -r 796d1bf47b24 .hgtags --- a/.hgtags Wed Oct 23 05:21:53 2013 +0100 +++ b/.hgtags Tue Jan 14 16:26:33 2014 -0500 @@ -390,3 +390,4 @@ f0cdb08a4624a623bdd178b04c4bf5a2fa4dc39a jdk7u45-b18 82f1f76c44124c31cb1151833fc15c13547ab280 jdk7u45-b30 e2f5917da3c1b13bf8291d7864afba14ac35736a icedtea-2.4.3 +63b832c8ec92696277208631a6e71db4b33348e9 icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:35:58 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:35:58 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: Added tag icedtea-2.4.4 f... Message-ID: changeset e540fd592221 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=e540fd592221 author: omajid date: Tue Jan 14 16:26:33 2014 -0500 Added tag icedtea-2.4.4 for changeset 468a4fe3400a diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 468a4fe3400a -r e540fd592221 .hgtags --- a/.hgtags Sat Nov 02 01:07:53 2013 +0000 +++ b/.hgtags Tue Jan 14 16:26:33 2014 -0500 @@ -392,3 +392,4 @@ 80f65a8f58500ef5d93ddf4426d9c1909b79fadf jdk7u45-b18 a15e4a54504471f1e34a494ed66235870722a0f5 jdk7u45-b30 8ed5df839fbccdb20f2718626402d28e5ea33542 icedtea-2.4.3 +468a4fe3400a2f6fd85f4e9023feb3b11e5edf1c icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:36:02 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:36:02 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Added tag icedtea-2.4.4... Message-ID: changeset a8a33cc2dd4b in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=a8a33cc2dd4b author: omajid date: Tue Jan 14 16:26:34 2014 -0500 Added tag icedtea-2.4.4 for changeset 9def299ab058 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 9def299ab058 -r a8a33cc2dd4b .hgtags --- a/.hgtags Mon Sep 16 14:22:43 2013 -0400 +++ b/.hgtags Tue Jan 14 16:26:34 2014 -0500 @@ -605,3 +605,4 @@ 12374864c655a2cefb0d65caaacf215d5365ec5f jdk7u45-b18 3677c8cc3c89c0fa608f485b84396e4cf755634b jdk7u45-b30 b59e02d9e72bb06d5cbff39605bce1d2695dbdd0 icedtea-2.4.3 +9def299ab058289926f8e1dbf86c9d5a95eb9738 icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:36:05 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:36:05 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: Added tag icedtea-2.4.4 fo... Message-ID: changeset 2e2bf2d8be16 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=2e2bf2d8be16 author: omajid date: Tue Jan 14 16:26:34 2014 -0500 Added tag icedtea-2.4.4 for changeset 44952a12fe8f diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 44952a12fe8f -r 2e2bf2d8be16 .hgtags --- a/.hgtags Thu Nov 14 09:47:24 2013 -0800 +++ b/.hgtags Tue Jan 14 16:26:34 2014 -0500 @@ -392,3 +392,4 @@ 4beb90ab48f7fd46c7a9afbe66f8cccb230699ba jdk7u45-b18 a456c78a50e201a65c9f63565c8291b84a4fbd32 jdk7u45-b30 8f220f7b51c715a204e09fa6abf326df791b1f1c icedtea-2.4.3 +44952a12fe8f55371eb317be962b4e93c13a815d icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:36:08 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:36:08 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: Added tag icedtea-2.4.4 f... Message-ID: changeset 5aceb5a787b1 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=5aceb5a787b1 author: omajid date: Tue Jan 14 16:26:35 2014 -0500 Added tag icedtea-2.4.4 for changeset 942dddc2d84e diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 942dddc2d84e -r 5aceb5a787b1 .hgtags --- a/.hgtags Thu Oct 17 17:37:46 2013 -0400 +++ b/.hgtags Tue Jan 14 16:26:35 2014 -0500 @@ -392,3 +392,4 @@ 65b0f3ccdc8bcff0d79e1b543a8cefb817529b3f jdk7u45-b18 c32c6a662d18d7195fc02125178c7543ce09bb00 jdk7u45-b30 652eb396f959d66025120ffb1e778b606bfa68b3 icedtea-2.4.3 +942dddc2d84e28a0f79715693238a4e57016ca82 icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:36:13 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:36:13 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: Added tag icedtea-2.4.4 for... Message-ID: changeset 1fe539ed00bc in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1fe539ed00bc author: omajid date: Tue Jan 14 16:26:36 2014 -0500 Added tag icedtea-2.4.4 for changeset 8619fc74e196 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 8619fc74e196 -r 1fe539ed00bc .hgtags --- a/.hgtags Wed Oct 16 20:12:52 2013 -0700 +++ b/.hgtags Tue Jan 14 16:26:36 2014 -0500 @@ -383,3 +383,4 @@ c5ca4daec23b5e7f99ac8d684f5016ff8bfebbb0 jdk7u45-b18 4797f984f6c93c433aa797e9b2d8f904cf083f96 jdk7u45-b30 7958751eb9efc3029e97c2fcbe062567504b8c66 icedtea-2.4.3 +8619fc74e1966d99c0c0c85da9a0a904f23a971d icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 13:36:16 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Tue, 14 Jan 2014 21:36:16 +0000 Subject: /hg/release/icedtea7-forest-2.4/langtools: Added tag icedtea-2.4... Message-ID: changeset 3f5408abf14b in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=3f5408abf14b author: omajid date: Tue Jan 14 16:26:37 2014 -0500 Added tag icedtea-2.4.4 for changeset 3d9f5aad3f49 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 3d9f5aad3f49 -r 3f5408abf14b .hgtags --- a/.hgtags Thu Dec 26 17:47:09 2013 +0000 +++ b/.hgtags Tue Jan 14 16:26:37 2014 -0500 @@ -392,3 +392,4 @@ ba3ff27d4082f2cf0d06e635b2b6e01f80e78589 jdk7u45-b18 164cf7491ba2f371354ba343a604eee4c61c529d jdk7u45-b30 3c8eb52a32ea6a119657487c40e24c21c1020e51 icedtea-2.4.3 +3d9f5aad3f497f5b2bedad6c77f5cacaf721648f icedtea-2.4.4 From gitne at gmx.de Tue Jan 14 15:34:37 2014 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 15 Jan 2014 00:34:37 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D57EED.2090303@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> Message-ID: <52D5C98D.70806@gmx.de> On 01/14/2014 07:16 PM, Andrew Azores wrote: > On 01/14/2014 10:34 AM, Jiri Vanek wrote: >> On 01/14/2014 03:16 PM, Jacob Wisor wrote: >>> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>>> Hello there! >>>>> >>>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>>> Hi, >>>>>> >>>>>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>>>>> used to set up a custom user-level JNLP policy - this, in combination with >>>>>> the >>>>>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>>>>> permissions are handled with signed applets/applications. >>>>>> >>>>>> A nicer, more user-friendly editor to replace the policytool will >>>>>> hopefully come >>>>>> later on. >>>>> >>>>> Oooooooh yes, please! This would be awesome! :-) >>>> >>>> Yes this would be :)) >>>> But it is different task. And Quite complex. Especially it must pass upstream >>>> (openjdk). And that is *the* task! >>> >>> Well, it does not need to replace or displace OpenJDK's policytool. It should >>> be probably enough >>> that it complements it. ;-) You know, it's neither forbidden nor against any >>> spec to build >>> augmenting tools around OpenJDK. >> >> But still contribute to Openjdk itself is the right thing to do. >> >> ... >>> >>> At first, I thought that the problem would rather be that some system >>> configurations may be missing >>> a PATH environment variable entry to policytool and thus launching it may >>> fail. But, Jiri is right. >>> The best approach here would probably be to call directly into policytool's >>> main() method with >>> user.home as its current working directory. policytool is part of rt.jar, not >>> tools.jar, so it >>> should already be on bootclasspath. But, you may have to investigate deeper >>> into it because the >> >> Great! >> >> But I doubt "with user.home as its current working directory" is possible. >> Or do we misunderstand each other? >> >> I had in my mind simple PolicyTool.main(arg,aerg,arg) call in itw-settings. >> >> >>> package names of some tools have changed from OpenJDK 6 over to OpenJDK 7. >> >> I doubt policy tool was touched in last 10 years ;) >> >> J. >> > > [...] > > The actual PolicyPanel is now launching the PolicyTool by invoking its main > method, rather than exec'ing a new process. After I have hit the send button for my last e-mail, I have realized that it may be desirable to run policytool in a separate process for security reasons, although calling directly into PolicyTool.main(). Maybe it's just me being paranoid, but authoring policies is a security sensitive task. In the current patch policytool gets loaded into the same JVM as itw-settings. If the current JVM or itw-settings has been compromised for the current user, he/she may be editing a heck of secure policy but could end up with a policy file on disk, granting AllPermissions to some malicious code bearing URL. Sure, policy files are simple human readable text files that can be checked before applying. But, who really does that? Of course, I do realize that if one's system JRE has been compromised then probably all other JVM instances and the applications running on them are going to get compromised sooner or later on that system. I don't know, I just wanted to share some wired thoughts on policy authoring security. :-D > I've put this into a new thread, but tbh I'm not sure if that was entirely necessary. In this case, I had rather something like SwingUtilities.invokeLater() or EventQueue.invokeLater() in mind. In general, only activities related to manipulating and displaying UI elements should be placed on the AWT thread. Work code should either be put into invokeLater() or custom working threads (like SwingWorker for example), although the later has some more caveats in most cases. invokeLater() actually does indeed create a thread too but it also neatly ties it into the UI toolkit and takes care of most of those caveats, so developers are really advised to use it. You may want to read the tiny discussion on "Swing's Threading Policy" at the bottom of javax.swing's package API documentation regarding this topic. ;-) > The "View Policy" button has a tooltip now that indicates the location of the file that will be opened, > although this is also displayed in the policytool itself if you launch it. Right, that's actually why I have remained silent on that matter. It's a good move to indicate the policy file's location before launching policytool. > The View Button's action listener is no longer an anonymous inner class, since I > don't really mind the style either way personally. Yey, I love inner classes! :-D Declaring a member variable holding the ActionListener's reference would have been enough too, but hey, going all the way through is even cooler. 8-) > Its implementation does have an anonymous inner Runnable inside its Thread, though. An anonymous Runnable implementation without keeping a reference to it is okay here because in any case, there can only be one Runnable object per Thread object, hence a reference to that anonymous Runnable object is always unambiguously retrievable. Nevertheless, you may want to prefer invokeLater() over that custom thread. > Oh, and there's also now an error dialog if for some reason the policy file can't be opened (eg it exists > but you don't have read permission, or it exists but is a directory, or > whatever). If the file doesn't already exist then we attempt to create a blank > one there first, since the PolicyTool itself doesn't seem to do this. Although all JOptionPane.showXxxDialog() dialogs are modal, please pass it a reference to itw-settings' JFrame for the sake of completeness, before it grabs some undesired /default/ Compenent - what ever this might be - or perhaps even the desktop window. I hope you are sure about what you have been probably intending to accomplish with canOpenPolicyFile() actually does what you had in mind. File.canRead() and File.canWrite() are not platform agnostic and they are only checking file system access permissions, not physical read/write capability. Those methods are so misleading in their semantics and should not have found their way into the Java API in the first place. The JCP board would be well advised to deprecate these methods as soon as possible for being highly platform dependent and having misleading semantics. I have already covered this in an earlier post to this mailing list. ;-) Besides File.canRead() and File.canWrite() also test for existence so you may want to simplify and drop some redundant tests in you current code. I may be mistaken, but there may already be code present in net.sourceforge.jnlp.util.FileUtils for your intended purpose. IMHO, you should probably drop these tests anyway because it's on the policytool to do those tests (from a software engineering point of view). > [...] Jacob From omajid at icedtea.classpath.org Tue Jan 14 17:30:34 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:34 +0000 Subject: /hg/release/icedtea7-forest-2.3: Added tag icedtea-2.3.13 for ch... Message-ID: changeset 66eecafe5565 in /hg/release/icedtea7-forest-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3?cmd=changeset;node=66eecafe5565 author: omajid date: Tue Jan 14 20:24:44 2014 -0500 Added tag icedtea-2.3.13 for changeset 2ce335eb4926 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 2ce335eb4926 -r 66eecafe5565 .hgtags --- a/.hgtags Thu Aug 08 23:20:11 2013 +0100 +++ b/.hgtags Tue Jan 14 20:24:44 2014 -0500 @@ -303,3 +303,4 @@ 9de1fc3635def64c19c51f272f09b51d8cf0ca98 jdk7u25-b14 2197dde877124579204c5266fa9d89166760b44f jdk7u25-b15 9846c505054fb91762f3fd9b817d1a9760322029 jdk7u25-b30 +2ce335eb4926b0c7b59098159f33d452e8bf2d95 icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:38 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:38 +0000 Subject: /hg/release/icedtea7-forest-2.3/corba: Added tag icedtea-2.3.13 ... Message-ID: changeset f12e1c039846 in /hg/release/icedtea7-forest-2.3/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/corba?cmd=changeset;node=f12e1c039846 author: omajid date: Tue Jan 14 20:24:44 2014 -0500 Added tag icedtea-2.3.13 for changeset d07caee626d9 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r d07caee626d9 -r f12e1c039846 .hgtags --- a/.hgtags Sat Nov 02 01:07:53 2013 +0000 +++ b/.hgtags Tue Jan 14 20:24:44 2014 -0500 @@ -305,3 +305,4 @@ 577c4dd1a6e9bc1bb2c2e5d5ecbab8eacb4121af jdk7u25-b14 4fde7ac2ecf4b170022ebbf8a961e6dbb229ccab jdk7u25-b15 f4bec833a24b20f5ae770d0650350fc8950c9dc0 jdk7u25-b30 +d07caee626d9964ed0a85b2ae825a8b88bac7b65 icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:41 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:41 +0000 Subject: /hg/release/icedtea7-forest-2.3/hotspot: Added tag icedtea-2.3.1... Message-ID: changeset 3442eb7ef2d2 in /hg/release/icedtea7-forest-2.3/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot?cmd=changeset;node=3442eb7ef2d2 author: omajid date: Tue Jan 14 20:24:44 2014 -0500 Added tag icedtea-2.3.13 for changeset b23760b457ce diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r b23760b457ce -r 3442eb7ef2d2 .hgtags --- a/.hgtags Mon Sep 16 14:22:43 2013 -0400 +++ b/.hgtags Tue Jan 14 20:24:44 2014 -0500 @@ -428,3 +428,4 @@ 7ca68c0674df72fdd784de337c049404d2b5b0c3 jdk7u25-b12 3e145a686fedd9eefdcb6b714241200ed236b41d jdk7u25-b13 4fafaf293aa5666e8c9f5ca1d96c3f752305f586 jdk7u25-b14 +b23760b457ce80ee57a215282ef5d23f677e9831 icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:44 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:44 +0000 Subject: /hg/release/icedtea7-forest-2.3/jaxp: Added tag icedtea-2.3.13 f... Message-ID: changeset 691a5e0c657f in /hg/release/icedtea7-forest-2.3/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxp?cmd=changeset;node=691a5e0c657f author: omajid date: Tue Jan 14 20:24:45 2014 -0500 Added tag icedtea-2.3.13 for changeset 8bbd7289b29d diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 8bbd7289b29d -r 691a5e0c657f .hgtags --- a/.hgtags Thu Nov 14 09:47:24 2013 -0800 +++ b/.hgtags Tue Jan 14 20:24:45 2014 -0500 @@ -305,3 +305,4 @@ 68cc0d2a49f09b5c611b2775f2e66de1022bdedc jdk7u25-b14 503f75b55b34ae22f43b2992b1e56c96e35a60de jdk7u25-b15 8c35f2344beeb42e85d718e95813e6fdc2f0a605 jdk7u25-b30 +8bbd7289b29dd7222e6b273272f275316369c7b8 icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:47 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:47 +0000 Subject: /hg/release/icedtea7-forest-2.3/jaxws: Added tag icedtea-2.3.13 ... Message-ID: changeset 1067e01a4e0e in /hg/release/icedtea7-forest-2.3/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jaxws?cmd=changeset;node=1067e01a4e0e author: omajid date: Tue Jan 14 20:24:45 2014 -0500 Added tag icedtea-2.3.13 for changeset 9801349b6b81 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 9801349b6b81 -r 1067e01a4e0e .hgtags --- a/.hgtags Thu Oct 17 17:37:46 2013 -0400 +++ b/.hgtags Tue Jan 14 20:24:45 2014 -0500 @@ -305,3 +305,4 @@ 03073e4e6d3f600102d31e862154f56730838b11 jdk7u25-b14 4a925430bf712d36abb78decda16e04da1b1f6bc jdk7u25-b15 3ecf7ddefa035bc2c99b03b7a58a0dd0e97089c1 jdk7u25-b30 +9801349b6b812410ec8f3175697facb7cfa4fc5a icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:50 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:50 +0000 Subject: /hg/release/icedtea7-forest-2.3/jdk: Added tag icedtea-2.3.13 fo... Message-ID: changeset bad5e0686160 in /hg/release/icedtea7-forest-2.3/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk?cmd=changeset;node=bad5e0686160 author: omajid date: Tue Jan 14 20:24:45 2014 -0500 Added tag icedtea-2.3.13 for changeset acce97b20885 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r acce97b20885 -r bad5e0686160 .hgtags --- a/.hgtags Wed Oct 16 20:12:52 2013 -0700 +++ b/.hgtags Tue Jan 14 20:24:45 2014 -0500 @@ -319,3 +319,4 @@ bd392c168d5c0e44f05f50fd0e0a1f90443bf897 icedtea-2.3.10 0a482b2f7c351d157c5ae9ca495d762c2deaf37c icedtea-2.3.11 4a0cf2c05cc6f0abd48d72008d8880b7e7a874e1 icedtea-2.3.12 +acce97b208855981122cc33131b63e9b39fb9aa6 icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 17:30:54 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 01:30:54 +0000 Subject: /hg/release/icedtea7-forest-2.3/langtools: Added tag icedtea-2.3... Message-ID: changeset d50a9c5cd291 in /hg/release/icedtea7-forest-2.3/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/langtools?cmd=changeset;node=d50a9c5cd291 author: omajid date: Tue Jan 14 20:24:46 2014 -0500 Added tag icedtea-2.3.13 for changeset 96fc7f35fbed diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 96fc7f35fbed -r d50a9c5cd291 .hgtags --- a/.hgtags Thu Dec 26 17:51:02 2013 +0000 +++ b/.hgtags Tue Jan 14 20:24:46 2014 -0500 @@ -305,3 +305,4 @@ c6342ec6a12f7283e2a73a80a44dcdd3683e2e8b jdk7u25-b14 3b8323e24a636ac0638604d19fc116eb0eef6cdb jdk7u25-b15 5d95c1e7c0913ad4bc0b5f0b559510d32557def2 jdk7u25-b30 +96fc7f35fbeda3e348b4c088c4b7307b2a72478a icedtea-2.3.13 From omajid at icedtea.classpath.org Tue Jan 14 20:02:41 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 04:02:41 +0000 Subject: /hg/release/icedtea7-2.4: 2 new changesets Message-ID: changeset b4ec791c20d1 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=b4ec791c20d1 author: Omair Majid date: Tue Jan 14 18:46:21 2014 -0500 Bring in u51 changes Update to forest tag for 2.4.4, which should contain all the u51 changes. changeset 73ef620ce0a5 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=73ef620ce0a5 author: Omair Majid date: Tue Jan 14 19:28:54 2014 -0500 Prepare for 2.4.4 release. diffstat: ChangeLog | 23 +++++++++++++++++++++++ Makefile.am | 28 ++++++++++++++-------------- NEWS | 40 +++++++++++++++++++++++++++++++++++++++- configure.ac | 2 +- hotspot.map | 2 +- 5 files changed, 78 insertions(+), 17 deletions(-) diffs (139 lines): diff -r 6c64497ab921 -r 73ef620ce0a5 ChangeLog --- a/ChangeLog Wed Dec 18 00:32:15 2013 +0000 +++ b/ChangeLog Tue Jan 14 19:28:54 2014 -0500 @@ -1,3 +1,26 @@ +2014-01-14 Omair Majid + + * configure.ac: Set to 2.4.4. + * NEWS: Set date. + +2014-01-14 Omair Majid + + * Makefile.am: + (CORBA_CHANGESET): Update to IcedTea 2.4.4 tag. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * hotspot.map: Update to IcedTea 2.4.4 tag. + * NEWS: Update with fixes. + 2013-12-17 Andrew John Hughes * Makefile.am: diff -r 6c64497ab921 -r 73ef620ce0a5 Makefile.am --- a/Makefile.am Wed Dec 18 00:32:15 2013 +0000 +++ b/Makefile.am Tue Jan 14 19:28:54 2014 -0500 @@ -1,22 +1,22 @@ # Dependencies -JDK_UPDATE_VERSION = 45 -BUILD_VERSION = b31 +JDK_UPDATE_VERSION = 51 +BUILD_VERSION = b00 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 2b24b81f4555 -JAXP_CHANGESET = 582213f5560e -JAXWS_CHANGESET = 0cb5423008ad -JDK_CHANGESET = 18ee4113fc37 -LANGTOOLS_CHANGESET = 5216dd4602fe -OPENJDK_CHANGESET = 63b832c8ec92 +CORBA_CHANGESET = e540fd592221 +JAXP_CHANGESET = 2e2bf2d8be16 +JAXWS_CHANGESET = 5aceb5a787b1 +JDK_CHANGESET = 1fe539ed00bc +LANGTOOLS_CHANGESET = 3f5408abf14b +OPENJDK_CHANGESET = 796d1bf47b24 -CORBA_SHA256SUM = 7f2781cdb311930af63a1ee65e14d4612c3680ceb2d6815feee56d0880fe3db5 -JAXP_SHA256SUM = a41cbcb3abd0485fda80b96347d28af6461cdd5e7c3d51340ccbdb10360ad852 -JAXWS_SHA256SUM = efa5af8f64148b0d323b487d612069463b5300148751c4f1872c4f23a093dce6 -JDK_SHA256SUM = 7f5bbdcc31e85366489969b1a5cd37946c45c896013a34f4d576bdc8a5b3a19c -LANGTOOLS_SHA256SUM = c9846a716f9c23d970409af32d160297a9c8258dbc91d005cc05d6aab2465be1 -OPENJDK_SHA256SUM = 42fe9ff83e3b6a9b8e2ce2812e05eb8be52a6a3ff2972e93e7621617d530063e +CORBA_SHA256SUM = 77c3285f6abdefe7f19fc4c698ef1f4fe533f38941314e7e7077c34fa5eb4456 +JAXP_SHA256SUM = 48bb8ece00ef62c6c0161dd90e5789419594dfb5d08163781dac9ffc00c0a3f8 +JAXWS_SHA256SUM = ee2a7165b78693c3bb61a90128b60934704e9a5c6c7514abfbb61e41531b9919 +JDK_SHA256SUM = 16373b85dc5123cfe1816ec04f7d14e9a048c6eee7eb7c22b5b816fa1fd5e9bc +LANGTOOLS_SHA256SUM = 4375ccfacc49793dd0f13cb73ce3c684218bce71008fc237f3b6da754f4dfea6 +OPENJDK_SHA256SUM = abe048022f46f4d04130b2cf6a1b1d897bdca981518349d34fe5b415310f7782 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab diff -r 6c64497ab921 -r 73ef620ce0a5 NEWS --- a/NEWS Wed Dec 18 00:32:15 2013 +0000 +++ b/NEWS Tue Jan 14 19:28:54 2014 -0500 @@ -12,10 +12,48 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.4.4 (2014-XX-XX): +New in release 2.4.4 (2014-01-14): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list + - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023338: Update jarsigner to encourage timestamping + - S8023672: Enhance jar file validation + - S8024302: Clarify jar verifications + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms + - S8027201, CVE-2014-0376: Enhance JAX-P set up + - S8029507, CVE-2013-5893: Enhance JVM method processing + - S8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java fails agains * Backports - S8025255: (tz) Support tzdata2013g + - S8026826: JDK 7 fix for 8010935 broke the build * Bug fixes - PR1618: Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds - D729448: 32-bit alignment on mips and mipsel diff -r 6c64497ab921 -r 73ef620ce0a5 configure.ac --- a/configure.ac Wed Dec 18 00:32:15 2013 +0000 +++ b/configure.ac Tue Jan 14 19:28:54 2014 -0500 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.4pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.4], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r 6c64497ab921 -r 73ef620ce0a5 hotspot.map --- a/hotspot.map Wed Dec 18 00:32:15 2013 +0000 +++ b/hotspot.map Tue Jan 14 19:28:54 2014 -0500 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 3ba10e4780e0 debec9fafdd3c1787ccc7ad2090ff242731e36f061fa23911ccd18fc3f4fa73f +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot a8a33cc2dd4b cb5f109ae32c07301bc3a017c334ca3a7723124ff217d46127a16ade516d2902 From omajid at icedtea.classpath.org Tue Jan 14 20:03:04 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 04:03:04 +0000 Subject: /hg/release/icedtea7-2.4: Added tag icedtea-2.4.4 for changeset ... Message-ID: changeset c2a6ede50f5e in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=c2a6ede50f5e author: Omair Majid date: Tue Jan 14 23:02:57 2014 -0500 Added tag icedtea-2.4.4 for changeset 73ef620ce0a5 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 73ef620ce0a5 -r c2a6ede50f5e .hgtags --- a/.hgtags Tue Jan 14 19:28:54 2014 -0500 +++ b/.hgtags Tue Jan 14 23:02:57 2014 -0500 @@ -39,3 +39,4 @@ 3fbc8efc5df22013d6834b2ab3e4cf3aa581a35a icedtea-2.4.1 0fd63b23c711d9892bf565e309789517983d2728 icedtea-2.4.2 3dd8c1e3a5b3827f1843a78a017c57d0ed45f2c0 icedtea-2.4.3 +73ef620ce0a5d16d5c90e58eb17d022c1ecb572e icedtea-2.4.4 From omajid at icedtea.classpath.org Tue Jan 14 20:05:25 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 04:05:25 +0000 Subject: /hg/release/icedtea7-2.3: 3 new changesets Message-ID: changeset f6d7b7231b6f in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=f6d7b7231b6f author: Omair Majid date: Tue Jan 14 22:09:27 2014 -0500 Update to IcedTea-2.3.13 forest tag Update NEWS with fixes too. changeset 1ced129674a5 in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=1ced129674a5 author: Omair Majid date: Tue Jan 14 23:04:54 2014 -0500 Prepare for 2.3.13 changeset 1596a410ac29 in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=1596a410ac29 author: Omair Majid date: Tue Jan 14 23:05:15 2014 -0500 Added tag icedtea-2.3.13 for changeset 1ced129674a5 diffstat: .hgtags | 1 + ChangeLog | 23 +++++++++++++++++++++++ Makefile.am | 24 ++++++++++++------------ NEWS | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 2 +- hotspot.map | 2 +- 6 files changed, 86 insertions(+), 15 deletions(-) diffs (154 lines): diff -r b06fa297bd6a -r 1596a410ac29 .hgtags --- a/.hgtags Wed Jan 08 07:14:24 2014 -0600 +++ b/.hgtags Tue Jan 14 23:05:15 2014 -0500 @@ -49,3 +49,4 @@ 5f0394d24af3ae26333240f3c98c94eb170ffb0c icedtea-2.3.10 05dd3f8c99d9f7682f2913105e0dbfca1d54574c icedtea-2.3.11 15f12a7b52afd256dab7f6eb91050714e33871a9 icedtea-2.3.12 +1ced129674a58a8dec5ce2ceb11d8dd6407aa2af icedtea-2.3.13 diff -r b06fa297bd6a -r 1596a410ac29 ChangeLog --- a/ChangeLog Wed Jan 08 07:14:24 2014 -0600 +++ b/ChangeLog Tue Jan 14 23:05:15 2014 -0500 @@ -1,3 +1,26 @@ +2014-01-14 Omair Majid + + * NEWS: Update with date. + * configure.ac: Set version. + +2014-01-14 Omair Majid + + * Makefile.am + (CORBA_CHANGESET): Update to IcedTea 2.3.13. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * hotspot.map: Update default to IcedTea 2.3.13 HotSpot + * NEWS: Update. + 2014-01-08 Andrew John Hughes * Makefile.am: diff -r b06fa297bd6a -r 1596a410ac29 Makefile.am --- a/Makefile.am Wed Jan 08 07:14:24 2014 -0600 +++ b/Makefile.am Tue Jan 14 23:05:15 2014 -0500 @@ -4,19 +4,19 @@ JDK_UPDATE_VERSION = 25 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(OPENJDK_VERSION) -CORBA_CHANGESET = 3850cca0da9a -JAXP_CHANGESET = 190a4ffa6a95 -JAXWS_CHANGESET = bb0717b2e410 -JDK_CHANGESET = 7b65a4d96959 -LANGTOOLS_CHANGESET = 96fc7f35fbed -OPENJDK_CHANGESET = 2ce335eb4926 +CORBA_CHANGESET = f12e1c039846 +JAXP_CHANGESET = 691a5e0c657f +JAXWS_CHANGESET = 1067e01a4e0e +JDK_CHANGESET = bad5e0686160 +LANGTOOLS_CHANGESET = d50a9c5cd291 +OPENJDK_CHANGESET = 66eecafe5565 -CORBA_SHA256SUM = fdb1bfaa1e9cf23df3b7dbcf13519e666ba9a775c2c1ac428e82c21cde311840 -JAXP_SHA256SUM = d53adc4b9679914da3f8ddf3ec06e6e8bc8d39392a94f45b346f33840df015c5 -JAXWS_SHA256SUM = 12c18a698d391b82f390e8b510cd1b4dc5a1fb8d86db51b9f04cc069696cf8bd -JDK_SHA256SUM = ed0ac5b438b4a9b831763705e97aadbd8cf355adfc510068219ccd52ce8feea5 -LANGTOOLS_SHA256SUM = 16692b0413b923895bfb96784e7de87697bae647939ae151d7b5891911c9f019 -OPENJDK_SHA256SUM = 9c82391dcbde566f79203beb49b6bdaedcdecbcb6264596ada94be9bf60670b0 +CORBA_SHA256SUM = 1da8714d86f7d9a91d835280662b95b257cb1b6f04b9d2dc5e30adb854b86cf0 +JAXP_SHA256SUM = 0c6f61c054613b5f06a8a16796ba020b0dd0f2d980c6eb0fc1ccc8bb41fce7dd +JAXWS_SHA256SUM = 3957ca1fbf2a4f37f106a24d1cc0e45ae48a9916270150f1de1aead698b33124 +JDK_SHA256SUM = 5c107e2176a94d1d589920dfaef2a989a7b49bb92a63c68b3f44da297e70bf6b +LANGTOOLS_SHA256SUM = 1ea31d21beb88f2512630523f24f3a35498deed1356c4c0bf8b901086dd2c13a +OPENJDK_SHA256SUM = a8ed4cefc22353e6126f14a80bbf92d111c6bcfb58537c14e2916520de3f94f6 CACAO_VERSION = a567bcb7f589 CACAO_SHA256SUM = d49f79debc131a5694cae6ab3ba2864e7f3249ee8d9dc09aae8afdd4dc6b09f9 diff -r b06fa297bd6a -r 1596a410ac29 NEWS --- a/NEWS Wed Jan 08 07:14:24 2014 -0600 +++ b/NEWS Tue Jan 14 23:05:15 2014 -0500 @@ -10,13 +10,60 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.3.13 (2013-XX-XX): +New in release 2.3.13 (2014-01-14): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list + - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023338: Update jarsigner to encourage timestamping + - S8023672: Enhance jar file validation + - S8024302: Clarify jar verifications + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up * Backports + - S7173959: Jvm crashed during coherence exabus (tmb) testin + - S7182152: Instrumentation hot swap test incorrect monitor count + - S8009399: Bump the hsx build number for APRIL CPU + - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it + - S8015614: Update build settings + - S8016256: Make finalization final - S8016814: sun.reflect.Reflection.getCallerClass returns the frame off by 1 + - S8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() + - S8023457: Event based tracing framework needs a mutex for thread groups + - S8023478: Test fails with HS crash in GCNotifier. + - S8023683: Enhance class file parsing + - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp + - S8026826: JDK 7 fix for 8010935 broke the build * Bug fixes - Enable Zero when there is no HotSpot JIT and an alternate VM has not been explictly enabled. + - PR1551: Add build support for Zero AArch64 New in release 2.3.12 (2013-07-26): diff -r b06fa297bd6a -r 1596a410ac29 configure.ac --- a/configure.ac Wed Jan 08 07:14:24 2014 -0600 +++ b/configure.ac Tue Jan 14 23:05:15 2014 -0500 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.3.13pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.3.13], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r b06fa297bd6a -r 1596a410ac29 hotspot.map --- a/hotspot.map Wed Jan 08 07:14:24 2014 -0600 +++ b/hotspot.map Tue Jan 14 23:05:15 2014 -0500 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot db4c82656465 c7fd9e168f50054640eebc6d019b99d35a57cc71e4cdeeb003d3416357ae6503 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/hotspot 3442eb7ef2d2 cda53696c0c5240f59ca8b21c8c38a347714ee95d0434f228e3a794b1aad65b4 From omajid at redhat.com Tue Jan 14 20:38:04 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 14 Jan 2014 23:38:04 -0500 Subject: [Security] IcedTea 2.3.13 and 2.4.4 Released! Message-ID: <20140115043804.GC3383@redhat.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. These releases update our OpenJDK 7 support in the 2.3.x and 2.4.x series with a number of security fixes. Existing users of the 2.3.x series are strongly advised to upgrade to the 2.4.x series. Although there is a 2.3.x update, one security issue (CVE-2013-5893) is resolved by a Method Handles fix (S8029507) which is present in the 2.4.x series, but not 2.3.x. We have not been able to backport this (patches and suggestions welcome). The safest solution is to use 2.4.x where possible. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 2.4.4 (2014-01-14): * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections - S8023245, CVE-2014-0423: Enhance Beans decoding - S8023301: Enhance generic classes - S8023338: Update jarsigner to encourage timestamping - S8023672: Enhance jar file validation - S8024302: Clarify jar verifications - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience - S8024867: Enhance logging start up - S8025014: Enhance Security Policy - S8025018, CVE-2014-0376: Enhance JAX-P set up - S8025026, CVE-2013-5878: Enhance canonicalization - S8025034, CVE-2013-5907: Improve layout lookups - S8025448: Enhance listening events - S8025758, CVE-2014-0422: Enhance Naming management - S8025767, CVE-2014-0428: Enhance IIOP Streams - S8026172: Enhance UI Management - S8026176: Enhance document printing - S8026193, CVE-2013-5884: Enhance CORBA stub factories - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms - S8027201, CVE-2014-0376: Enhance JAX-P set up - S8029507, CVE-2013-5893: Enhance JVM method processing - S8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java fails agains * Backports - S8025255: (tz) Support tzdata2013g - S8026826: JDK 7 fix for 8010935 broke the build * Bug fixes - PR1618: Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds - D729448: 32-bit alignment on mips and mipsel - PR1623: Collision between OpenJDK 6 & 7 classes when bootstrapping with OpenJDK 6 New in release 2.3.13 (2014-01-14): * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections - S8023245, CVE-2014-0423: Enhance Beans decoding - S8023301: Enhance generic classes - S8023338: Update jarsigner to encourage timestamping - S8023672: Enhance jar file validation - S8024302: Clarify jar verifications - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience - S8024867: Enhance logging start up - S8025014: Enhance Security Policy - S8025018, CVE-2014-0376: Enhance JAX-P set up - S8025026, CVE-2013-5878: Enhance canonicalization - S8025034, CVE-2013-5907: Improve layout lookups - S8025448: Enhance listening events - S8025758, CVE-2014-0422: Enhance Naming management - S8025767, CVE-2014-0428: Enhance IIOP Streams - S8026172: Enhance UI Management - S8026176: Enhance document printing - S8026193, CVE-2013-5884: Enhance CORBA stub factories - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up * Backports - S7173959: Jvm crashed during coherence exabus (tmb) testin - S7182152: Instrumentation hot swap test incorrect monitor count - S8009399: Bump the hsx build number for APRIL CPU - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it - S8015614: Update build settings - S8016256: Make finalization final - S8016814: sun.reflect.Reflection.getCallerClass returns the frame off by 1 - S8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() - S8023457: Event based tracing framework needs a mutex for thread groups - S8023478: Test fails with HS crash in GCNotifier. - S8023683: Enhance class file parsing - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp - S8026826: JDK 7 fix for 8010935 broke the build * Bug fixes - Enable Zero when there is no HotSpot JIT and an alternate VM has not been explictly enabled. - PR1551: Add build support for Zero AArch64 The tarballs can be downloaded from: * http://icedtea.classpath.org/download/source/icedtea-2.3.13.tar.gz and * http://icedtea.classpath.org/download/source/icedtea-2.4.4.tar.gz The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-2.3.13.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.4.4.tar.gz.sig These are produced using my public key. See details below. PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 SHA256 checksums: 490935de1762fb1a02e858701cbfdb5a8df45560b56c528131b51ff444c7a454 icedtea-2.3.13.tar.gz ddce5dadaca4a24e8ecd632d5299fefd76f3bdcd7040bfbded3de3b1dffd56b3 icedtea-2.4.4.tar.gz The following people helped with these releases: * Elliott Baron * Andrew Dinn * Jana Fabrikova * Christine Flood * Severin Gehwolf * Andrew Haley * Andrew Hughes * Roman Kennke * Omair Majid * Chris Phillips * Pavel Tisnovsky * Mario Torre * Jonathan VanAlten * Jiri Vanek We would also like to thank the bug reporters and testers! To get started: $ tar xf icedtea-2.4.4.tar.gz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.4.4/configure $ make Full build requirements and instructions are available in the INSTALL file. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From doko at ubuntu.com Wed Jan 15 02:43:29 2014 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 15 Jan 2014 11:43:29 +0100 Subject: [patch] build openjdk-7 for x86_64-linux-gnux32 Message-ID: <52D66651.3030006@ubuntu.com> Attached are two patches to build icedtea zero on x86_64-linux-gnux32. One for the icedtea configury, the other for openjdk. - the Platform.gmk bigs maybe should be based on $host instead. - the sys/sysctl.h includes seem to be left overs, aren't used anymore on other architectures. I didn't look if/how hotspot i386 would build on this architecture. Matthias build logs and test results can be found at http://buildd.debian-ports.org/status/logs.php?pkg=openjdk-7&ver=7u45-2.4.3-5&arch=x32 --------------- jtreg console summary for hotspot --------------- Error: compiler/5091921/Test6905845.java Error: compiler/5091921/Test6992759.java Error: compiler/5091921/Test7020614.java Error: compiler/6901572/Test.java Error: compiler/7047069/Test7047069.java Error: compiler/7100757/Test7100757.java Error: compiler/7184394/TestAESMain.java Error: compiler/7196199/Test7196199.java FAILED: compiler/8010927/Test8010927.java FAILED: compiler/cpuflags/RestoreMXCSR.java Error: gc/6941923/test6941923.sh FAILED: gc/7168848/HumongousAlloc.java FAILED: gc/g1/TestRegionAlignment.java FAILED: gc/heap_inspection/TestPrintClassHistogram.java FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java FAILED: gc/TestVerifyBeforeGCDuringStartup.java FAILED: runtime/6929067/Test6929067.sh FAILED: runtime/7158988/FieldMonitor.java Error: runtime/7196045/Test7196045.java FAILED: runtime/CommandLine/CompilerConfigFileWarning.java FAILED: runtime/CommandLine/ConfigFileWarning.java FAILED: runtime/NMT/BaselineWithParameter.java FAILED: runtime/NMT/CommandLineDetail.java FAILED: runtime/NMT/CommandLineEmptyArgument.java FAILED: runtime/NMT/CommandLineInvalidArgument.java FAILED: runtime/NMT/CommandLineSummary.java FAILED: runtime/NMT/CommandLineTurnOffNMT.java FAILED: runtime/NMT/JcmdDiffCallsite.java FAILED: runtime/NMT/JcmdScale.java FAILED: runtime/NMT/JcmdWithNMTDisabled.java FAILED: runtime/NMT/MallocTestType.java FAILED: runtime/NMT/PrintNMTStatistics.java FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java FAILED: runtime/NMT/ReleaseCommittedMemory.java FAILED: runtime/NMT/ShutdownTwice.java FAILED: runtime/NMT/SummaryAfterShutdown.java FAILED: runtime/NMT/SummarySanityCheck.java FAILED: runtime/NMT/ThreadedMallocTestType.java FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java FAILED: runtime/NMT/VirtualAllocTestType.java FAILED: sanity/WBApi.java FAILED: serviceability/attach/AttachWithStalePidFile.java FAILED: serviceability/ParserTest.java Test results: passed: 223; failed: 33; error: 10 --------------- jtreg console summary for langtools --------------- FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java Error: tools/javac/Diagnostics/6769027/T6769027.java FAILED: tools/javac/processing/6499119/ClassProcessor.java FAILED: tools/javac/T5090006/T5090006.java Test results: passed: 1,955; failed: 3; error: 1 -------------- next part -------------- --- openjdk/hotspot/src/os/linux/vm/os_linux.cpp.orig 2013-12-28 17:55:28.029217634 +0100 +++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp 2013-12-28 17:55:51.433389820 +0100 @@ -1998,7 +1998,7 @@ #if (defined IA32) static Elf32_Half running_arch_code=EM_386; - #elif (defined AMD64) + #elif (defined AMD64) || (defined X32) static Elf32_Half running_arch_code=EM_X86_64; #elif (defined IA64) static Elf32_Half running_arch_code=EM_IA_64; --- openjdk/corba/make/common/shared/Platform.gmk.orig 2013-12-28 17:55:28.029217634 +0100 +++ openjdk/corba/make/common/shared/Platform.gmk 2013-12-28 17:57:17.154020459 +0100 @@ -163,8 +163,12 @@ ia64) \ echo ia64 \ ;; \ - x86_64) \ - echo amd64 \ + amd64|x86_64) \ + if [ "`dpkg-architecture -qDEB_HOST_ARCH`" = x32 ]; then \ + echo x32; \ + else \ + echo amd64; \ + fi \ ;; \ sparc*) \ echo sparc \ --- openjdk/jdk/make/jdk_generic_profile.sh.orig 2013-12-28 17:55:28.029217634 +0100 +++ openjdk/jdk/make/jdk_generic_profile.sh 2013-12-28 17:55:51.433389820 +0100 @@ -255,7 +257,12 @@ # subdirectory under $JAVA_HOME/jre/lib arch=$(uname -m) case "${arch}" in - x86_64) ZERO_LIBARCH=amd64 ;; + x86_64) + if [ "`dpkg-architecture -qDEB_HOST_ARCH`" = x32 ]; then + ZERO_LIBARCH=x32 + else + ZERO_LIBARCH=amd64 + fi;; i?86) ZERO_LIBARCH=i386 ;; sparc64) ZERO_LIBARCH=sparcv9 ;; arm*) ZERO_LIBARCH=arm ;; @@ -267,7 +275,7 @@ # ARCH_DATA_MODEL is the number of bits in a pointer case "${ZERO_LIBARCH}" in - arm|i386|ppc|s390|sh|sparc) + arm|i386|ppc|s390|sh|sparc|x32) ARCH_DATA_MODEL=32 ;; aarch64|alpha|amd64|ia64|ppc64*|s390x|sparcv9) @@ -281,7 +289,7 @@ # ZERO_ENDIANNESS is the endianness of the processor case "${ZERO_LIBARCH}" in - arm|aarch64|amd64|i386|ia64|mipsel|ppc64le) + arm|aarch64|amd64|i386|ia64|mipsel|ppc64le|x32) ZERO_ENDIANNESS=little ;; ppc*|s390*|sparc*|alpha) @@ -299,6 +307,7 @@ ppc*) ZERO_ARCHDEF=PPC ;; s390*) ZERO_ARCHDEF=S390 ;; sparc*) ZERO_ARCHDEF=SPARC ;; + x32) ZERO_ARCHDEF=AMD64 ;; *) ZERO_ARCHDEF=$(echo "${ZERO_LIBARCH}" | tr a-z A-Z) esac export ZERO_ARCHDEF --- openjdk/jdk/make/common/shared/Platform.gmk.orig 2013-12-28 17:55:28.029217634 +0100 +++ openjdk/jdk/make/common/shared/Platform.gmk 2013-12-28 17:57:02.401911931 +0100 @@ -170,8 +170,12 @@ ia64) \ echo ia64 \ ;; \ - x86_64) \ - echo amd64 \ + amd64|x86_64) \ + if [ "`dpkg-architecture -qDEB_HOST_ARCH`" = x32 ]; then \ + echo x32; \ + else \ + echo amd64; \ + fi \ ;; \ sparc*) \ echo sparc \ @@ -211,6 +215,9 @@ ifeq ($(ARCH), s390x) ARCH_DATA_MODEL=64 endif + ifeq ($(ARCH), x32) + ARCH_DATA_MODEL=32 + endif ifeq ($(ARCH), sh) ARCH_DATA_MODEL=32 endif --- openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +++ openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c @@ -35,7 +35,6 @@ #endif #ifdef __linux__ #include -#include #include #include --- openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c +++ openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c @@ -43,7 +43,6 @@ #endif #ifdef __linux__ #include -#include #endif #include "jvm.h" -------------- next part -------------- --- acinclude.m4 +++ acinclude.m4 @@ -2,10 +2,18 @@ [ case "${host_cpu}" in x86_64) - BUILD_ARCH_DIR=amd64 - INSTALL_ARCH_DIR=amd64 - JRE_ARCH_DIR=amd64 - ARCHFLAG="-m64" + case "${host}" in + *x32) + BUILD_ARCH_DIR=x32 + INSTALL_ARCH_DIR=x32 + JRE_ARCH_DIR=x32 + ;; + *) + BUILD_ARCH_DIR=amd64 + INSTALL_ARCH_DIR=amd64 + JRE_ARCH_DIR=amd64 + ARCHFLAG="-m64" + esac ;; i?86) BUILD_ARCH_DIR=i586 @@ -702,10 +710,10 @@ ZERO_LIBARCH="${INSTALL_ARCH_DIR}" dnl can't use AC_CHECK_SIZEOF on multilib case "${ZERO_LIBARCH}" in - arm|i386|ppc|s390|sh|sparc) + arm|i386|ppc|s390|sh|sparc|x32) ZERO_BITSPERWORD=32 ;; - aarch64|alpha|amd64|ia64|ppc64|s390x|sparcv9) + aarch64|alpha|amd64|ia64|ppc64*|s390x|sparcv9) ZERO_BITSPERWORD=64 ;; *) From ptisnovs at icedtea.classpath.org Wed Jan 15 04:08:56 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 15 Jan 2014 12:08:56 +0000 Subject: /hg/gfx-test: Six new tests added into BitBitBltAffineIdentityTr... Message-ID: changeset 121696444efb in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=121696444efb author: Pavel Tisnovsky date: Wed Jan 15 13:13:09 2014 +0100 Six new tests added into BitBitBltAffineIdentityTransformOp.java: diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 84 ++++++++++ 2 files changed, 89 insertions(+), 0 deletions(-) diffs (106 lines): diff -r 5a9cc7bba621 -r 121696444efb ChangeLog --- a/ChangeLog Tue Jan 14 13:20:15 2014 +0100 +++ b/ChangeLog Wed Jan 15 13:13:09 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-15 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Six new tests added into BitBitBltAffineIdentityTransformOp.java: + 2014-01-14 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java: diff -r 5a9cc7bba621 -r 121696444efb src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Jan 14 13:20:15 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Wed Jan 15 13:13:09 2014 +0100 @@ -2927,6 +2927,90 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp4); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Wed Jan 15 04:11:48 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 15 Jan 2014 12:11:48 +0000 Subject: /hg/rhino-tests: Added additional checks into the test testCase. Message-ID: changeset 287dddd8c593 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=287dddd8c593 author: Pavel Tisnovsky date: Wed Jan 15 13:16:03 2014 +0100 Added additional checks into the test testCase. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptExceptionClassTest.java | 72 ++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 0 deletions(-) diffs (129 lines): diff -r 1dc53f4e69f7 -r 287dddd8c593 ChangeLog --- a/ChangeLog Tue Jan 14 13:25:33 2014 +0100 +++ b/ChangeLog Wed Jan 15 13:16:03 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-15 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Added additional checks into the test testCase. + 2014-01-14 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineClassTest.java: diff -r 1dc53f4e69f7 -r 287dddd8c593 src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Tue Jan 14 13:25:33 2014 +0100 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Wed Jan 15 13:16:03 2014 +0100 @@ -1548,6 +1548,14 @@ } try { + this.scriptExceptionClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1604,6 +1612,14 @@ } try { + this.scriptExceptionClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1612,6 +1628,14 @@ } try { + this.scriptExceptionClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1620,6 +1644,22 @@ } try { + this.scriptExceptionClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.cast(new java.io.File("xyzzy")); + throw new AssertionError("Class.cast(new java.io.File(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1668,6 +1708,30 @@ } try { + this.scriptExceptionClass.cast(new java.awt.Label()); + throw new AssertionError("Class.cast(new java.awt.Label()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.cast(new java.awt.Label(new String())); + throw new AssertionError("Class.cast(new java.awt.Label(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptExceptionClass.cast(new java.awt.Label("xyzzy")); + throw new AssertionError("Class.cast(new java.awt.Label(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1684,6 +1748,14 @@ } try { + this.scriptExceptionClass.cast(new javax.swing.JLabel("xyzzy")); + throw new AssertionError("Class.cast(new javax.swing.JLabel(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptExceptionClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From jvanek at icedtea.classpath.org Wed Jan 15 06:11:42 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 15 Jan 2014 14:11:42 +0000 Subject: /hg/icedtea-web: Fixed memory leak detector to correctly handle ... Message-ID: changeset 8983d8c01896 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8983d8c01896 author: Jiri Vanek date: Wed Jan 15 15:11:22 2014 +0100 Fixed memory leak detector to correctly handle pre_init_messages queue. diffstat: ChangeLog | 9 +++++++++ plugin/icedteanp/IcedTeaPluginUtils.cc | 4 ++++ plugin/icedteanp/IcedTeaPluginUtils.h | 1 + tests/cpp-unit-tests/MemoryLeakDetector.h | 2 ++ 4 files changed, 16 insertions(+), 0 deletions(-) diffs (53 lines): diff -r 6d8b0bd9402f -r 8983d8c01896 ChangeLog --- a/ChangeLog Thu Jan 09 12:54:00 2014 -0500 +++ b/ChangeLog Wed Jan 15 15:11:22 2014 +0100 @@ -1,3 +1,12 @@ +2014-01-15 Jiri Vanek + + Fixed memory leak detector to correctly handle pre_init_messages queue. + * plugin/icedteanp/IcedTeaPluginUtils.cc: implemented (reset_pre_init_messages) + method. + * plugin/icedteanp/IcedTeaPluginUtils.h: declared (reset_pre_init_messages). + * tests/cpp-unit-tests/MemoryLeakDetector.h: (reset_global_state) called + (reset_pre_init_messages). + 2014-01-09 Andrew Azores * html-gen.sh: made more idiomatic and removed some bashisms diff -r 6d8b0bd9402f -r 8983d8c01896 plugin/icedteanp/IcedTeaPluginUtils.cc --- a/plugin/icedteanp/IcedTeaPluginUtils.cc Thu Jan 09 12:54:00 2014 -0500 +++ b/plugin/icedteanp/IcedTeaPluginUtils.cc Wed Jan 15 15:11:22 2014 +0100 @@ -85,6 +85,10 @@ pthread_mutex_unlock(&debug_pipe_lock); } +void reset_pre_init_messages(){ + pre_jvm_message = std::queue(); + } + /** * Given a context number, constructs a message prefix to send to Java * diff -r 6d8b0bd9402f -r 8983d8c01896 plugin/icedteanp/IcedTeaPluginUtils.h --- a/plugin/icedteanp/IcedTeaPluginUtils.h Thu Jan 09 12:54:00 2014 -0500 +++ b/plugin/icedteanp/IcedTeaPluginUtils.h Wed Jan 15 15:11:22 2014 +0100 @@ -68,6 +68,7 @@ void *flush_pre_init_messages(void* data); void push_pre_init_messages(char * ldm); +void reset_pre_init_messages(); // debugging macro. #define initialize_debug() \ diff -r 6d8b0bd9402f -r 8983d8c01896 tests/cpp-unit-tests/MemoryLeakDetector.h --- a/tests/cpp-unit-tests/MemoryLeakDetector.h Thu Jan 09 12:54:00 2014 -0500 +++ b/tests/cpp-unit-tests/MemoryLeakDetector.h Wed Jan 15 15:11:22 2014 +0100 @@ -75,6 +75,8 @@ IcedTeaPluginUtilities::clearInstanceIDs(); /* Clears allocations caused by storeObjectMapping */ IcedTeaPluginUtilities::clearObjectMapping(); + /*reset messages*/ + reset_pre_init_messages(); } int initial_cpp_allocations; From jvanek at redhat.com Wed Jan 15 06:11:56 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 15 Jan 2014 15:11:56 +0100 Subject: [rfc][icedtea-web] fixed MemoryLeak detector to not report pre_jvm_message's memory leak In-Reply-To: References: <52D4FEDD.3030102@redhat.com> Message-ID: <52D6972C.40504@redhat.com> On 01/14/2014 09:31 PM, Adam Domurad wrote: > > > > On Tue, Jan 14, 2014 at 4:09 AM, Jiri Vanek > wrote: > > As known, Java aware of plugin messages patch introduced memory leak test to report leak. > > After long investigations I had to ask (thanx!) Adam: > > "There is no leak -- the test system just requires clearing of all modified global state between > tests. There is a reset function in the memory leak detector, if you clear your structures in > that function the memory leak detector will play nicely." > > > And then the solution was simple. > > > J. > > > OK to push :-) (I can still say that, right ?) Sure you can :) Thanx, pushed! J. From jvanek at redhat.com Wed Jan 15 06:26:51 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 15 Jan 2014 15:26:51 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <20140114181542.GT23063@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> Message-ID: <52D69AAB.50500@redhat.com> On 01/14/2014 07:15 PM, Deepak Bhole wrote: > * Jiri Vanek [2014-01-14 07:44]: >> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>> Hello there! >>> >>> On 01/13/2014 23:20, Andrew Azores wrote: >>>> Hi, >>>> >>>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>>> used to set up a custom user-level JNLP policy - this, in combination with the >>>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>>> permissions are handled with signed applets/applications. >>>> >>>> A nicer, more user-friendly editor to replace the policytool will hopefully come >>>> later on. >>> >>> Oooooooh yes, please! This would be awesome! :-) >> >> Yes this would be :)) >> But it is different task. And Quite complex. Especially it must pass >> upstream (openjdk). And that is *the* task! >> > > Hi Jiri, > > How so? The editor we have in mind for ITW is to set policies for > applets/JNLP apps. Why the need to have it accepted upstream (not that I > am against it)? > > The editor will be geared toward setting policies for untrusted apps for > the most part (e.g. checkboxes for "allow read/write to filesystem", > "allow network connection" etc. and some additional customizations. In > general it would be too restrictive for the kind of complex policies > that administrators would want to set for complex Java applications. > Hi! Well the policy tool do exists, and can be reused. There is no need to re-implement it. If so, then in the most correct place of all - the jdk (where current policy tool is). Then others (even itw) will gain benefits from it. We can add some simple editor for most common cases (as I understand form your comment is what you wont). But not rewrite it on our own. Thanx for watch! J. > >> For now I'm happy that this feature was implemented with such an small effort. >>> ... From aph at redhat.com Wed Jan 15 07:13:19 2014 From: aph at redhat.com (Andrew Haley) Date: Wed, 15 Jan 2014 15:13:19 +0000 Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> Message-ID: <52D6A58F.7060909@redhat.com> On 01/15/2014 01:40 PM, Grant wrote: > Hi Andrew, can you point me in the right direction with this? Here > are a couple errors I'm getting depending on compile options and > bootstrap VM: > > http://pastebin.com/VV3rMezP > http://pastebin.com/ThjufjyH This may be the bug that Chris Philips is working on. Chris? Andrew. From ELefeber at trustwave.com Wed Jan 15 07:15:39 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Wed, 15 Jan 2014 15:15:39 +0000 Subject: IcedTea-web: Memory leak - java side Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> I am using icedtea-6-plugin with firefox on linux debian (wheezy). I noticed that after opening applets in firefox tabs, and closing them, some objects in java plugin are not released, which causes the heap size of the jvm to keep increasing. For example, I see that the PluginAppletViewer object is not released, also the applet object itself and each classloader of each applet. If I open and close a webpage containing a java applet, the jvm eventually will get out of memory exception. Looking at the plugin code, I see that when closing the applet window, the function PluginAppletViewer.destroyApplet is called, but in this flow, not all objects are release. Is there a way to free the memory without taking down the jvm to prevent the increase in memory? ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140115/e60e4d7c/attachment.html From jvanek at redhat.com Wed Jan 15 07:24:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 15 Jan 2014 16:24:23 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D5C98D.70806@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> Message-ID: <52D6A827.9020601@redhat.com> On 01/15/2014 12:34 AM, Jacob Wisor wrote: > On 01/14/2014 07:16 PM, Andrew Azores wrote: >> On 01/14/2014 10:34 AM, Jiri Vanek wrote: >>> On 01/14/2014 03:16 PM, Jacob Wisor wrote: >>>> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>>>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>>>> Hello there! >>>>>> >>>>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>>>> Hi, >>>>>>> >>>>>>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>>>>>> used to set up a custom user-level JNLP policy - this, in combination with >>>>>>> the >>>>>>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>>>>>> permissions are handled with signed applets/applications. >>>>>>> >>>>>>> A nicer, more user-friendly editor to replace the policytool will >>>>>>> hopefully come >>>>>>> later on. >>>>>> >>>>>> Oooooooh yes, please! This would be awesome! :-) >>>>> >>>>> Yes this would be :)) >>>>> But it is different task. And Quite complex. Especially it must pass upstream >>>>> (openjdk). And that is *the* task! >>>> >>>> Well, it does not need to replace or displace OpenJDK's policytool. It should >>>> be probably enough >>>> that it complements it. ;-) You know, it's neither forbidden nor against any >>>> spec to build >>>> augmenting tools around OpenJDK. >>> >>> But still contribute to Openjdk itself is the right thing to do. >>> >>> ... >>>> >>>> At first, I thought that the problem would rather be that some system >>>> configurations may be missing >>>> a PATH environment variable entry to policytool and thus launching it may >>>> fail. But, Jiri is right. >>>> The best approach here would probably be to call directly into policytool's >>>> main() method with >>>> user.home as its current working directory. policytool is part of rt.jar, not >>>> tools.jar, so it >>>> should already be on bootclasspath. But, you may have to investigate deeper >>>> into it because the >>> >>> Great! >>> >>> But I doubt "with user.home as its current working directory" is possible. >>> Or do we misunderstand each other? >>> >>> I had in my mind simple PolicyTool.main(arg,aerg,arg) call in itw-settings. >>> >>> >>>> package names of some tools have changed from OpenJDK 6 over to OpenJDK 7. >>> >>> I doubt policy tool was touched in last 10 years ;) >>> >>> J. >>> >> >> [...] >> >> The actual PolicyPanel is now launching the PolicyTool by invoking its main >> method, rather than exec'ing a new process. > > After I have hit the send button for my last e-mail, I have realized that it may be desirable to run > policytool in a separate process for security reasons, although calling directly into > PolicyTool.main(). Maybe it's just me being paranoid, but authoring policies is a security sensitive > task. In the current patch policytool gets loaded into the same JVM as itw-settings. If the current > JVM or itw-settings has been compromised for the current user, he/she may be editing a heck of > secure policy but could end up with a policy file on disk, granting AllPermissions to some malicious > code bearing URL. Sure, policy files are simple human readable text files that can be checked before > applying. But, who really does that? > Of course, I do realize that if one's system JRE has been compromised then probably all other JVM > instances and the applications running on them are going to get compromised sooner or later on that > system. I don't know, I just wanted to share some wired thoughts on policy authoring security. :-D Ugh. I hope this is not true. But Ido not know. Btw - by specifying policies - the itw-settings will be still unaffected correct? > >> I've put this into a new thread, but tbh I'm not sure if that was entirely necessary. > > In this case, I had rather something like SwingUtilities.invokeLater() or EventQueue.invokeLater() > in mind. In general, only activities related to manipulating and displaying UI elements should be > placed on the AWT thread. Work code should either be put into invokeLater() or custom working > threads (like SwingWorker for example), although the later has some more caveats in most cases. > invokeLater() actually does indeed create a thread too but it also neatly ties it into the UI > toolkit and takes care of most of those caveats, so developers are really advised to use it. You may > want to read the tiny discussion on "Swing's Threading Policy" at the bottom of javax.swing's > package API documentation regarding this topic. ;-) +1! > >> The "View Policy" button has a tooltip now that indicates the location of the file that will be >> opened, >> although this is also displayed in the policytool itself if you launch it. > > Right, that's actually why I have remained silent on that matter. It's a good move to indicate the > policy file's location before launching policytool. > >> The View Button's action listener is no longer an anonymous inner class, since I >> don't really mind the style either way personally. > > Yey, I love inner classes! :-D Declaring a member variable holding the ActionListener's reference > would have been enough too, but hey, going all the way through is even cooler. 8-) > >> Its implementation does have an anonymous inner Runnable inside its Thread, though. > > An anonymous Runnable implementation without keeping a reference to it is okay here because in any > case, there can only be one Runnable object per Thread object, hence a reference to that anonymous > Runnable object is always unambiguously retrievable. Nevertheless, you may want to prefer > invokeLater() over that custom thread. as above > >> Oh, and there's also now an error dialog if for some reason the policy file can't be opened (eg it >> exists >> but you don't have read permission, or it exists but is a directory, or >> whatever). If the file doesn't already exist then we attempt to create a blank >> one there first, since the PolicyTool itself doesn't seem to do this. > > Although all JOptionPane.showXxxDialog() dialogs are modal, please pass it a reference to > itw-settings' JFrame for the sake of completeness, before it grabs some undesired /default/ > Compenent - what ever this might be - or perhaps even the desktop window. +1 > > I hope you are sure about what you have been probably intending to accomplish with > canOpenPolicyFile() actually does what you had in mind. File.canRead() and File.canWrite() are not > platform agnostic and they are only checking file system access permissions, not physical read/write > capability. Those methods are so misleading in their semantics and should not have found their way > into the Java API in the first place. The JCP board would be well advised to deprecate these methods > as soon as possible for being highly platform dependent and having misleading semantics. I have > already covered this in an earlier post to this mailing list. ;-) > Besides File.canRead() and File.canWrite() also test for existence so you may want to simplify and > drop some redundant tests in you current code. I may be mistaken, but there may already be code > present in net.sourceforge.jnlp.util.FileUtils for your intended purpose. > IMHO, you should probably drop these tests anyway because it's on the policytool to do those tests > (from a software engineering point of view). This have already appeared, Jacob, have not? :o) + public static boolean canOpenPolicyFile(final File policyFile) throws IOException { + FileUtils.createParentDir(policyFile); + if (!policyFile.exists()) { + policyFile.createNewFile(); + } + return policyFile.isFile() && policyFile.canRead() && policyFile.canWrite(); + } For a directory you can use DirectroyValidator class in itw. It do what you wont to do in full scale. imho the policyFile.canWrite(); is not necessary (the message "can not write" is worthy anyway ) . The toll is useful also for read only viewing.. The messages "is not file" or "can not be read" or "cannot be written" are better then one generic one. Thanx both of you for contributions! J. From jvanek at redhat.com Wed Jan 15 07:24:52 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 15 Jan 2014 16:24:52 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D5C98D.70806@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> Message-ID: <52D6A844.20902@redhat.com> On 01/15/2014 12:34 AM, Jacob Wisor wrote: > On 01/14/2014 07:16 PM, Andrew Azores wrote: >> On 01/14/2014 10:34 AM, Jiri Vanek wrote: >>> On 01/14/2014 03:16 PM, Jacob Wisor wrote: >>>> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>>>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>>>> Hello there! >>>>>> >>>>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>>>> Hi, >>>>>>> >>>>>>> This small patch hooks the JDK policytool into itweb-settings. It can then be >>>>>>> used to set up a custom user-level JNLP policy - this, in combination with >>>>>>> the >>>>>>> Run in Sandbox patch, will allow for quite a lot more flexibility in how >>>>>>> permissions are handled with signed applets/applications. >>>>>>> >>>>>>> A nicer, more user-friendly editor to replace the policytool will >>>>>>> hopefully come >>>>>>> later on. >>>>>> >>>>>> Oooooooh yes, please! This would be awesome! :-) >>>>> >>>>> Yes this would be :)) >>>>> But it is different task. And Quite complex. Especially it must pass upstream >>>>> (openjdk). And that is *the* task! >>>> >>>> Well, it does not need to replace or displace OpenJDK's policytool. It should >>>> be probably enough >>>> that it complements it. ;-) You know, it's neither forbidden nor against any >>>> spec to build >>>> augmenting tools around OpenJDK. >>> >>> But still contribute to Openjdk itself is the right thing to do. >>> >>> ... >>>> >>>> At first, I thought that the problem would rather be that some system >>>> configurations may be missing >>>> a PATH environment variable entry to policytool and thus launching it may >>>> fail. But, Jiri is right. >>>> The best approach here would probably be to call directly into policytool's >>>> main() method with >>>> user.home as its current working directory. policytool is part of rt.jar, not >>>> tools.jar, so it >>>> should already be on bootclasspath. But, you may have to investigate deeper >>>> into it because the >>> >>> Great! >>> >>> But I doubt "with user.home as its current working directory" is possible. >>> Or do we misunderstand each other? >>> >>> I had in my mind simple PolicyTool.main(arg,aerg,arg) call in itw-settings. >>> >>> >>>> package names of some tools have changed from OpenJDK 6 over to OpenJDK 7. >>> >>> I doubt policy tool was touched in last 10 years ;) >>> >>> J. >>> >> >> [...] >> >> The actual PolicyPanel is now launching the PolicyTool by invoking its main >> method, rather than exec'ing a new process. > > After I have hit the send button for my last e-mail, I have realized that it may be desirable to run > policytool in a separate process for security reasons, although calling directly into > PolicyTool.main(). Maybe it's just me being paranoid, but authoring policies is a security sensitive > task. In the current patch policytool gets loaded into the same JVM as itw-settings. If the current > JVM or itw-settings has been compromised for the current user, he/she may be editing a heck of > secure policy but could end up with a policy file on disk, granting AllPermissions to some malicious > code bearing URL. Sure, policy files are simple human readable text files that can be checked before > applying. But, who really does that? > Of course, I do realize that if one's system JRE has been compromised then probably all other JVM > instances and the applications running on them are going to get compromised sooner or later on that > system. I don't know, I just wanted to share some wired thoughts on policy authoring security. :-D Ugh. I hope this is not true. But Ido not know. Btw - by specifying policies - the itw-settings will be still unaffected correct? > >> I've put this into a new thread, but tbh I'm not sure if that was entirely necessary. > > In this case, I had rather something like SwingUtilities.invokeLater() or EventQueue.invokeLater() > in mind. In general, only activities related to manipulating and displaying UI elements should be > placed on the AWT thread. Work code should either be put into invokeLater() or custom working > threads (like SwingWorker for example), although the later has some more caveats in most cases. > invokeLater() actually does indeed create a thread too but it also neatly ties it into the UI > toolkit and takes care of most of those caveats, so developers are really advised to use it. You may > want to read the tiny discussion on "Swing's Threading Policy" at the bottom of javax.swing's > package API documentation regarding this topic. ;-) +1! > >> The "View Policy" button has a tooltip now that indicates the location of the file that will be >> opened, >> although this is also displayed in the policytool itself if you launch it. > > Right, that's actually why I have remained silent on that matter. It's a good move to indicate the > policy file's location before launching policytool. > >> The View Button's action listener is no longer an anonymous inner class, since I >> don't really mind the style either way personally. > > Yey, I love inner classes! :-D Declaring a member variable holding the ActionListener's reference > would have been enough too, but hey, going all the way through is even cooler. 8-) > >> Its implementation does have an anonymous inner Runnable inside its Thread, though. > > An anonymous Runnable implementation without keeping a reference to it is okay here because in any > case, there can only be one Runnable object per Thread object, hence a reference to that anonymous > Runnable object is always unambiguously retrievable. Nevertheless, you may want to prefer > invokeLater() over that custom thread. as above > >> Oh, and there's also now an error dialog if for some reason the policy file can't be opened (eg it >> exists >> but you don't have read permission, or it exists but is a directory, or >> whatever). If the file doesn't already exist then we attempt to create a blank >> one there first, since the PolicyTool itself doesn't seem to do this. > > Although all JOptionPane.showXxxDialog() dialogs are modal, please pass it a reference to > itw-settings' JFrame for the sake of completeness, before it grabs some undesired /default/ > Compenent - what ever this might be - or perhaps even the desktop window. +1 > > I hope you are sure about what you have been probably intending to accomplish with > canOpenPolicyFile() actually does what you had in mind. File.canRead() and File.canWrite() are not > platform agnostic and they are only checking file system access permissions, not physical read/write > capability. Those methods are so misleading in their semantics and should not have found their way > into the Java API in the first place. The JCP board would be well advised to deprecate these methods > as soon as possible for being highly platform dependent and having misleading semantics. I have > already covered this in an earlier post to this mailing list. ;-) > Besides File.canRead() and File.canWrite() also test for existence so you may want to simplify and > drop some redundant tests in you current code. I may be mistaken, but there may already be code > present in net.sourceforge.jnlp.util.FileUtils for your intended purpose. > IMHO, you should probably drop these tests anyway because it's on the policytool to do those tests > (from a software engineering point of view). This have already appeared, Jacob, have not? :o) + public static boolean canOpenPolicyFile(final File policyFile) throws IOException { + FileUtils.createParentDir(policyFile); + if (!policyFile.exists()) { + policyFile.createNewFile(); + } + return policyFile.isFile() && policyFile.canRead() && policyFile.canWrite(); + } For a directory you can use DirectroyValidator class in itw. It do what you wont to do in full scale. imho the policyFile.canWrite(); is not necessary (the message "can not write" is worthy anyway ) . The toll is useful also for read only viewing.. The messages "is not file" or "can not be read" or "cannot be written" are better then one generic one. Thanx both of you for contributions! J. few more nits: Now the polici file is visibl ein policy tool, in plolicy file in readonly textfield (I'm wondering why it was not visible before). Thats good, but I would like to see it in itw settings itself:( Please add similar readonly jtextfield to police settings pane. You can keep also current tool tip text;) + several catches in PolicyPanel.java I would catch generic exceptions, but do as you wish... + final URL fileUrl = new URL(fileUrlString); + new Thread(new Runnable() { + @Override + public void run() { + launchPolicyTool(fileUrl.getPath()); + } + }).start(); Good! As Jacob said thsi is job for invoke later. + private static File policy = new File(System.getProperty("user.home") + "/.config/icedtea-web/security/java.policy"), + policyBackup = new File(System.getProperty("user.home") + "/.config/icedtea-web/security/java.policy.bak"); nope - you have to use value from deployment configuration + if (policy.isFile()) { + if (policyBackup.exists()) { + throw new RuntimeException("Backup policy file already exists"); + } Instead of this (this can simple become blocker if tests are killed) I would recommand to use some random-suffixed.bak file. Of course feel free to throw out if backuping fail and log out worning if old backups exists. try { + out = new FileWriter(policy, false /*no append*/); + } catch (IOException e) { + throw new RuntimeException(e); + } +... and much similar Its not worthy to catch. Please let already thrown exception flow. Of course try to close in finally. (especially you will avoid try{}finally{try{}catch{}} nastyness. Both your testcases should share shared code (namely backupPolicy and restorePolicy ;) ) And also yor assersert* methods (just with negation ;) ) Otherwise the tests looks really good! From aazores at redhat.com Wed Jan 15 07:24:47 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 15 Jan 2014 10:24:47 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D5C98D.70806@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> Message-ID: <52D6A83E.5030604@redhat.com> On 01/14/2014 06:34 PM, Jacob Wisor wrote: > On 01/14/2014 07:16 PM, Andrew Azores wrote: >> On 01/14/2014 10:34 AM, Jiri Vanek wrote: >>> On 01/14/2014 03:16 PM, Jacob Wisor wrote: >>>> On 01/14/2014 01:42 PM, Jiri Vanek wrote: >>>>> On 01/14/2014 12:33 AM, Jacob Wisor wrote: >>>>>> Hello there! >>>>>> >>>>>> On 01/13/2014 11:20 PM, Andrew Azores wrote: >>>>>>> Hi, >>>>>>> >>>>>>> This small patch hooks the JDK policytool into itweb-settings. >>>>>>> It can then be >>>>>>> used to set up a custom user-level JNLP policy - this, in >>>>>>> combination with >>>>>>> the >>>>>>> Run in Sandbox patch, will allow for quite a lot more >>>>>>> flexibility in how >>>>>>> permissions are handled with signed applets/applications. >>>>>>> >>>>>>> A nicer, more user-friendly editor to replace the policytool will >>>>>>> hopefully come >>>>>>> later on. >>>>>> >>>>>> Oooooooh yes, please! This would be awesome! :-) >>>>> >>>>> Yes this would be :)) >>>>> But it is different task. And Quite complex. Especially it must >>>>> pass upstream >>>>> (openjdk). And that is *the* task! >>>> >>>> Well, it does not need to replace or displace OpenJDK's policytool. >>>> It should >>>> be probably enough >>>> that it complements it. ;-) You know, it's neither forbidden nor >>>> against any >>>> spec to build >>>> augmenting tools around OpenJDK. >>> >>> But still contribute to Openjdk itself is the right thing to do. >>> >>> ... >>>> >>>> At first, I thought that the problem would rather be that some system >>>> configurations may be missing >>>> a PATH environment variable entry to policytool and thus launching >>>> it may >>>> fail. But, Jiri is right. >>>> The best approach here would probably be to call directly into >>>> policytool's >>>> main() method with >>>> user.home as its current working directory. policytool is part of >>>> rt.jar, not >>>> tools.jar, so it >>>> should already be on bootclasspath. But, you may have to >>>> investigate deeper >>>> into it because the >>> >>> Great! >>> >>> But I doubt "with user.home as its current working directory" is >>> possible. >>> Or do we misunderstand each other? >>> >>> I had in my mind simple PolicyTool.main(arg,aerg,arg) call in >>> itw-settings. >>> >>> >>>> package names of some tools have changed from OpenJDK 6 over to >>>> OpenJDK 7. >>> >>> I doubt policy tool was touched in last 10 years ;) >>> >>> J. >>> >> >> [...] >> >> The actual PolicyPanel is now launching the PolicyTool by invoking >> its main >> method, rather than exec'ing a new process. > > After I have hit the send button for my last e-mail, I have realized > that it may be desirable to run policytool in a separate process for > security reasons, although calling directly into PolicyTool.main(). > Maybe it's just me being paranoid, but authoring policies is a > security sensitive task. In the current patch policytool gets loaded > into the same JVM as itw-settings. If the current JVM or itw-settings > has been compromised for the current user, he/she may be editing a > heck of secure policy but could end up with a policy file on disk, > granting AllPermissions to some malicious code bearing URL. Sure, > policy files are simple human readable text files that can be checked > before applying. But, who really does that? > Of course, I do realize that if one's system JRE has been compromised > then probably all other JVM instances and the applications running on > them are going to get compromised sooner or later on that system. I > don't know, I just wanted to share some wired thoughts on policy > authoring security. :-D I think this is just being a little too paranoid maybe :) if the JVM is already compromised then there are already some big problems, like you said, and I think the way in which we launch the policytool (or later to come "friendly editor") is the least of our worries. > >> I've put this into a new thread, but tbh I'm not sure if that was >> entirely necessary. > > In this case, I had rather something like SwingUtilities.invokeLater() > or EventQueue.invokeLater() in mind. In general, only activities > related to manipulating and displaying UI elements should be placed on > the AWT thread. Work code should either be put into invokeLater() or > custom working threads (like SwingWorker for example), although the > later has some more caveats in most cases. invokeLater() actually does > indeed create a thread too but it also neatly ties it into the UI > toolkit and takes care of most of those caveats, so developers are > really advised to use it. You may want to read the tiny discussion on > "Swing's Threading Policy" at the bottom of javax.swing's package API > documentation regarding this topic. ;-) I'm really not very good/experienced with GUI stuff, so I really appreciate all the help here. Thanks! > >> The "View Policy" button has a tooltip now that indicates the >> location of the file that will be opened, >> although this is also displayed in the policytool itself if you >> launch it. > > Right, that's actually why I have remained silent on that matter. It's > a good move to indicate the policy file's location before launching > policytool. Is the tooltip agreeable enough or would you prefer some other more immediately obvious indicator of the file location? > >> Its implementation does have an anonymous inner Runnable inside its >> Thread, though. > > An anonymous Runnable implementation without keeping a reference to it > is okay here because in any case, there can only be one Runnable > object per Thread object, hence a reference to that anonymous Runnable > object is always unambiguously retrievable. Nevertheless, you may want > to prefer invokeLater() over that custom thread. > >> Oh, and there's also now an error dialog if for some reason the >> policy file can't be opened (eg it exists >> but you don't have read permission, or it exists but is a directory, or >> whatever). If the file doesn't already exist then we attempt to >> create a blank >> one there first, since the PolicyTool itself doesn't seem to do this. > > Although all JOptionPane.showXxxDialog() dialogs are modal, please > pass it a reference to itw-settings' JFrame for the sake of > completeness, before it grabs some undesired /default/ Compenent - > what ever this might be - or perhaps even the desktop window. Great, thanks again for the input on this fancy GUI stuff ;) > > I hope you are sure about what you have been probably intending to > accomplish with canOpenPolicyFile() actually does what you had in > mind. File.canRead() and File.canWrite() are not platform agnostic and > they are only checking file system access permissions, not physical > read/write capability. Those methods are so misleading in their > semantics and should not have found their way into the Java API in the > first place. The JCP board would be well advised to deprecate these > methods as soon as possible for being highly platform dependent and > having misleading semantics. I have already covered this in an earlier > post to this mailing list. ;-) > Besides File.canRead() and File.canWrite() also test for existence so > you may want to simplify and drop some redundant tests in you current > code. I may be mistaken, but there may already be code present in > net.sourceforge.jnlp.util.FileUtils for your intended purpose. > IMHO, you should probably drop these tests anyway because it's on the > policytool to do those tests (from a software engineering point of view). > >> [...] > > Jacob I know that the checks I'm using are not necessarily hard guarantees that the file will truly be accessible (meaning we have actual physical read/write as well as file system permissions etc) in the end, and that it's policytool's job to actually handle the problem in the event that it isn't. But something policytool doesn't do if the file isn't accessible is show a nice error notifying the user! So these checks are just there so we can show the user an error message (the JOptionPane above) if we suspect that policytool won't be able to properly open the file. Otherwise, in order to test if policytool actually can successfully edit the file, we'll need to do something like go back to launching it by exec'ing a new process and checking its exit code once it terminates, which I think might be undesirable and a little overly complex for what we really need here. The next policytool should probably display a dialog like this on its own when it can't open the specified file, and then we can remove this approximation from the PolicyPanel. I have looked in our FileUtils class and the only thing I saw of use in there for this purpose was createParentDir, which I am using in this same method. Also, which redundant tests do you mean? The "if (!policyFile.exists())" check when there's also canRead() and canWrite() after? The exists() check is there so we can "touch" (createNewFile()) before launching policytool. This is necessary because the existing policytool doesn't play nice if you give it a path to a file that doesn't yet exist - it will launch as if you started it without specifying any path at all, so when you finish creating your new policy and go to save it, it will open a file chooser dialog. Since the policy file has a well-defined expected location, I'm doing this work before launching the policytool to try to ensure, loosely, that the policytool will actually save the file to the correct location. Again, once we have a nicer editor, then this work will not be necessary and can be removed, but right now it is necessary IMO. Attached is a new patch using SwingUtilities.invokeLater, passing the ControlPanel JFrame reference to the JOptionPane.showMessageDialog, and with an improved View Policy button tooltip. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy3.patch Type: text/x-patch Size: 9949 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140115/6effc775/custom_policy3-0001.patch From ChrisPhi at redhat.com Wed Jan 15 07:41:01 2014 From: ChrisPhi at redhat.com (Chris Phillips) Date: Wed, 15 Jan 2014 10:41:01 -0500 Subject: building icedtea-7 on ARM In-Reply-To: <52D6A58F.7060909@redhat.com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> Message-ID: <52D6AC0D.6090905@RedHat.Com> Hi On 15/01/14 10:13 AM, Andrew Haley wrote: > On 01/15/2014 01:40 PM, Grant wrote: >> Hi Andrew, can you point me in the right direction with this? Here >> are a couple errors I'm getting depending on compile options and >> bootstrap VM: >> >> http://pastebin.com/VV3rMezP >> http://pastebin.com/ThjufjyH > This may be the bug that Chris Philips is working on. > > Chris? > > Andrew. > Neither of these look familiar (though I recollect some issues in the cryptocheck for other archs so it may be a generic failure...). I am planning update the it7-head forest with latest arm32 stuff in near future so it might be better to await that event. (Near future ~ a week +/- ). Chris From stefan at complang.tuwien.ac.at Wed Jan 15 08:01:47 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Wed, 15 Jan 2014 17:01:47 +0100 Subject: building icedtea-7 on ARM In-Reply-To: <52D6A58F.7060909@redhat.com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> Message-ID: > On 01/15/2014 01:40 PM, Grant wrote: >> http://pastebin.com/ThjufjyH This one looks like a CACAO hardfloat issue. The cacao version in icedtea7 head is recent enough, if I'm not mistaken. Maybe the hardfloat detection is not working? Go to http://icedtea.classpath.org/hg/icedtea6/file/5c83d26b2437/patches/cacao/armhf.patch as a starting point. From gnu.andrew at redhat.com Wed Jan 15 08:50:05 2014 From: gnu.andrew at redhat.com (Andrew) Date: Wed, 15 Jan 2014 11:50:05 -0500 (EST) Subject: [patch] build openjdk-7 for x86_64-linux-gnux32 In-Reply-To: <52D66651.3030006@ubuntu.com> References: <52D66651.3030006@ubuntu.com> Message-ID: <238449918.2008810.1389804605500.JavaMail.root@redhat.com> ----- Original Message ----- > Attached are two patches to build icedtea zero on x86_64-linux-gnux32. One > for > the icedtea configury, the other for openjdk. > > - the Platform.gmk bigs maybe should be based on $host instead. > - the sys/sysctl.h includes seem to be left overs, aren't used > anymore on other architectures. > > I didn't look if/how hotspot i386 would build on this architecture. > > Matthias > > build logs and test results can be found at > http://buildd.debian-ports.org/status/logs.php?pkg=openjdk-7&ver=7u45-2.4.3-5&arch=x32 > > --------------- jtreg console summary for hotspot --------------- > Error: compiler/5091921/Test6905845.java > Error: compiler/5091921/Test6992759.java > Error: compiler/5091921/Test7020614.java > Error: compiler/6901572/Test.java > Error: compiler/7047069/Test7047069.java > Error: compiler/7100757/Test7100757.java > Error: compiler/7184394/TestAESMain.java > Error: compiler/7196199/Test7196199.java > FAILED: compiler/8010927/Test8010927.java > FAILED: compiler/cpuflags/RestoreMXCSR.java > Error: gc/6941923/test6941923.sh > FAILED: gc/7168848/HumongousAlloc.java > FAILED: gc/g1/TestRegionAlignment.java > FAILED: gc/heap_inspection/TestPrintClassHistogram.java > FAILED: gc/init/TestHandleExceedingProcessSizeLimitIn32BitBuilds.java > FAILED: gc/TestVerifyBeforeGCDuringStartup.java > FAILED: runtime/6929067/Test6929067.sh > FAILED: runtime/7158988/FieldMonitor.java > Error: runtime/7196045/Test7196045.java > FAILED: runtime/CommandLine/CompilerConfigFileWarning.java > FAILED: runtime/CommandLine/ConfigFileWarning.java > FAILED: runtime/NMT/BaselineWithParameter.java > FAILED: runtime/NMT/CommandLineDetail.java > FAILED: runtime/NMT/CommandLineEmptyArgument.java > FAILED: runtime/NMT/CommandLineInvalidArgument.java > FAILED: runtime/NMT/CommandLineSummary.java > FAILED: runtime/NMT/CommandLineTurnOffNMT.java > FAILED: runtime/NMT/JcmdDiffCallsite.java > FAILED: runtime/NMT/JcmdScale.java > FAILED: runtime/NMT/JcmdWithNMTDisabled.java > FAILED: runtime/NMT/MallocTestType.java > FAILED: runtime/NMT/PrintNMTStatistics.java > FAILED: runtime/NMT/PrintNMTStatisticsWithNMTDisabled.java > FAILED: runtime/NMT/ReleaseCommittedMemory.java > FAILED: runtime/NMT/ShutdownTwice.java > FAILED: runtime/NMT/SummaryAfterShutdown.java > FAILED: runtime/NMT/SummarySanityCheck.java > FAILED: runtime/NMT/ThreadedMallocTestType.java > FAILED: runtime/NMT/ThreadedVirtualAllocTestType.java > FAILED: runtime/NMT/VirtualAllocTestType.java > FAILED: sanity/WBApi.java > FAILED: serviceability/attach/AttachWithStalePidFile.java > FAILED: serviceability/ParserTest.java > Test results: passed: 223; failed: 33; error: 10 > --------------- jtreg console summary for langtools --------------- > FAILED: com/sun/javadoc/testNestedGenerics/TestNestedGenerics.java > Error: tools/javac/Diagnostics/6769027/T6769027.java > FAILED: tools/javac/processing/6499119/ClassProcessor.java > FAILED: tools/javac/T5090006/T5090006.java > Test results: passed: 1,955; failed: 3; error: 1 > Support for this came up a while back and I'm not sure what the point of this would be. Why would anyone on x86_64 want an x32 Zero build instead of the x86_64 JIT? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gnu.andrew at redhat.com Wed Jan 15 08:53:34 2014 From: gnu.andrew at redhat.com (Andrew) Date: Wed, 15 Jan 2014 11:53:34 -0500 (EST) Subject: Announcing the IcedTea buildbot In-Reply-To: <1222976870.9410341.1388102981359.JavaMail.root@redhat.com> References: <1298280666.3387.47.camel@springer.wildebeest.org> <420908724.9389391.1388075848870.JavaMail.root@redhat.com> <20131226202946.GA10153@toonder.wildebeest.org> <1222976870.9410341.1388102981359.JavaMail.root@redhat.com> Message-ID: <1195143131.2010384.1389804814812.JavaMail.root@redhat.com> ----- Original Message ----- > ----- Original Message ----- > > On Thu, Dec 26, 2013 at 11:37:28AM -0500, Andrew wrote: > > > How are changes to master.cfg propagated to the running buildbot? > > > > They are still copied by hand, sorry. I have copied the latest now > > to the buildbot and restarted it. > > No need to apologise. I was just worried I was doing something wrong, > as I've not changed them before. I'm actually surprised to even get > a reply to this before sometime in 2014... ;) > > > > > BTW. I have been updating builder.classpath.org from Debian squeeze 6.0 > > to Debian wheezy 7.0 over Christmas. Sorry if that caused extra failures. > > Almost done. The build slaves should also be renamed to -wheezy- but I > > believe everything else is done now. Please yell and scream if the > > upgrade seems to have messed more things up. > > > > I've just been trying to push back against some of those nasty red blocks > before the IcedTea 6 release. Most seem to pass now. If you have upgraded > the box, then you probably want to drop the --disable-system-lcms option now > anyway and just make sure the headers are installed (wheezy must have it, > surely?) > > On that note, I noticed that the same option for 7 is added in the build > script, which > seems wrong. It would be better applied just to those machines that lack the > system library. > > Incidentally, I noticed there were lots of 6 builds (so many that they got > queued up on > each push, too many to run all at once), but only one build fired for 7. > Maybe it's > about time to consider inverting this? Stuff goes to 7 first these days, > then gets > backported to 6 if needed. > > > Thanks, > > > > Mark > > > > Thanks for such a quick response, > -- > Andrew :) > > Free Java Software Engineer > Red Hat, Inc. (http://www.redhat.com) > > PGP Key: 248BDC07 (https://keys.indymedia.org/) > Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 > > Since the upgrade, something seems to be broken with LLVM: In file included from /usr/local/build/buildslave/icedtea/icedtea7-quick/build/zerovm/openjdk/hotspot/src/share/vm/shark/sharkCompiler.hpp:33:0, from /usr/local/build/buildslave/icedtea/icedtea7-quick/build/zerovm/openjdk/hotspot/src/share/vm/compiler/compileBroker.cpp:56: /usr/local/build/buildslave/icedtea/icedtea7-quick/build/zerovm/openjdk/hotspot/src/share/vm/shark/llvmHeaders.hpp:38:27: fatal error: llvm/Argument.h: No such file or directory compilation terminated. Could the configure options need updating? ../src/configure --disable-bootstrap --disable-optimizations --disable-docs --with-additional-vms=shark --with-parallel-jobs=4 --with-llvm-config=llvm-config-2.7 --disable-system-gio --disable-system-gtk --disable-system-lcms This is icedtea7-squeeze-x86_64-quick. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From doko at ubuntu.com Wed Jan 15 09:03:50 2014 From: doko at ubuntu.com (Matthias Klose) Date: Wed, 15 Jan 2014 18:03:50 +0100 Subject: [patch] build openjdk-7 for x86_64-linux-gnux32 In-Reply-To: <238449918.2008810.1389804605500.JavaMail.root@redhat.com> References: <52D66651.3030006@ubuntu.com> <238449918.2008810.1389804605500.JavaMail.root@redhat.com> Message-ID: <52D6BF76.3080305@ubuntu.com> Am 15.01.2014 17:50, schrieb Andrew: > Support for this came up a while back and I'm not sure what the point of this would be. > Why would anyone on x86_64 want an x32 Zero build instead of the x86_64 JIT? I don't care who else does want it. It is needed to get the build dependencies fulfilled for a distribution. While we do have multiarch, we can't yet build-depend on packages of arbitrary foreign architectures. If other distributions can handle that, fine. But it is easier for me to provide an openjdk for x32 than to patch around 100 packages not to use openjdk. Matthias From omajid at icedtea.classpath.org Wed Jan 15 09:53:40 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 17:53:40 +0000 Subject: /hg/release/icedtea6-1.11: 2 new changesets Message-ID: changeset 4fbd0af15397 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=4fbd0af15397 author: Omair Majid date: Fri Jan 10 18:13:33 2014 -0500 Fix path in nss-not-enabled-config.patch changeset a3249839270a in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=a3249839270a author: Omair Majid date: Wed Jan 15 12:52:12 2014 -0500 Add 20140114 CPU patches diffstat: ChangeLog | 42 + Makefile.am | 36 +- NEWS | 36 + patches/ecj/override.patch | 160 + patches/nss-not-enabled-config.patch | 4 +- patches/security/20140114/6995424-deprecated_dependency.patch | 180 + patches/security/20140114/7068126-snmp_status.patch | 372 + patches/security/20140114/8010935-xml_handling.patch | 818 ++ patches/security/20140114/8011786-networking.patch | 394 + patches/security/20140114/8021257-restrict_package.corba.patch | 194 + patches/security/20140114/8021257-restrict_package.jdk.patch | 78 + patches/security/20140114/8022904-jdbc.patch | 83 + patches/security/20140114/8022927-conversions.patch | 158 + patches/security/20140114/8022935-resolver_classes.patch | 163 + patches/security/20140114/8022945-jndi.patch | 66 + patches/security/20140114/8023057-splashscreen.patch | 96 + patches/security/20140114/8023069-tls.patch | 627 ++ patches/security/20140114/8023245-beans_decoding.patch | 34 + patches/security/20140114/8023301-generic_classes.patch | 125 + patches/security/20140114/8023672-jar_validation.patch | 24 + patches/security/20140114/8024306-subject_consistency.patch | 24 + patches/security/20140114/8024530-font_process.patch | 2933 ++++++++++ patches/security/20140114/8024867-logging.patch | 44 + patches/security/20140114/8025014-security_policy.patch | 185 + patches/security/20140114/8025018-jaxp_setup.patch | 58 + patches/security/20140114/8025026-canonicalization.patch | 132 + patches/security/20140114/8025034-layout_lookups.patch | 48 + patches/security/20140114/8025448-swing_listening.patch | 31 + patches/security/20140114/8025758-naming.patch | 218 + patches/security/20140114/8025767-corba_iiop_streams.patch | 738 ++ patches/security/20140114/8026172-ui_management.patch | 28 + patches/security/20140114/8026176-document_printing.patch | 24 + patches/security/20140114/8026193-corba_stub_factories.patch | 100 + patches/security/20140114/8026204-auth_login_contexts.patch | 307 + patches/security/20140114/8026417-xml_canonicalization.patch | 201 + patches/security/20140114/8026826-fix_build.patch | 639 ++ patches/security/20140114/8027201-jaxp_setup.patch | 197 + 37 files changed, 9593 insertions(+), 4 deletions(-) diffs (truncated from 9773 to 500 lines): diff -r 6901d30f4321 -r a3249839270a ChangeLog --- a/ChangeLog Wed Nov 13 03:58:58 2013 +0000 +++ b/ChangeLog Wed Jan 15 12:52:12 2014 -0500 @@ -1,3 +1,45 @@ +2014-01-15 Omair Majid + + * Makefile (SECURITY_PATCHES): Add patches. + * patches/security/20140114/6995424-deprecated_dependency.patch, + * patches/security/20140114/7068126-snmp_status.patch, + * patches/security/20140114/8010935-xml_handling.patch, + * patches/security/20140114/8011786-networking.patch, + * patches/security/20140114/8021257-restrict_package.corba.patch, + * patches/security/20140114/8021257-restrict_package.jdk.patch, + * patches/security/20140114/8022904-jdbc.patch, + * patches/security/20140114/8022927-conversions.patch, + * patches/security/20140114/8022935-resolver_classes.patch, + * patches/security/20140114/8022945-jndi.patch, + * patches/security/20140114/8023057-splashscreen.patch, + * patches/security/20140114/8023069-tls.patch, + * patches/security/20140114/8023245-beans_decoding.patch, + * patches/security/20140114/8023301-generic_classes.patch, + * patches/security/20140114/8023672-jar_validation.patch, + * patches/security/20140114/8024306-subject_consistency.patch, + * patches/security/20140114/8024530-font_process.patch, + * patches/security/20140114/8024867-logging.patch, + * patches/security/20140114/8025014-security_policy.patch, + * patches/security/20140114/8025018-jaxp_setup.patch, + * patches/security/20140114/8025026-canonicalization.patch, + * patches/security/20140114/8025034-layout_lookups.patch, + * patches/security/20140114/8025448-swing_listening.patch, + * patches/security/20140114/8025758-naming.patch, + * patches/security/20140114/8025767-corba_iiop_streams.patch, + * patches/security/20140114/8026172-ui_management.patch, + * patches/security/20140114/8026176-document_printing.patch, + * patches/security/20140114/8026193-corba_stub_factories.patch, + * patches/security/20140114/8026204-auth_login_contexts.patch, + * patches/security/20140114/8026417-xml_canonicalization.patch, + * patches/security/20140114/8026826-fix_build.patch, + * patches/security/20140114/8027201-jaxp_setup.patch: + New file for CPU update. + +2014-01-10 Omair Majid + + * patches/nss-not-enabled-config.patch: Fix path + to java.security. + 2013-11-13 Andrew John Hughes * configure.ac: Set to 1.11.15pre. diff -r 6901d30f4321 -r a3249839270a Makefile.am --- a/Makefile.am Wed Nov 13 03:58:58 2013 +0000 +++ b/Makefile.am Wed Jan 15 12:52:12 2014 -0500 @@ -494,7 +494,40 @@ patches/openjdk/8003992-embedded_nulls.patch \ patches/openjdk/8013827-createtempfile_hang.patch \ patches/openjdk/8025128-createtempfile_absolute_prefix.patch \ - patches/openjdk/oj6-21-overrides.patch + patches/openjdk/oj6-21-overrides.patch \ + patches/security/20140114/6995424-deprecated_dependency.patch \ + patches/security/20140114/7068126-snmp_status.patch \ + patches/openjdk//8009530-icu_kern_table_support_broken.patch \ + patches/security/20140114/8010935-xml_handling.patch \ + patches/security/20140114/8011786-networking.patch \ + patches/security/20140114/8021257-restrict_package.corba.patch \ + patches/security/20140114/8021257-restrict_package.jdk.patch \ + patches/security/20140114/8022904-jdbc.patch \ + patches/security/20140114/8022927-conversions.patch \ + patches/security/20140114/8022935-resolver_classes.patch \ + patches/security/20140114/8022945-jndi.patch \ + patches/security/20140114/8023057-splashscreen.patch \ + patches/security/20140114/8023069-tls.patch \ + patches/security/20140114/8023245-beans_decoding.patch \ + patches/security/20140114/8023301-generic_classes.patch \ + patches/security/20140114/8023672-jar_validation.patch \ + patches/security/20140114/8024306-subject_consistency.patch \ + patches/security/20140114/8024530-font_process.patch \ + patches/security/20140114/8024867-logging.patch \ + patches/security/20140114/8025014-security_policy.patch \ + patches/security/20140114/8025018-jaxp_setup.patch \ + patches/security/20140114/8025026-canonicalization.patch \ + patches/security/20140114/8025034-layout_lookups.patch \ + patches/security/20140114/8025448-swing_listening.patch \ + patches/security/20140114/8025758-naming.patch \ + patches/security/20140114/8025767-corba_iiop_streams.patch \ + patches/security/20140114/8026172-ui_management.patch \ + patches/security/20140114/8026176-document_printing.patch \ + patches/security/20140114/8026193-corba_stub_factories.patch \ + patches/security/20140114/8026204-auth_login_contexts.patch \ + patches/security/20140114/8026417-xml_canonicalization.patch \ + patches/security/20140114/8026826-fix_build.patch \ + patches/security/20140114/8027201-jaxp_setup.patch SPECIAL_SECURITY_PATCH_1 = patches/security/20120214/7112642.patch SPECIAL_SECURITY_PATCH_2 = patches/security/20130618/8009071-improve_shape_handling.patch @@ -726,7 +759,6 @@ patches/aarch64.patch \ patches/jaxws-tempfiles-ioutils-6.patch \ patches/object-factory-cl-internal.patch \ - patches/openjdk/8009530-icu_kern_table_support_broken.patch \ patches/openjdk/7171223-strict_aliasing.patch \ patches/openjdk/8009165-inappropriate_method_in_reflectutil.patch \ patches/openjdk/8009217-fix_test_compile.patch \ diff -r 6901d30f4321 -r a3249839270a NEWS --- a/NEWS Wed Nov 13 03:58:58 2013 +0000 +++ b/NEWS Wed Jan 15 12:52:12 2014 -0500 @@ -13,6 +13,42 @@ New in release 1.11.15 (2014-XX-XX): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP status + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Bug fixes + - S8026826: JDK 7 fix for 8010935 broke the build +* Backports + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + New in release 1.11.14 (2013-11-13): * Security fixes diff -r 6901d30f4321 -r a3249839270a patches/ecj/override.patch --- a/patches/ecj/override.patch Wed Nov 13 03:58:58 2013 +0000 +++ b/patches/ecj/override.patch Wed Jan 15 12:52:12 2014 -0500 @@ -310,3 +310,163 @@ public final void close() { open = false; synchronized (AbstractMidiDevice.this.traRecLock) { +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2014-01-14 09:38:04.744121397 -0500 +@@ -87,7 +87,6 @@ + .create_input_stream(); + AnyInputStream aIS = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public AnyInputStream run() { + return new AnyInputStream( + (com.sun.corba.se.impl.encoding.EncapsInputStream) is); +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java 2014-01-10 16:24:28.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java 2014-01-14 09:38:22.856141402 -0500 +@@ -38,7 +38,6 @@ + { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public StubFactoryProxyImpl run() { + return new StubFactoryProxyImpl(classData, classLoader); + } +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java 2014-01-14 09:34:50.248822900 -0500 +@@ -163,7 +163,6 @@ + final Message inMsg = cdrOutputObject.getMessageHeader(); + CDRInputObject cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public CDRInputObject run() { + return new CDRInputObject(inOrb, null, inBuffer, + inMsg); +@@ -206,7 +205,6 @@ + final Message inMsg2 = cdrOutputObject.getMessageHeader(); + cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public CDRInputObject run() { + return new CDRInputObject(inOrb2, null, inBuffer2, + inMsg2); +diff -ruN openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java +--- openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2014-01-14 09:35:08.657861832 -0500 +@@ -52,7 +52,6 @@ + + private static final boolean allowSubclass = AccessController.doPrivileged( + new PrivilegedAction() { +- @Override + public Boolean run() { + String prop = System.getProperty(ALLOW_SUBCLASS_PROP); + return prop == null ? false : +diff -ruN openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java +--- openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java 2014-01-14 09:34:21.846755388 -0500 +@@ -44,7 +44,6 @@ + final boolean littleEndian, final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, buf, size, + littleEndian, version); +@@ -58,7 +57,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, byteBuffer, size, + littleEndian, version); +@@ -70,7 +68,6 @@ + final org.omg.CORBA.ORB orb, final byte[] data, final int size) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size); + } +@@ -81,7 +78,6 @@ + final EncapsInputStream eis) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(eis); + } +@@ -93,7 +89,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size, version); + } +@@ -105,7 +100,6 @@ + final GIOPVersion version, final CodeBase codeBase) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size, version, + codeBase); +@@ -118,7 +112,6 @@ + final boolean littleEndian, final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, buf, size, + littleEndian, version); +@@ -132,7 +125,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, byteBuffer, size, + littleEndian, version); +@@ -144,7 +136,6 @@ + final org.omg.CORBA.ORB orb, final byte[] data, final int size) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, data, size); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java 2014-01-14 09:55:36.216424718 -0500 +@@ -272,7 +272,6 @@ + return clazz.getPackage().getQualifiedName(); + } + +- @Override + public TypeDeclaration loadObjectFactory(TypeDeclaration referencePoint, String packageName) { + return env.getTypeDeclaration(packageName + ".ObjectFactory"); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java 2014-01-14 09:55:54.141449331 -0500 +@@ -299,7 +299,6 @@ + throw new UnsupportedOperationException(); + } + +- @Override + public NClass loadObjectFactory(NClass referencePoint, String pkg) { + throw new UnsupportedOperationException(); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java 2014-01-14 09:56:08.879470090 -0500 +@@ -507,7 +507,6 @@ + else return name.substring(0,idx); + } + +- @Override + public Class loadObjectFactory(Class referencePoint, String pkg) { + String clName = pkg + ".ObjectFactory"; + checkPackageAccess(clName); diff -r 6901d30f4321 -r a3249839270a patches/nss-not-enabled-config.patch --- a/patches/nss-not-enabled-config.patch Wed Nov 13 03:58:58 2013 +0000 +++ b/patches/nss-not-enabled-config.patch Wed Jan 15 12:52:12 2014 -0500 @@ -1,5 +1,5 @@ ---- openjdk.orig/jdk/src/share/lib/security/java.security 2009-08-25 11:43:59.000000000 +0100 -+++ openjdk/jdk/src/share/lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 +--- openjdk.orig/jdk/src/share/lib/security/java.security-linux 2009-08-25 11:43:59.000000000 +0100 ++++ openjdk/jdk/src/share/lib/security/java.security-linux 2009-08-27 14:23:54.000000000 +0100 @@ -51,6 +51,10 @@ security.provider.6=com.sun.security.sasl.Provider security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI diff -r 6901d30f4321 -r a3249839270a patches/security/20140114/6995424-deprecated_dependency.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20140114/6995424-deprecated_dependency.patch Wed Jan 15 12:52:12 2014 -0500 @@ -0,0 +1,180 @@ +# HG changeset patch +# User mullan +# Date 1290438967 18000 +# Mon Nov 22 10:16:07 2010 -0500 +# Node ID 951db417fc3c96a7c8bf1bec1c3e4fe699b28926 +# Parent bf284d2db0081df959bede4e5dd318e9b342aac8 +6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile +Reviewed-by: mchung + +diff -Nru openjdk/jdk/src/share/classes/javax/security/auth/Policy.java openjdk/jdk/src/share/classes/javax/security/auth/Policy.java +--- openjdk/jdk/src/share/classes/javax/security/auth/Policy.java ++++ openjdk/jdk/src/share/classes/javax/security/auth/Policy.java +@@ -25,6 +25,9 @@ + + package javax.security.auth; + ++import java.security.Security; ++import sun.security.util.Debug; ++ + /** + *

This is an abstract class for representing the system policy for + * Subject-based authorization. A subclass implementation +@@ -159,6 +162,10 @@ + private static Policy policy; + private static ClassLoader contextClassLoader; + ++ // true if a custom (not com.sun.security.auth.PolicyFile) system-wide ++ // policy object is set ++ private static boolean isCustomPolicy; ++ + static { + contextClassLoader = java.security.AccessController.doPrivileged + (new java.security.PrivilegedAction() { +@@ -234,6 +241,8 @@ + contextClassLoader).newInstance(); + } + }); ++ isCustomPolicy = ++ !finalClass.equals("com.sun.security.auth.PolicyFile"); + } catch (Exception e) { + throw new SecurityException + (sun.security.util.ResourcesMgr.getString +@@ -265,6 +274,46 @@ + java.lang.SecurityManager sm = System.getSecurityManager(); + if (sm != null) sm.checkPermission(new AuthPermission("setPolicy")); + Policy.policy = policy; ++ // all non-null policy objects are assumed to be custom ++ isCustomPolicy = policy != null ? true : false; ++ } ++ ++ /** ++ * Returns true if a custom (not com.sun.security.auth.PolicyFile) ++ * system-wide policy object has been set or installed. This method is ++ * called by SubjectDomainCombiner to provide backwards compatibility for ++ * developers that provide their own javax.security.auth.Policy ++ * implementations. ++ * ++ * @return true if a custom (not com.sun.security.auth.PolicyFile) ++ * system-wide policy object has been set; false otherwise ++ */ ++ static boolean isCustomPolicySet(Debug debug) { ++ if (policy != null) { ++ if (debug != null && isCustomPolicy) { ++ debug.println("Providing backwards compatibility for " + ++ "javax.security.auth.policy implementation: " + ++ policy.toString()); ++ } ++ return isCustomPolicy; ++ } ++ // check if custom policy has been set using auth.policy.provider prop ++ String policyClass = java.security.AccessController.doPrivileged ++ (new java.security.PrivilegedAction() { ++ public String run() { ++ return Security.getProperty("auth.policy.provider"); ++ } ++ }); ++ if (policyClass != null ++ && !policyClass.equals("com.sun.security.auth.PolicyFile")) { ++ if (debug != null) { ++ debug.println("Providing backwards compatibility for " + ++ "javax.security.auth.policy implementation: " + ++ policyClass); ++ } ++ return true; ++ } ++ return false; + } + + /** +diff -Nru openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java +--- openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java ++++ openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1999, 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 +@@ -26,8 +26,6 @@ + package javax.security.auth; + + import java.security.AccessController; +-import java.security.AccessControlContext; +-import java.security.AllPermission; + import java.security.Permission; + import java.security.Permissions; + import java.security.PermissionCollection; +@@ -35,10 +33,8 @@ + import java.security.Principal; + import java.security.PrivilegedAction; + import java.security.ProtectionDomain; +-import java.lang.ClassLoader; + import java.security.Security; + import java.util.Set; +-import java.util.Iterator; + import java.util.WeakHashMap; + import java.lang.ref.WeakReference; + +@@ -61,7 +57,8 @@ + "\t[SubjectDomainCombiner]"); + + // Note: check only at classloading time, not dynamically during combine() +- private static final boolean useJavaxPolicy = compatPolicy(); ++ private static final boolean useJavaxPolicy = ++ javax.security.auth.Policy.isCustomPolicySet(debug); + + // Relevant only when useJavaxPolicy is true + private static final boolean allowCaching = +@@ -202,8 +199,8 @@ + return null; + } + +- // maintain backwards compatibility for people who provide +- // their own javax.security.auth.Policy implementations ++ // maintain backwards compatibility for developers who provide ++ // their own custom javax.security.auth.Policy implementations + if (useJavaxPolicy) { + return combineJavaxPolicy(currentDomains, assignedDomains); + } +@@ -476,8 +473,7 @@ + String s = AccessController.doPrivileged + (new PrivilegedAction() { + public String run() { +- return java.security.Security.getProperty +- ("cache.auth.policy"); ++ return Security.getProperty("cache.auth.policy"); + } + }); + if (s != null) { +@@ -488,29 +484,6 @@ + return true; + } + +- // maintain backwards compatibility for people who provide +- // their own javax.security.auth.Policy implementations +- private static boolean compatPolicy() { +- javax.security.auth.Policy javaxPolicy = AccessController.doPrivileged +- (new PrivilegedAction() { +- public javax.security.auth.Policy run() { +- return javax.security.auth.Policy.getPolicy(); +- } +- }); +- +- if (!(javaxPolicy instanceof com.sun.security.auth.PolicyFile)) { +- if (debug != null) { +- debug.println("Providing backwards compatibility for " + +- "javax.security.auth.policy implementation: " + +- javaxPolicy.toString()); +- } From omajid at icedtea.classpath.org Wed Jan 15 10:54:10 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Wed, 15 Jan 2014 18:54:10 +0000 Subject: /hg/release/icedtea6-1.12: Add 2014-01-14 CPU fixes Message-ID: changeset c802218a85b1 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=c802218a85b1 author: Omair Majid date: Tue Jan 14 14:58:29 2014 -0500 Add 2014-01-14 CPU fixes diffstat: ChangeLog | 41 + Makefile.am | 36 +- NEWS | 35 + patches/ecj/override.patch | 160 + patches/openjdk/p11cipher-6812738-native_cleanup.patch | 9 - patches/security/20140114/6995424-deprecated_dependency.patch | 180 + patches/security/20140114/7068126-snmp_status.patch | 372 + patches/security/20140114/8010935-xml_handling.patch | 818 ++ patches/security/20140114/8011786-networking.patch | 394 + patches/security/20140114/8021257-restrict_package.corba.patch | 194 + patches/security/20140114/8021257-restrict_package.jdk.patch | 78 + patches/security/20140114/8022904-jdbc.patch | 83 + patches/security/20140114/8022927-conversions.patch | 158 + patches/security/20140114/8022935-resolver_classes.patch | 163 + patches/security/20140114/8022945-jndi.patch | 66 + patches/security/20140114/8023057-splashscreen.patch | 96 + patches/security/20140114/8023069-tls.patch | 627 ++ patches/security/20140114/8023245-beans_decoding.patch | 34 + patches/security/20140114/8023301-generic_classes.patch | 125 + patches/security/20140114/8023672-jar_validation.patch | 24 + patches/security/20140114/8024306-subject_consistency.patch | 24 + patches/security/20140114/8024530-font_process.patch | 2933 ++++++++++ patches/security/20140114/8024867-logging.patch | 44 + patches/security/20140114/8025014-security_policy.patch | 185 + patches/security/20140114/8025018-jaxp_setup.patch | 58 + patches/security/20140114/8025026-canonicalization.patch | 132 + patches/security/20140114/8025034-layout_lookups.patch | 48 + patches/security/20140114/8025448-swing_listening.patch | 31 + patches/security/20140114/8025758-naming.patch | 218 + patches/security/20140114/8025767-corba_iiop_streams.patch | 738 ++ patches/security/20140114/8026172-ui_management.patch | 28 + patches/security/20140114/8026176-document_printing.patch | 24 + patches/security/20140114/8026193-corba_stub_factories.patch | 100 + patches/security/20140114/8026204-auth_login_contexts.patch | 307 + patches/security/20140114/8026417-xml_canonicalization.patch | 201 + patches/security/20140114/8026826-fix_build.patch | 639 ++ patches/security/20140114/8027201-jaxp_setup.patch | 197 + 37 files changed, 9589 insertions(+), 11 deletions(-) diffs (truncated from 9779 to 500 lines): diff -r 7a37bcf9b91b -r c802218a85b1 ChangeLog --- a/ChangeLog Mon Nov 25 14:58:53 2013 +0000 +++ b/ChangeLog Tue Jan 14 14:58:29 2014 -0500 @@ -1,3 +1,44 @@ +2014-01-15 Omair Majid + + * NEWS: Update with fixes + * Makefile.am (SECURITY_PATCHES): Add new patches. + * patches/ecj/override.patch: Remove more @Override annotations. + * patches/openjdk/p11cipher-6812738-native_cleanup.patch: + Updated to apply. + * patches/security/20140114/6995424-deprecated_dependency.patch, + * patches/security/20140114/7068126-snmp_status.patch, + * patches/security/20140114/8010935-xml_handling.patch, + * patches/security/20140114/8011786-networking.patch, + * patches/security/20140114/8021257-restrict_package.corba.patch, + * patches/security/20140114/8021257-restrict_package.jdk.patch, + * patches/security/20140114/8022904-jdbc.patch, + * patches/security/20140114/8022927-conversions.patch, + * patches/security/20140114/8022935-resolver_classes.patch, + * patches/security/20140114/8022945-jndi.patch, + * patches/security/20140114/8023057-splashscreen.patch, + * patches/security/20140114/8023069-tls.patch, + * patches/security/20140114/8023245-beans_decoding.patch, + * patches/security/20140114/8023301-generic_classes.patch, + * patches/security/20140114/8023672-jar_validation.patch, + * patches/security/20140114/8024306-subject_consistency.patch, + * patches/security/20140114/8024530-font_process.patch, + * patches/security/20140114/8024867-logging.patch, + * patches/security/20140114/8025014-security_policy.patch, + * patches/security/20140114/8025018-jaxp_setup.patch, + * patches/security/20140114/8025026-canonicalization.patch, + * patches/security/20140114/8025034-layout_lookups.patch, + * patches/security/20140114/8025448-swing_listening.patch, + * patches/security/20140114/8025758-naming.patch, + * patches/security/20140114/8025767-corba_iiop_streams.patch, + * patches/security/20140114/8026172-ui_management.patch, + * patches/security/20140114/8026176-document_printing.patch, + * patches/security/20140114/8026193-corba_stub_factories.patch, + * patches/security/20140114/8026204-auth_login_contexts.patch, + * patches/security/20140114/8026417-xml_canonicalization.patch, + * patches/security/20140114/8026826-fix_build.patch, + * patches/security/20140114/8027201-jaxp_setup.patch: New patches for + 2014-01-14 CPU. + 2013-11-25 Andrew John Hughes * configure.ac: Set to 1.12.8pre. diff -r 7a37bcf9b91b -r c802218a85b1 Makefile.am --- a/Makefile.am Mon Nov 25 14:58:53 2013 +0000 +++ b/Makefile.am Tue Jan 14 14:58:29 2014 -0500 @@ -535,7 +535,40 @@ patches/openjdk/8003992-embedded_nulls.patch \ patches/openjdk/8013827-createtempfile_hang.patch \ patches/openjdk/8025128-createtempfile_absolute_prefix.patch \ - patches/openjdk/oj6-21-overrides.patch + patches/openjdk/oj6-21-overrides.patch \ + patches/security/20140114/6995424-deprecated_dependency.patch \ + patches/security/20140114/7068126-snmp_status.patch \ + patches/openjdk//8009530-icu_kern_table_support_broken.patch \ + patches/security/20140114/8010935-xml_handling.patch \ + patches/security/20140114/8011786-networking.patch \ + patches/security/20140114/8021257-restrict_package.corba.patch \ + patches/security/20140114/8021257-restrict_package.jdk.patch \ + patches/security/20140114/8022904-jdbc.patch \ + patches/security/20140114/8022927-conversions.patch \ + patches/security/20140114/8022935-resolver_classes.patch \ + patches/security/20140114/8022945-jndi.patch \ + patches/security/20140114/8023057-splashscreen.patch \ + patches/security/20140114/8023069-tls.patch \ + patches/security/20140114/8023245-beans_decoding.patch \ + patches/security/20140114/8023301-generic_classes.patch \ + patches/security/20140114/8023672-jar_validation.patch \ + patches/security/20140114/8024306-subject_consistency.patch \ + patches/security/20140114/8024530-font_process.patch \ + patches/security/20140114/8024867-logging.patch \ + patches/security/20140114/8025014-security_policy.patch \ + patches/security/20140114/8025018-jaxp_setup.patch \ + patches/security/20140114/8025026-canonicalization.patch \ + patches/security/20140114/8025034-layout_lookups.patch \ + patches/security/20140114/8025448-swing_listening.patch \ + patches/security/20140114/8025758-naming.patch \ + patches/security/20140114/8025767-corba_iiop_streams.patch \ + patches/security/20140114/8026172-ui_management.patch \ + patches/security/20140114/8026176-document_printing.patch \ + patches/security/20140114/8026193-corba_stub_factories.patch \ + patches/security/20140114/8026204-auth_login_contexts.patch \ + patches/security/20140114/8026417-xml_canonicalization.patch \ + patches/security/20140114/8026826-fix_build.patch \ + patches/security/20140114/8027201-jaxp_setup.patch SPECIAL_SECURITY_PATCH_1 = patches/security/20120214/7112642.patch SPECIAL_SECURITY_PATCH_2 = patches/security/20130618/8009071-improve_shape_handling.patch @@ -779,7 +812,6 @@ patches/aarch64.patch \ patches/jaxws-tempfiles-ioutils-6.patch \ patches/object-factory-cl-internal.patch \ - patches/openjdk/8009530-icu_kern_table_support_broken.patch \ patches/openjdk/7171223-strict_aliasing.patch \ patches/openjdk/8009165-inappropriate_method_in_reflectutil.patch \ patches/openjdk/8009217-fix_test_compile.patch \ diff -r 7a37bcf9b91b -r c802218a85b1 NEWS --- a/NEWS Mon Nov 25 14:58:53 2013 +0000 +++ b/NEWS Tue Jan 14 14:58:29 2014 -0500 @@ -13,6 +13,41 @@ New in release 1.12.8 (2014-XX-XX): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Backports + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + New in release 1.12.7 (2013-11-21): * Security fixes diff -r 7a37bcf9b91b -r c802218a85b1 patches/ecj/override.patch --- a/patches/ecj/override.patch Mon Nov 25 14:58:53 2013 +0000 +++ b/patches/ecj/override.patch Tue Jan 14 14:58:29 2014 -0500 @@ -311,3 +311,163 @@ public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { Component c = delegate.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java 2014-01-14 09:38:04.744121397 -0500 +@@ -87,7 +87,6 @@ + .create_input_stream(); + AnyInputStream aIS = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public AnyInputStream run() { + return new AnyInputStream( + (com.sun.corba.se.impl.encoding.EncapsInputStream) is); +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java 2014-01-10 16:24:28.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java 2014-01-14 09:38:22.856141402 -0500 +@@ -38,7 +38,6 @@ + { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public StubFactoryProxyImpl run() { + return new StubFactoryProxyImpl(classData, classLoader); + } +diff -ruN openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java +--- openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java 2014-01-14 09:34:50.248822900 -0500 +@@ -163,7 +163,6 @@ + final Message inMsg = cdrOutputObject.getMessageHeader(); + CDRInputObject cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public CDRInputObject run() { + return new CDRInputObject(inOrb, null, inBuffer, + inMsg); +@@ -206,7 +205,6 @@ + final Message inMsg2 = cdrOutputObject.getMessageHeader(); + cdrInputObject = AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public CDRInputObject run() { + return new CDRInputObject(inOrb2, null, inBuffer2, + inMsg2); +diff -ruN openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java +--- openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java 2014-01-14 09:35:08.657861832 -0500 +@@ -52,7 +52,6 @@ + + private static final boolean allowSubclass = AccessController.doPrivileged( + new PrivilegedAction() { +- @Override + public Boolean run() { + String prop = System.getProperty(ALLOW_SUBCLASS_PROP); + return prop == null ? false : +diff -ruN openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java +--- openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java 2014-01-10 16:24:15.000000000 -0500 ++++ openjdk-ecj/corba/src/share/classes/sun/corba/EncapsInputStreamFactory.java 2014-01-14 09:34:21.846755388 -0500 +@@ -44,7 +44,6 @@ + final boolean littleEndian, final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, buf, size, + littleEndian, version); +@@ -58,7 +57,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, byteBuffer, size, + littleEndian, version); +@@ -70,7 +68,6 @@ + final org.omg.CORBA.ORB orb, final byte[] data, final int size) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size); + } +@@ -81,7 +78,6 @@ + final EncapsInputStream eis) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(eis); + } +@@ -93,7 +89,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size, version); + } +@@ -105,7 +100,6 @@ + final GIOPVersion version, final CodeBase codeBase) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public EncapsInputStream run() { + return new EncapsInputStream(orb, data, size, version, + codeBase); +@@ -118,7 +112,6 @@ + final boolean littleEndian, final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, buf, size, + littleEndian, version); +@@ -132,7 +125,6 @@ + final GIOPVersion version) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, byteBuffer, size, + littleEndian, version); +@@ -144,7 +136,6 @@ + final org.omg.CORBA.ORB orb, final byte[] data, final int size) { + return AccessController + .doPrivileged(new PrivilegedAction() { +- @Override + public TypeCodeInputStream run() { + return new TypeCodeInputStream(orb, data, size); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/jxc/model/nav/APTNavigator.java 2014-01-14 09:55:36.216424718 -0500 +@@ -272,7 +272,6 @@ + return clazz.getPackage().getQualifiedName(); + } + +- @Override + public TypeDeclaration loadObjectFactory(TypeDeclaration referencePoint, String packageName) { + return env.getTypeDeclaration(packageName + ".ObjectFactory"); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java 2014-01-14 09:55:54.141449331 -0500 +@@ -299,7 +299,6 @@ + throw new UnsupportedOperationException(); + } + +- @Override + public NClass loadObjectFactory(NClass referencePoint, String pkg) { + throw new UnsupportedOperationException(); + } +diff -ruN openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java +--- openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java 2014-01-13 11:30:44.000000000 -0500 ++++ openjdk-ecj/jaxws/drop_included/jaxws_src/src/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java 2014-01-14 09:56:08.879470090 -0500 +@@ -507,7 +507,6 @@ + else return name.substring(0,idx); + } + +- @Override + public Class loadObjectFactory(Class referencePoint, String pkg) { + String clName = pkg + ".ObjectFactory"; + checkPackageAccess(clName); diff -r 7a37bcf9b91b -r c802218a85b1 patches/openjdk/p11cipher-6812738-native_cleanup.patch --- a/patches/openjdk/p11cipher-6812738-native_cleanup.patch Mon Nov 25 14:58:53 2013 +0000 +++ b/patches/openjdk/p11cipher-6812738-native_cleanup.patch Tue Jan 14 14:58:29 2014 -0500 @@ -12,15 +12,6 @@ } else { throw new InvalidKeyException("Unsupported mode: " + opmode); } -@@ -432,7 +434,7 @@ - (O_IMPORT, CKO_SECRET_KEY, keyType, attributes); - long keyID = token.p11.C_UnwrapKey(s.id(), new CK_MECHANISM(mechanism), - p11Key.keyID, wrappedKey, attributes); -- return P11Key.secretKey(session, keyID, algorithm, 48 << 3, attributes); -+ return P11Key.secretKey(s, keyID, algorithm, 48 << 3, attributes); - } catch (PKCS11Exception e) { - throw new InvalidKeyException("wrap() failed", e); - } finally { @@ -440,6 +442,7 @@ } } diff -r 7a37bcf9b91b -r c802218a85b1 patches/security/20140114/6995424-deprecated_dependency.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/security/20140114/6995424-deprecated_dependency.patch Tue Jan 14 14:58:29 2014 -0500 @@ -0,0 +1,180 @@ +# HG changeset patch +# User mullan +# Date 1290438967 18000 +# Mon Nov 22 10:16:07 2010 -0500 +# Node ID 951db417fc3c96a7c8bf1bec1c3e4fe699b28926 +# Parent bf284d2db0081df959bede4e5dd318e9b342aac8 +6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile +Reviewed-by: mchung + +diff -Nru openjdk/jdk/src/share/classes/javax/security/auth/Policy.java openjdk/jdk/src/share/classes/javax/security/auth/Policy.java +--- openjdk/jdk/src/share/classes/javax/security/auth/Policy.java ++++ openjdk/jdk/src/share/classes/javax/security/auth/Policy.java +@@ -25,6 +25,9 @@ + + package javax.security.auth; + ++import java.security.Security; ++import sun.security.util.Debug; ++ + /** + *

This is an abstract class for representing the system policy for + * Subject-based authorization. A subclass implementation +@@ -159,6 +162,10 @@ + private static Policy policy; + private static ClassLoader contextClassLoader; + ++ // true if a custom (not com.sun.security.auth.PolicyFile) system-wide ++ // policy object is set ++ private static boolean isCustomPolicy; ++ + static { + contextClassLoader = java.security.AccessController.doPrivileged + (new java.security.PrivilegedAction() { +@@ -234,6 +241,8 @@ + contextClassLoader).newInstance(); + } + }); ++ isCustomPolicy = ++ !finalClass.equals("com.sun.security.auth.PolicyFile"); + } catch (Exception e) { + throw new SecurityException + (sun.security.util.ResourcesMgr.getString +@@ -265,6 +274,46 @@ + java.lang.SecurityManager sm = System.getSecurityManager(); + if (sm != null) sm.checkPermission(new AuthPermission("setPolicy")); + Policy.policy = policy; ++ // all non-null policy objects are assumed to be custom ++ isCustomPolicy = policy != null ? true : false; ++ } ++ ++ /** ++ * Returns true if a custom (not com.sun.security.auth.PolicyFile) ++ * system-wide policy object has been set or installed. This method is ++ * called by SubjectDomainCombiner to provide backwards compatibility for ++ * developers that provide their own javax.security.auth.Policy ++ * implementations. ++ * ++ * @return true if a custom (not com.sun.security.auth.PolicyFile) ++ * system-wide policy object has been set; false otherwise ++ */ ++ static boolean isCustomPolicySet(Debug debug) { ++ if (policy != null) { ++ if (debug != null && isCustomPolicy) { ++ debug.println("Providing backwards compatibility for " + ++ "javax.security.auth.policy implementation: " + ++ policy.toString()); ++ } ++ return isCustomPolicy; ++ } ++ // check if custom policy has been set using auth.policy.provider prop ++ String policyClass = java.security.AccessController.doPrivileged ++ (new java.security.PrivilegedAction() { ++ public String run() { ++ return Security.getProperty("auth.policy.provider"); ++ } ++ }); ++ if (policyClass != null ++ && !policyClass.equals("com.sun.security.auth.PolicyFile")) { ++ if (debug != null) { ++ debug.println("Providing backwards compatibility for " + ++ "javax.security.auth.policy implementation: " + ++ policyClass); ++ } ++ return true; ++ } ++ return false; + } + + /** +diff -Nru openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java +--- openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java ++++ openjdk/jdk/src/share/classes/javax/security/auth/SubjectDomainCombiner.java +@@ -1,5 +1,5 @@ + /* +- * Copyright (c) 1999, 2007, Oracle and/or its affiliates. All rights reserved. ++ * Copyright (c) 1999, 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 +@@ -26,8 +26,6 @@ + package javax.security.auth; + + import java.security.AccessController; +-import java.security.AccessControlContext; +-import java.security.AllPermission; + import java.security.Permission; + import java.security.Permissions; + import java.security.PermissionCollection; +@@ -35,10 +33,8 @@ + import java.security.Principal; + import java.security.PrivilegedAction; + import java.security.ProtectionDomain; +-import java.lang.ClassLoader; + import java.security.Security; + import java.util.Set; +-import java.util.Iterator; + import java.util.WeakHashMap; + import java.lang.ref.WeakReference; + +@@ -61,7 +57,8 @@ + "\t[SubjectDomainCombiner]"); + + // Note: check only at classloading time, not dynamically during combine() +- private static final boolean useJavaxPolicy = compatPolicy(); ++ private static final boolean useJavaxPolicy = ++ javax.security.auth.Policy.isCustomPolicySet(debug); + + // Relevant only when useJavaxPolicy is true + private static final boolean allowCaching = +@@ -202,8 +199,8 @@ + return null; + } + +- // maintain backwards compatibility for people who provide +- // their own javax.security.auth.Policy implementations ++ // maintain backwards compatibility for developers who provide ++ // their own custom javax.security.auth.Policy implementations + if (useJavaxPolicy) { + return combineJavaxPolicy(currentDomains, assignedDomains); + } +@@ -476,8 +473,7 @@ + String s = AccessController.doPrivileged + (new PrivilegedAction() { + public String run() { +- return java.security.Security.getProperty +- ("cache.auth.policy"); ++ return Security.getProperty("cache.auth.policy"); + } + }); + if (s != null) { +@@ -488,29 +484,6 @@ + return true; + } + +- // maintain backwards compatibility for people who provide +- // their own javax.security.auth.Policy implementations +- private static boolean compatPolicy() { +- javax.security.auth.Policy javaxPolicy = AccessController.doPrivileged +- (new PrivilegedAction() { +- public javax.security.auth.Policy run() { +- return javax.security.auth.Policy.getPolicy(); +- } +- }); +- From gnu.andrew at redhat.com Wed Jan 15 12:07:47 2014 From: gnu.andrew at redhat.com (Andrew) Date: Wed, 15 Jan 2014 15:07:47 -0500 (EST) Subject: [patch] build openjdk-7 for x86_64-linux-gnux32 In-Reply-To: <52D6BF76.3080305@ubuntu.com> References: <52D66651.3030006@ubuntu.com> <238449918.2008810.1389804605500.JavaMail.root@redhat.com> <52D6BF76.3080305@ubuntu.com> Message-ID: <1738815439.2126201.1389816467482.JavaMail.root@redhat.com> ----- Original Message ----- > Am 15.01.2014 17:50, schrieb Andrew: > > Support for this came up a while back and I'm not sure what the point of > > this would be. > > Why would anyone on x86_64 want an x32 Zero build instead of the x86_64 > > JIT? > > I don't care who else does want it. It is needed to get the build > dependencies > fulfilled for a distribution. While we do have multiarch, we can't yet > build-depend on packages of arbitrary foreign architectures. If other > distributions can handle that, fine. But it is easier for me to provide an > openjdk for x32 than to patch around 100 packages not to use openjdk. > > Matthias > > Yeah, I get that. I have no problem with most of it as it doesn't affect anyone else. My concern is removing the include line as we have a bunch of antique stuff still building this (who also don't have things like LCMS2, GIO, etc.) that could run into trouble. Is there any way we could ifdef it instead? -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From dbhole at redhat.com Wed Jan 15 13:06:39 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 15 Jan 2014 16:06:39 -0500 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> Message-ID: <20140115210638.GB5107@redhat.com> * Efrat Lefeber [2014-01-15 10:27]: > I am using icedtea-6-plugin with firefox on linux debian (wheezy). > > I noticed that after opening applets in firefox tabs, and closing them, some > objects in java plugin are not released, which causes the heap size of the jvm > to keep increasing. > > For example, I see that the PluginAppletViewer object is not released, also the > applet object itself and each classloader of each applet. > > If I open and close a webpage containing a java applet, the jvm eventually will > get out of memory exception. > > Looking at the plugin code, I see that when closing the applet window, the > function PluginAppletViewer.destroyApplet is called, but in this flow, not all > objects are release. > > > > Is there a way to free the memory without taking down the jvm to prevent the > increase in memory? > I know some objects are kept around to make subsequent startups faster. But PluginAppletViewer does not sound like something that belongs on that list. Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. Jiri, Andrew, do you know the status of this? Deepak > > > > ??????????????????????????????????????????????????????????????????????????????? > > This transmission may contain information that is privileged, confidential, and > /or exempt from disclosure under applicable law. If you are not the intended > recipient, you are hereby notified that any disclosure, copying, distribution, > or use of the information contained herein (including any reliance thereon) is > strictly prohibited. If you received this transmission in error, please > immediately contact the sender and destroy the material in its entirety, > whether in electronic or hard copy format. From dbhole at redhat.com Wed Jan 15 13:08:35 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Wed, 15 Jan 2014 16:08:35 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D69AAB.50500@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> Message-ID: <20140115210835.GC5107@redhat.com> * Jiri Vanek [2014-01-15 09:26]: > On 01/14/2014 07:15 PM, Deepak Bhole wrote: > >* Jiri Vanek [2014-01-14 07:44]: > >>On 01/14/2014 12:33 AM, Jacob Wisor wrote: > >>>Hello there! > >>> > >>>On 01/13/2014 23:20, Andrew Azores wrote: > >>>>Hi, > >>>> > >>>>This small patch hooks the JDK policytool into itweb-settings. It can then be > >>>>used to set up a custom user-level JNLP policy - this, in combination with the > >>>>Run in Sandbox patch, will allow for quite a lot more flexibility in how > >>>>permissions are handled with signed applets/applications. > >>>> > >>>>A nicer, more user-friendly editor to replace the policytool will hopefully come > >>>>later on. > >>> > >>>Oooooooh yes, please! This would be awesome! :-) > >> > >>Yes this would be :)) > >>But it is different task. And Quite complex. Especially it must pass > >>upstream (openjdk). And that is *the* task! > >> > > > >Hi Jiri, > > > >How so? The editor we have in mind for ITW is to set policies for > >applets/JNLP apps. Why the need to have it accepted upstream (not that I > >am against it)? > > > >The editor will be geared toward setting policies for untrusted apps for > >the most part (e.g. checkboxes for "allow read/write to filesystem", > >"allow network connection" etc. and some additional customizations. In > >general it would be too restrictive for the kind of complex policies > >that administrators would want to set for complex Java applications. > > > > Hi! > > Well the policy tool do exists, and can be reused. There is no need to re-implement it. > If so, then in the most correct place of all - the jdk (where > current policy tool is). Then others (even itw) will gain benefits > from it. > We can add some simple editor for most common cases (as I understand > form your comment is what you wont). But not rewrite it on our own. > > Thanx for watch! > Perhaps it makes sense to first determine what we want and settle on that first (as rfc) then before we try to implement (either standalone or updating policytool). Andrew, did you have a specific design in mind? If so, can you provide quick mockups? Thanks, Deepak > J. > > > > >>For now I'm happy that this feature was implemented with such an small effort. > >>> > ... From aazores at redhat.com Wed Jan 15 14:09:44 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 15 Jan 2014 17:09:44 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D6A844.20902@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> Message-ID: <52D70728.1050603@redhat.com> On 01/15/2014 10:24 AM, Jiri Vanek wrote: > On 01/15/2014 12:34 AM, Jacob Wisor wrote: >> After I have hit the send button for my last e-mail, I have realized >> that it may be desirable to run >> policytool in a separate process for security reasons, although >> calling directly into >> PolicyTool.main(). Maybe it's just me being paranoid, but authoring >> policies is a security sensitive >> task. In the current patch policytool gets loaded into the same JVM >> as itw-settings. If the current >> JVM or itw-settings has been compromised for the current user, he/she >> may be editing a heck of >> secure policy but could end up with a policy file on disk, granting >> AllPermissions to some malicious >> code bearing URL. Sure, policy files are simple human readable text >> files that can be checked before >> applying. But, who really does that? >> Of course, I do realize that if one's system JRE has been compromised >> then probably all other JVM >> instances and the applications running on them are going to get >> compromised sooner or later on that >> system. I don't know, I just wanted to share some wired thoughts on >> policy authoring security. :-D > > Ugh. I hope this is not true. But Ido not know. > Btw - by specifying policies - the itw-settings will be still > unaffected correct? What do you mean? >> >>> I've put this into a new thread, but tbh I'm not sure if that was >>> entirely necessary. >> >> In this case, I had rather something like >> SwingUtilities.invokeLater() or EventQueue.invokeLater() >> in mind. In general, only activities related to manipulating and >> displaying UI elements should be >> placed on the AWT thread. Work code should either be put into >> invokeLater() or custom working >> threads (like SwingWorker for example), although the later has some >> more caveats in most cases. >> invokeLater() actually does indeed create a thread too but it also >> neatly ties it into the UI >> toolkit and takes care of most of those caveats, so developers are >> really advised to use it. You may >> want to read the tiny discussion on "Swing's Threading Policy" at the >> bottom of javax.swing's >> package API documentation regarding this topic. ;-) > > +1! > >> >>> The "View Policy" button has a tooltip now that indicates the >>> location of the file that will be >>> opened, >>> although this is also displayed in the policytool itself if you >>> launch it. >> >> Right, that's actually why I have remained silent on that matter. >> It's a good move to indicate the >> policy file's location before launching policytool. >> >>> The View Button's action listener is no longer an anonymous inner >>> class, since I >>> don't really mind the style either way personally. >> >> Yey, I love inner classes! :-D Declaring a member variable holding >> the ActionListener's reference >> would have been enough too, but hey, going all the way through is >> even cooler. 8-) >> >>> Its implementation does have an anonymous inner Runnable inside its >>> Thread, though. >> >> An anonymous Runnable implementation without keeping a reference to >> it is okay here because in any >> case, there can only be one Runnable object per Thread object, hence >> a reference to that anonymous >> Runnable object is always unambiguously retrievable. Nevertheless, >> you may want to prefer >> invokeLater() over that custom thread. > > as above >> >>> Oh, and there's also now an error dialog if for some reason the >>> policy file can't be opened (eg it >>> exists >>> but you don't have read permission, or it exists but is a directory, or >>> whatever). If the file doesn't already exist then we attempt to >>> create a blank >>> one there first, since the PolicyTool itself doesn't seem to do this. >> >> Although all JOptionPane.showXxxDialog() dialogs are modal, please >> pass it a reference to >> itw-settings' JFrame for the sake of completeness, before it grabs >> some undesired /default/ >> Compenent - what ever this might be - or perhaps even the desktop >> window. > +1 All this was already taken care of in the '3' patch, I think. > >> >> I hope you are sure about what you have been probably intending to >> accomplish with >> canOpenPolicyFile() actually does what you had in mind. >> File.canRead() and File.canWrite() are not >> platform agnostic and they are only checking file system access >> permissions, not physical read/write >> capability. Those methods are so misleading in their semantics and >> should not have found their way >> into the Java API in the first place. The JCP board would be well >> advised to deprecate these methods >> as soon as possible for being highly platform dependent and having >> misleading semantics. I have >> already covered this in an earlier post to this mailing list. ;-) >> Besides File.canRead() and File.canWrite() also test for existence so >> you may want to simplify and >> drop some redundant tests in you current code. I may be mistaken, but >> there may already be code >> present in net.sourceforge.jnlp.util.FileUtils for your intended >> purpose. >> IMHO, you should probably drop these tests anyway because it's on the >> policytool to do those tests >> (from a software engineering point of view). > > This have already appeared, Jacob, have not? :o) > > + public static boolean canOpenPolicyFile(final File policyFile) > throws IOException { > + FileUtils.createParentDir(policyFile); > + if (!policyFile.exists()) { > + policyFile.createNewFile(); > + } > + return policyFile.isFile() && policyFile.canRead() && > policyFile.canWrite(); > + } > > > For a directory you can use DirectroyValidator class in itw. It do > what you wont to do in full scale. > > imho the policyFile.canWrite(); is not necessary (the message "can not > write" is worthy anyway ) . The toll is useful also for read only > viewing.. > The messages "is not file" or "can not be read" or "cannot be written" > are better then one generic one. > > Thanx both of you for contributions! > > > J. Okay, the "couldNotOpenFileDialog" is more informative about the specific reason that it's appearing now, and I'm using a DirectoryValidator to check that we'll be able to make/edit a policy file. I've also removed the requirement that the file be writeable - you're right, it does still make sense to let the tool launch, even if the file is read-only. And it's policytool's responsibility to deal with the problem if it turns out the file is read-only. Besides, I did label the button as "View Policy", not "Edit Policy" ;) > few more nits: > > Now the polici file is visibl ein policy tool, in plolicy file in > readonly textfield (I'm wondering why it was not visible before). > Thats good, but I would like to see it in itw settings itself:( Please > add similar readonly jtextfield to police settings pane. > You can keep also current tool tip text;) I have done this, but it's kind of ugly looking. And I really don't know how to make things look pretty. :) > + private static File policy = new > File(System.getProperty("user.home") + > "/.config/icedtea-web/security/java.policy"), > + policyBackup = new File(System.getProperty("user.home") > + "/.config/icedtea-web/security/java.policy.bak"); > > nope - you have to use value from deployment configuration Yea, this was just carelessness :( wrote it as a quick hack and then forgot to go back and actually fix it properly. Classic story, isn't it? > > + if (policy.isFile()) { > + if (policyBackup.exists()) { > + throw new RuntimeException("Backup policy file > already exists"); > + } > > > Instead of this (this can simple become blocker if tests are killed) I > would recommand to use some random-suffixed.bak file. Of course feel > free to throw out if backuping fail and log out worning if old backups > exists. > > try { > + out = new FileWriter(policy, false /*no append*/); > + } catch (IOException e) { > + throw new RuntimeException(e); > + } > +... and much similar > > Its not worthy to catch. Please let already thrown exception flow. Of > course try to close in finally. (especially you will avoid > try{}finally{try{}catch{}} nastyness. > > Both your testcases should share shared code (namely backupPolicy and > restorePolicy ;) ) And also yor assersert* methods (just with negation > ;) ) > > Otherwise the tests looks really good! > Well, the reason I had the tests split into two testcases files like that was because one set of them required a specific policy file, and the other set required there to be no policy file at all. So I used @BeforeClass and @AfterClass in each testcase so that I could do the work of setting up and restoring the policy files just once per set. Now, with them all combined into one testcase file, the backup/restore has to be done wrapped around every single test using @Before and @After, with the tests that require the specific policy writing a new one each time, since the order the tests run in is not well defined. But on the plus side, they all use the same backup/restore methods and many of the same assertions, too. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy4.patch Type: text/x-patch Size: 12727 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140115/e70614c7/custom_policy4-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers2.patch Type: text/x-patch Size: 20166 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140115/e70614c7/reproducers2-0001.patch From aazores at redhat.com Wed Jan 15 14:34:39 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 15 Jan 2014 17:34:39 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <20140115210835.GC5107@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> Message-ID: <52D70CFF.8020400@redhat.com> On 01/15/2014 04:08 PM, Deepak Bhole wrote: > * Jiri Vanek [2014-01-15 09:26]: >> On 01/14/2014 07:15 PM, Deepak Bhole wrote: >>> >>> Hi Jiri, >>> >>> How so? The editor we have in mind for ITW is to set policies for >>> applets/JNLP apps. Why the need to have it accepted upstream (not that I >>> am against it)? >>> >>> The editor will be geared toward setting policies for untrusted apps for >>> the most part (e.g. checkboxes for "allow read/write to filesystem", >>> "allow network connection" etc. and some additional customizations. In >>> general it would be too restrictive for the kind of complex policies >>> that administrators would want to set for complex Java applications. >>> >> Hi! >> >> Well the policy tool do exists, and can be reused. There is no need to re-implement it. >> If so, then in the most correct place of all - the jdk (where >> current policy tool is). Then others (even itw) will gain benefits >> from it. >> We can add some simple editor for most common cases (as I understand >> form your comment is what you wont). But not rewrite it on our own. >> >> Thanx for watch! >> > Perhaps it makes sense to first determine what we want and settle on > that first (as rfc) then before we try to implement (either standalone > or updating policytool). > > Andrew, did you have a specific design in mind? If so, can you provide > quick mockups? > > Thanks, > Deepak I don't have any ideas as far as the visual design for the editor, no. But I do have some ideas about the general interface it should expose to users. I was thinking that we might have some kind of way for the editor to show a list of recently run applets and let the user select from this list, in order to build a policy entry applicable to that applet (ie by using its codebase). There would also be a way for the user to manually specify the codebase in a text field or something. This sounds kind of bad, because it means users either have to be advanced enough to know how to specify the applet's codebase, or they need to run the applet first before being able to restrict its permissions, which kind of defeats the purpose. *However* - we have a "Run in Sandbox" button! So users who intend to create a custom policy for an applet can run it first, in Sandbox since they don't fully trust it, and then edit a custom policy for it and add the minimal permissions required to get it to run. The only thing that will be confusing here and require some kind of explanation is that for the restricted permissions policy to take effect, the user needs to continue choosing Sandbox - even with the custom policy in place, if the user chooses to run the applet with the standard Ok/Proceed button, then the custom policy won't apply. Well, it will, but AllPermission will be granted on top, rendering it effectively useless. Maybe "Sandbox" should be relabelled as "Restricted Run" or similar then, since it won't really be Sandbox anymore once custom policies are in place. For actually specifying permissions, there could be an "Advanced" button to show a full listing of options, much like the existing policytool, but the standard interface would just have checkboxes for "Allow network connections", "Allow local filesystem access", "Allow printing", "Allow reading user details", "Allow all actions", etc. Each of these would add or remove a small set of permissions to the policy, eg "Allow reading user details" would entail granting read permission on the user.name and probably user.home together. Or really, I imagine a user that is both advanced enough to care about making a custom policy AND needs more control than the coarse-grained checkboxes is probably advanced enough to deal with the existing policytool. So we can just leave out the Advanced-type settings from the new editor and let those users deal with using the existing policytool if they need it. Maybe PolicyPanel could be modified further to allow users to choose which editor to launch with an "advanced" checkbox or similar. Thanks, -- Andrew A From andrew at icedtea.classpath.org Wed Jan 15 14:42:51 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 15 Jan 2014 22:42:51 +0000 Subject: /hg/release/icedtea7-2.3: Add missing NEWS entries. Message-ID: changeset a26f100094fc in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=a26f100094fc author: Andrew John Hughes date: Wed Jan 15 22:42:37 2014 +0000 Add missing NEWS entries. 2014-01-14 Andrew John Hughes * NEWS: Add missing entries. diffstat: ChangeLog | 4 ++ NEWS | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 115 insertions(+), 3 deletions(-) diffs (170 lines): diff -r 1596a410ac29 -r a26f100094fc ChangeLog --- a/ChangeLog Tue Jan 14 23:05:15 2014 -0500 +++ b/ChangeLog Wed Jan 15 22:42:37 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-14 Andrew John Hughes + + * NEWS: Add missing entries. + 2014-01-14 Omair Majid * NEWS: Update with date. diff -r 1596a410ac29 -r a26f100094fc NEWS --- a/NEWS Tue Jan 14 23:05:15 2014 -0500 +++ b/NEWS Wed Jan 15 22:42:37 2014 +0000 @@ -15,13 +15,56 @@ * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8006900, CVE-2013-3829: Add new date/time capability + - S8008589: Better MBean permission validation - S8010935: Better XML handling + - S8011071, CVE-2013-5780: Better crypto provider handling + - S8011081, CVE-2013-5772: Improve jhat + - S8011157, CVE-2013-5814: Improve CORBA portablility - S8011786, CVE-2014-0368: Better applet networking - - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list - - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code + - S8012071, CVE-2013-5790: Better Building of Beans + - S8012147: Improve tool support + - S8012277: CVE-2013-5849: Improve AWT DataFlavor + - S8012425, CVE-2013-5802: Transform TransformerFactory + - S8013503, CVE-2013-5851: Improve stream factories + - S8013506: Better Pack200 data handling + - S8013510, CVE-2013-5809: Augment image writing code + - S8013514: Improve stability of cmap class + - S8013739, CVE-2013-5817: Better LDAP resource management + - S8013744, CVE-2013-5783: Better tabling for AWT + - S8014085: Better serialization support in JMX classes + - S8014093, CVE-2013-5782: Improve parsing of images + - S8014098: Better profile validation + - S8014102, CVE-2013-5778: Improve image conversion + - S8014341, CVE-2013-5803: Better service from Kerberos servers + - S8014349, CVE-2013-5840: (cl) Class.getDeclaredClass problematic in some class loader configurations + - S8014530, CVE-2013-5825: Better digital signature processing + - S8014534: Better profiling support + - S8014987, CVE-2013-5842: Augment serialization handling + - S8015614: Update build settings + - S8015731: Subject java.security.auth.subject to improvements + - S8015743, CVE-2013-5774: Address internet addresses + - S8016256: Make finalization final + - S8016653, CVE-2013-5804: javadoc should ignore ignoreable characters in names + - S8016675, CVE-2013-5797: Make Javadoc pages more robust + - S8017196, CVE-2013-5850: Ensure Proxies are handled appropriately + - S8017287, CVE-2013-5829: Better resource disposal + - S8017291, CVE-2013-5830: Cast Proxies Aside + - S8017298, CVE-2013-4002: Better XML support + - S8017300, CVE-2013-5784: Improve Interface Implementation + - S8017505, CVE-2013-5820: Better Client Service + - S8019292: Better Attribute Value Exceptions + - S8019617: Better view of objects + - S8020293: JVM crash + - S8021275, CVE-2013-5805: Better screening for ScreenMenu + - S8021282, CVE-2013-5806: Better recycling of object instances + - S8021286: Improve MacOS resourcing + - S8021290, CVE-2013-5823: Better signature validation - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions + - S8022931, CVE-2013-5800: Enhance Kerberos exceptions - S8022935: Enhance Apache resolver classes + - S8022940: Enhance CORBA translations - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections @@ -29,6 +72,7 @@ - S8023301: Enhance generic classes - S8023338: Update jarsigner to encourage timestamping - S8023672: Enhance jar file validation + - S8023683: Enhance class file parsing - S8024302: Clarify jar verifications - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience @@ -47,23 +91,87 @@ - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up * Backports - - S7173959: Jvm crashed during coherence exabus (tmb) testin + - S6614237: missing codepage Cp290 at java runtime + - S7149012: jarsigner needs not warn about cert expiration if the jar has a TSA timestamp + - S7167593: Changed get_source.sh to allow for getting full oracle jdk repo forest + - S7167976: Fix broken get_source.sh script + - S7170091: Fix missing wait between repo cloning in hgforest.sh + - S7173959: Jvm crashed during coherence exabus (tmb) testing - S7182152: Instrumentation hot swap test incorrect monitor count + - S7184406: Adjust get_source/hgforest script to allow for trailing // characters + - S7192449: fix up tests to accommodate jtreg spec change + - S7192744: fix up tests to accommodate jtreg spec change + - S7196533: TimeZone.getDefault() slow due to synchronization bottleneck + - S8000450: Restrict access to com/sun/corba/se/impl package + - S8003992: File and other classes in java.io do not handle embedded nulls properly + - S8004391: Bug fix in jtreg causes test failures in pre jdk 8 langtools tests + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() - S8009399: Bump the hsx build number for APRIL CPU + - S8011806: 7u25-b05 hotspot fastdebug build failure + - S8013827: File.createTempFile hangs with temp file starting with 'com1.4' - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number + - S8014469: (tz) Support tzdata2013c - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it + - S8015144: Performance regression in ICU OpenType Layout library - S8015614: Update build settings + - S8015965: (process) Typo in name of property to allow ambiguous commands + - S8015978: Incorrect transformation of XPath expression "string(-0)" + - S8015998: Additional improvement in Javadoc framing - S8016256: Make finalization final + - S8016357: Update hotspot diagnostic class - S8016814: sun.reflect.Reflection.getCallerClass returns the frame off by 1 + - S8017566: Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl + - S8019584: javax/management/remote/mandatory/loading/MissingClassTest.java failed in nightly against jdk7u45: java.io.InvalidObjectException: Invalid notification: null + - S8019969: nioNetworkChannelInet6/SetOptionGetOptionTestInet6 test case crashes + - S8019979: Replace CheckPackageAccess test with better one from closed repo + - S8020054: (tz) Support tzdata2013d + - S8020085: Linux ARM build failure for 7u45 - S8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() + - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances + - S8021257: com.sun.corba.se.** should be on restricted package list + - S8021271: Better buffering in ObjC code + - S8021355: REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris + - S8021360: object not exported" on start of JMXConnectorServer for RMI-IIOP protocol with security manager + - S8021366: java_util/Properties/PropertiesWithOtherEncodings fails during 7u45 nightly testing + - S8021577: JCK test api/javax_management/jmx_serial/modelmbean/ModelMBeanNotificationInfo/serial/index.html#Input has failed since jdk 7u45 b01 + - S8021933: Add extra check for fix # JDK-8014530 + - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries + - S8021969: The index_AccessAllowed jnlp can not load successfully with exception thrown in the log. + - S8022086: Fixing licence of newly added files + - S8022661: InetAddress.writeObject() performs flush() on object output stream + - S8022682: Supporting XOM + - S8022856: 7u45 l10n resource file translation update - S8023457: Event based tracing framework needs a mutex for thread groups - S8023478: Test fails with HS crash in GCNotifier. + - S8023771: when USER_RELEASE_SUFFIX is set in order to add a string to java -version, build number in the bundles names should not be changed to b00 + - S8023964: java/io/IOException/LastErrorString.java should be @ignore-d + - S8024668: api/java_nio/charset/Charset/index.html#Methods JCK-runtime test fails with 7u45 b11 + - S8024697: Fix for 8020983 causes Xcheck:jni warnings + - S8024863: X11: Support GNOME Shell as mutter - S8023683: Enhance class file parsing - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp + - S8025128: File.createTempFile fails if prefix is absolute path + - S8025170: jdk7u51 7u-1-prebuild is failing since 9/19 - S8026826: JDK 7 fix for 8010935 broke the build * Bug fixes - Enable Zero when there is no HotSpot JIT and an alternate VM has not been explictly enabled. + - Add casts to fix build on S390 + - Add -D_LITTLE_ENDIAN for AArch64. + - Add tests missing from 8014618 backport + - Cast should use same type as GCDrainStackTargetSize (uintx). + - Cleanup file resources properly in TimeZone_md. + - RH991170: Handle alternative Kerberos credential cache locations + - Fix Kerberos cache support to check for null, fallback on old path support and not hardcode the krb5 library. + - Only define _GNU_SOURCE if not already defined. + - Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds + - Fix merge issues caused by faulty AOT 8010118 patch. + - PR1400: Menu of maximized AWT window not working in Mate - PR1551: Add build support for Zero AArch64 + - PR1553: Add Debian AArch64 support + - PR1554: Fix build on Mac OS X + - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich + - Set ZERO_BUILD in flags.make so it is set on rebuilds New in release 2.3.12 (2013-07-26): From andrew at icedtea.classpath.org Wed Jan 15 14:48:07 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 15 Jan 2014 22:48:07 +0000 Subject: /hg/release/icedtea7-2.4: Add missing NEWS entry. Message-ID: changeset b02e2543e62a in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=b02e2543e62a author: Andrew John Hughes date: Wed Jan 15 22:48:01 2014 +0000 Add missing NEWS entry. 2014-01-14 Andrew John Hughes * NEWS: Add missing entry. diffstat: ChangeLog | 4 ++++ NEWS | 1 + 2 files changed, 5 insertions(+), 0 deletions(-) diffs (22 lines): diff -r c2a6ede50f5e -r b02e2543e62a ChangeLog --- a/ChangeLog Tue Jan 14 23:02:57 2014 -0500 +++ b/ChangeLog Wed Jan 15 22:48:01 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-14 Andrew John Hughes + + * NEWS: Add missing entry. + 2014-01-14 Omair Majid * configure.ac: Set to 2.4.4. diff -r c2a6ede50f5e -r b02e2543e62a NEWS --- a/NEWS Tue Jan 14 23:02:57 2014 -0500 +++ b/NEWS Wed Jan 15 22:48:01 2014 +0000 @@ -58,6 +58,7 @@ - PR1618: Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds - D729448: 32-bit alignment on mips and mipsel - PR1623: Collision between OpenJDK 6 & 7 classes when bootstrapping with OpenJDK 6 + - Remove binary files and unlicensed generated files New in release 2.4.3 (2013-10-21): From stefan.reich.maker.of.eye at googlemail.com Wed Jan 15 17:31:37 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Thu, 16 Jan 2014 02:31:37 +0100 Subject: Applets: key events, OBJECT/EMBED Message-ID: Hi again... I am almost totally fed up with the state of applets in browsers these days :[ IcedTea/Firefox with APPLET tag: works generally, but: key events do not work at all. (They work in appletviewer.) See here: http://tinybrain.de:8080/tb/gui-applet.php?id=172 (Try clicking on the text and then pressing left key or right key.) Also, still there is the 100% CPU problem. I tried kill -3 with that, but it only stops the plug-in (instead of printing a stack trace)... IcedTea/Firefox with OBJECT/EMBED tag: Just hangs. Gray area. Check here: http://tinybrain.de:8080/tb/gui-applet.php?id=172&useObject=1. Weirdly, I've seen the OBJECT/EMBED version work, for example here: http://htmltea.sourceforge.net/editortest.html This is all really confusing... :[ Cheers, Stefan -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/bfc323df/attachment.html From stefan.reich.maker.of.eye at googlemail.com Wed Jan 15 17:34:11 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Thu, 16 Jan 2014 02:34:11 +0100 Subject: Applets: key events, OBJECT/EMBED In-Reply-To: References: Message-ID: btw, I am calling: setFocusable(true); requestFocusInWindow(); in the applet. And the KeyListener is registered directly on the Applet object. I sometimes see that the applet is not even grabbing the keyboard focus - the cursor stays in the location bar, for example. On Thu, Jan 16, 2014 at 2:31 AM, Stefan Reich < stefan.reich.maker.of.eye at googlemail.com> wrote: > Hi again... > > I am almost totally fed up with the state of applets in browsers these > days :[ > > IcedTea/Firefox with APPLET tag: works generally, but: key events do not > work at all. (They work in appletviewer.) See here: > http://tinybrain.de:8080/tb/gui-applet.php?id=172 (Try clicking on the > text and then pressing left key or right key.) > > Also, still there is the 100% CPU problem. I tried kill -3 with that, but > it only stops the plug-in (instead of printing a stack trace)... > > IcedTea/Firefox with OBJECT/EMBED tag: Just hangs. Gray area. Check here: > http://tinybrain.de:8080/tb/gui-applet.php?id=172&useObject=1. > > Weirdly, I've seen the OBJECT/EMBED version work, for example here: > http://htmltea.sourceforge.net/editortest.html > > This is all really confusing... :[ > > Cheers, > Stefan > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/86234751/attachment-0001.html From stefan.reich.maker.of.eye at googlemail.com Wed Jan 15 18:00:05 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Thu, 16 Jan 2014 03:00:05 +0100 Subject: Applets: key events, OBJECT/EMBED In-Reply-To: References: Message-ID: OK, and here's the WEIRDEST thing: JTextField takes key events! See here: http://tinybrain.de:8080/tb-applet/test.php I'm now trying to find out how JTextField registers itself for key events... I can do the same thing and get those events too, right? Hope we can fix this, I really want to build an editor applet that works... :) Best, Stefan On Thu, Jan 16, 2014 at 2:34 AM, Stefan Reich < stefan.reich.maker.of.eye at googlemail.com> wrote: > btw, I am calling: > > setFocusable(true); > requestFocusInWindow(); > > in the applet. And the KeyListener is registered directly on the Applet > object. I sometimes see that the applet is not even grabbing the keyboard > focus - the cursor stays in the location bar, for example. > > > On Thu, Jan 16, 2014 at 2:31 AM, Stefan Reich < > stefan.reich.maker.of.eye at googlemail.com> wrote: > >> Hi again... >> >> I am almost totally fed up with the state of applets in browsers these >> days :[ >> >> IcedTea/Firefox with APPLET tag: works generally, but: key events do not >> work at all. (They work in appletviewer.) See here: >> http://tinybrain.de:8080/tb/gui-applet.php?id=172 (Try clicking on the >> text and then pressing left key or right key.) >> >> Also, still there is the 100% CPU problem. I tried kill -3 with that, but >> it only stops the plug-in (instead of printing a stack trace)... >> >> IcedTea/Firefox with OBJECT/EMBED tag: Just hangs. Gray area. Check here: >> http://tinybrain.de:8080/tb/gui-applet.php?id=172&useObject=1. >> >> Weirdly, I've seen the OBJECT/EMBED version work, for example here: >> http://htmltea.sourceforge.net/editortest.html >> >> This is all really confusing... :[ >> >> Cheers, >> Stefan >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/fe55df95/attachment.html From andrew at icedtea.classpath.org Wed Jan 15 21:20:32 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 16 Jan 2014 05:20:32 +0000 Subject: /hg/release/icedtea7-2.4: Fix broken bootstrap. Message-ID: changeset c5db461b91c7 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=c5db461b91c7 author: Andrew John Hughes date: Thu Jan 16 05:20:16 2014 +0000 Fix broken bootstrap. 2014-01-15 Andrew John Hughes * patches/boot/ecj-multicatch.patch: Add new cases in RSAClientKeyExchange and Handshaker. diffstat: ChangeLog | 6 ++++ patches/boot/ecj-multicatch.patch | 49 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 0 deletions(-) diffs (69 lines): diff -r b02e2543e62a -r c5db461b91c7 ChangeLog --- a/ChangeLog Wed Jan 15 22:48:01 2014 +0000 +++ b/ChangeLog Thu Jan 16 05:20:16 2014 +0000 @@ -1,3 +1,9 @@ +2014-01-15 Andrew John Hughes + + * patches/boot/ecj-multicatch.patch: + Add new cases in RSAClientKeyExchange + and Handshaker. + 2014-01-14 Andrew John Hughes * NEWS: Add missing entry. diff -r b02e2543e62a -r c5db461b91c7 patches/boot/ecj-multicatch.patch --- a/patches/boot/ecj-multicatch.patch Wed Jan 15 22:48:01 2014 +0000 +++ b/patches/boot/ecj-multicatch.patch Thu Jan 16 05:20:16 2014 +0000 @@ -466,3 +466,52 @@ ei = new EncodingInfo(null,null); } } +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java 2014-01-16 00:34:01.264963408 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java 2014-01-16 00:35:24.562264096 +0000 +@@ -1051,8 +1051,7 @@ + KeyGenerator kg = JsseJce.getKeyGenerator(masterAlg); + kg.init(spec); + return kg.generateKey(); +- } catch (InvalidAlgorithmParameterException | +- NoSuchAlgorithmException iae) { ++ } catch (InvalidAlgorithmParameterException iae) { + // unlikely to happen, otherwise, must be a provider exception + // + // For RSA premaster secrets, do not signal a protocol error +@@ -1060,6 +1059,12 @@ + if (debug != null && Debug.isOn("handshake")) { + System.out.println("RSA master secret generation error:"); + iae.printStackTrace(System.out); ++ } ++ throw new ProviderException(iae); ++ } catch (NoSuchAlgorithmException iae) { ++ if (debug != null && Debug.isOn("handshake")) { ++ System.out.println("RSA master secret generation error:"); ++ iae.printStackTrace(System.out); + } + throw new ProviderException(iae); + } +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java 2014-01-16 00:34:14.005162368 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java 2014-01-16 00:36:09.446964834 +0000 +@@ -271,12 +271,17 @@ + kg.init(new TlsRsaPremasterSecretParameterSpec( + version.major, version.minor, encodedSecret), generator); + return kg.generateKey(); +- } catch (InvalidAlgorithmParameterException | +- NoSuchAlgorithmException iae) { ++ } catch (InvalidAlgorithmParameterException iae) { + // unlikely to happen, otherwise, must be a provider exception + if (debug != null && Debug.isOn("handshake")) { + System.out.println("RSA premaster secret generation error:"); + iae.printStackTrace(System.out); ++ } ++ throw new RuntimeException("Could not generate dummy secret", iae); ++ } catch (NoSuchAlgorithmException iae) { ++ if (debug != null && Debug.isOn("handshake")) { ++ System.out.println("RSA premaster secret generation error:"); ++ iae.printStackTrace(System.out); + } + throw new RuntimeException("Could not generate dummy secret", iae); + } From jgomo3 at gmail.com Sat Jan 11 13:32:48 2014 From: jgomo3 at gmail.com (=?UTF-8?B?SmVzw7pzIEfDs21leg==?=) Date: Sat, 11 Jan 2014 17:02:48 -0430 Subject: Javaws always download the application CGoban3 Message-ID: Hello. In order to be able to play Go on KGS, i have to install this application[1]. After javaws install it, it place an icon in my desktop. But every time i open the application via the Desktop icon, it begin to download and install it again. So i installed Java from Oracle, and it only download the app once. After that, if a open the app from the Desktop icon, it simply run CGoban3. So i thought you could want to know this. P.D: I'm using Lubuntu 13.10 with javaws from icedtea package and the standard openjdk-7 package. And i just installed Oracle Java via this PPA[2]. [1] http://www.gokgs.com/download.jsp [2] ppa:webupd8team/java -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140111/af6514ef/attachment-0001.html From emailgrant at gmail.com Sun Jan 12 13:04:16 2014 From: emailgrant at gmail.com (Grant) Date: Sun, 12 Jan 2014 13:04:16 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <52CFBD29.4000502@redhat.com> References: <52CFBD29.4000502@redhat.com> Message-ID: >> I'm trying to build icedtea-7 on an ARM Gentoo system (Pandaboard ES) >> but it fails. I have gcj-jdk-4.8.2 and gcc-4.8.2 with gcj support >> compiled in. icedtea-6 builds fine but I need icedtea-7. Does anyone >> know how to get this to build on ARM? > > I fixed a bug on this recently. Please try icedtea7 head. > > Andrew. I finally got Gentoo's icedtea-7.9999 ebuild working to the point that it fails with almost the same error I posted before. It looks the same except there is no "Annotation processing got disabled, since it requires a 1.6 compliant JVM" error. I think that's a live ebuild but maybe not. Could you point me to the bug or the patch so I can make sure it is applied in my build? mkdir -p /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/bootstrap/jdk1.6.0/bin/javac -g -encoding utf-8 -source 6 -target 6 \ -d /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build ./TestCryptoLevel.java mkdir -p stamps touch stamps/cryptocheck.stamp if [ -e /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/j2sdk-image/bin/java ] ; then \ /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/j2sdk-image/bin/java -cp /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build TestCryptoLevel ; \ fi Exception in thread "main" java.lang.NullPointerException at java.lang.Throwable.fillInStackTrace(Throwable.java:783) at java.lang.Throwable.(Throwable.java:250) at java.lang.Exception.(Exception.java:54) at java.lang.RuntimeException.(RuntimeException.java:51) at java.lang.NullPointerException.(NullPointerException.java:60) at TestCryptoLevel.main(TestCryptoLevel.java:45) make: *** [stamps/check-crypto-boot.stamp] Error 1 - Grant From ELefeber at trustwave.com Tue Jan 14 04:51:08 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Tue, 14 Jan 2014 12:51:08 +0000 Subject: Memory leak in IcedTea-web plugin - java side Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE8C35@SKYMB1.trustwave.com> I am using icedtea-6-plugin with firefox on linux debian (wheezy). I noticed that after opening applets in firefox tabs, and closing them, some objects in java plugin are not freed, which causes the heap size of the jvm to keep increasing. For example, I see that the PluginAppletViewer object is not freed, also the applet object itself. If I open in a loop an applet, the jvm eventually will get out of memory exception. Is there a way to free the memory without taking down the jvm? ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140114/f1788b74/attachment-0001.html From emailgrant at gmail.com Wed Jan 15 05:40:23 2014 From: emailgrant at gmail.com (Grant) Date: Wed, 15 Jan 2014 05:40:23 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> Message-ID: >>> I'm trying to build icedtea-7 on an ARM Gentoo system (Pandaboard ES) >>> but it fails. I have gcj-jdk-4.8.2 and gcc-4.8.2 with gcj support >>> compiled in. icedtea-6 builds fine but I need icedtea-7. Does anyone >>> know how to get this to build on ARM? >> >> I fixed a bug on this recently. Please try icedtea7 head. >> >> Andrew. > > I finally got Gentoo's icedtea-7.9999 ebuild working to the point that > it fails with almost the same error I posted before. It looks the > same except there is no "Annotation processing got disabled, since it > requires a 1.6 compliant JVM" error. I think that's a live ebuild but > maybe not. Could you point me to the bug or the patch so I can make > sure it is applied in my build? > > mkdir -p /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/bootstrap/jdk1.6.0/bin/javac > -g -encoding utf-8 -source 6 -target 6 \ > -d /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build > ./TestCryptoLevel.java > mkdir -p stamps > touch stamps/cryptocheck.stamp > if [ -e /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/j2sdk-image/bin/java > ] ; then \ > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/j2sdk-image/bin/java > -cp /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/cryptocheck.build > TestCryptoLevel ; \ > fi > Exception in thread "main" java.lang.NullPointerException > at java.lang.Throwable.fillInStackTrace(Throwable.java:783) > at java.lang.Throwable.(Throwable.java:250) > at java.lang.Exception.(Exception.java:54) > at java.lang.RuntimeException.(RuntimeException.java:51) > at java.lang.NullPointerException.(NullPointerException.java:60) > at TestCryptoLevel.main(TestCryptoLevel.java:45) > make: *** [stamps/check-crypto-boot.stamp] Error 1 > > - Grant Hi Andrew, can you point me in the right direction with this? Here are a couple errors I'm getting depending on compile options and bootstrap VM: http://pastebin.com/VV3rMezP http://pastebin.com/ThjufjyH - Grant From emailgrant at gmail.com Wed Jan 15 07:45:59 2014 From: emailgrant at gmail.com (Grant) Date: Wed, 15 Jan 2014 07:45:59 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <52D6AC0D.6090905@RedHat.Com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> Message-ID: >>> Hi Andrew, can you point me in the right direction with this? Here >>> are a couple errors I'm getting depending on compile options and >>> bootstrap VM: >>> >>> http://pastebin.com/VV3rMezP >>> http://pastebin.com/ThjufjyH >> >> This may be the bug that Chris Philips is working on. >> >> Chris? >> >> Andrew. >> > Neither of these look familiar (though I recollect some issues in the > cryptocheck > for other archs so it may be a generic failure...). > I am planning update the it7-head forest with latest arm32 stuff in near > future so it > might be better to await that event. (Near future ~ a week +/- ). > > Chris OK good plan. Two questions: What can I check to see if it7-head has been updated? Is there an older version of it7 I might want to try in the meantime? Thanks, Grant From ptisnovs at icedtea.classpath.org Thu Jan 16 00:59:24 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 16 Jan 2014 08:59:24 +0000 Subject: /hg/gfx-test: Several helper methods for working with various sh... Message-ID: changeset 23845c2f1cbc in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=23845c2f1cbc author: Pavel Tisnovsky date: Thu Jan 16 10:03:33 2014 +0100 Several helper methods for working with various shapes added into the class CommonCAGOperations. Added new test to the test suite CAGOperationsOnRoundRectangleAndRectangle. diffstat: ChangeLog | 8 + src/org/gfxtest/framework/CommonCAGOperations.java | 64 +++++++++- src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java | 34 +++++- 3 files changed, 104 insertions(+), 2 deletions(-) diffs (183 lines): diff -r 121696444efb -r 23845c2f1cbc ChangeLog --- a/ChangeLog Wed Jan 15 13:13:09 2014 +0100 +++ b/ChangeLog Thu Jan 16 10:03:33 2014 +0100 @@ -1,3 +1,11 @@ +2014-01-16 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonCAGOperations.java: + Several helper methods for working with various shapes added into + the class CommonCAGOperations. + * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: + Added new test to the test suite CAGOperationsOnRoundRectangleAndRectangle. + 2014-01-15 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r 121696444efb -r 23845c2f1cbc src/org/gfxtest/framework/CommonCAGOperations.java --- a/src/org/gfxtest/framework/CommonCAGOperations.java Wed Jan 15 13:13:09 2014 +0100 +++ b/src/org/gfxtest/framework/CommonCAGOperations.java Thu Jan 16 10:03:33 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2010, 2011 Red Hat + Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -44,6 +44,7 @@ import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; +import java.awt.geom.RoundRectangle2D; /** * This class contains static methods used by various CAG operations tests. @@ -84,6 +85,11 @@ private final static int PIE_EXTEND_ANGLE = 270; /** + * Radius of rounded + */ + private final static int ROUND_RECTANGLE_RADIUS = 100; + + /** * Compute radius of circle from the position of its center point in an * image size (width and height). * @@ -240,6 +246,23 @@ } /** + * Create rounded rectangular area i.e. area consisting of just one rectangle. + * + * @param xc + * the X coordinate of the center of rectangle + * @param yc + * the Y coordinate of the center of rectangle + * @param size + * of rectangle + * @return newly created area containing one rectangle + */ + private static Area createRoundedRectangularArea(int xc, int yc, int size) + { + RoundRectangle2D rectangle = new RoundRectangle2D.Double(xc - size, yc - size, size << 1, size << 1, ROUND_RECTANGLE_RADIUS, ROUND_RECTANGLE_RADIUS); + return new Area(rectangle); + } + + /** * Create area composed of only one circle. This circle is placed on the * left side of the image. * @@ -370,6 +393,28 @@ } /** + * Create area composed of only one rounded rectangle. This rectangle is placed on + * the upper left side of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private static Area createFirstOverlappingRoundedRectangularArea(TestImage image) + { + // compute center of the image + int xc = image.getCenterX(); + int yc = image.getCenterY(); + // compute size of the rectangle + int size = computeSizeForOverlappingRectangle(xc, yc); + int x = xc - 3 * (size >> 2); + // it's better to align rectangle sides with the grid + x = x + (x % image.getGrid()); + int y = yc - (size >> 1); + return createRoundedRectangularArea(x, y, size); + } + + /** * Create area composed of only one rectangle. This rectangle is placed on * the lower right side of the image. * @@ -711,6 +756,23 @@ } /** + * Create new area composed from rounded rectangle and rectangle using union operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromRoundRectangleAndRectangleUsingUnionOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.add(rectangle2Area); + return area; + } + + /** * Create new area constructed from bigger circle and rectangle using union * operation. * diff -r 121696444efb -r 23845c2f1cbc src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Wed Jan 15 13:13:09 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Thu Jan 16 10:03:33 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2013 Red Hat + Copyright (C) 2013, 2014 Red Hat This file is part of IcedTea. @@ -40,7 +40,16 @@ package org.gfxtest.testsuites; +import java.awt.Graphics2D; +import java.awt.geom.Area; + + + +import org.gfxtest.framework.CommonCAGOperations; +import org.gfxtest.framework.CommonRenderingStyles; import org.gfxtest.framework.GfxTest; +import org.gfxtest.framework.TestImage; +import org.gfxtest.framework.TestResult; import org.gfxtest.framework.annotations.GraphicsPrimitive; import org.gfxtest.framework.annotations.GraphicsPrimitives; import org.gfxtest.framework.annotations.RenderStyle; @@ -70,6 +79,29 @@ { /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Jan 16 01:07:25 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 16 Jan 2014 09:07:25 +0000 Subject: /hg/rhino-tests: Enhancement of the test testAsSubclass. Message-ID: changeset 01e66e349104 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=01e66e349104 author: Pavel Tisnovsky date: Thu Jan 16 10:11:35 2014 +0100 Enhancement of the test testAsSubclass. diffstat: ChangeLog | 5 + src/org/RhinoTests/AbstractScriptEngineClassTest.java | 210 +++++++++++++++++- 2 files changed, 214 insertions(+), 1 deletions(-) diffs (239 lines): diff -r 287dddd8c593 -r 01e66e349104 ChangeLog --- a/ChangeLog Wed Jan 15 13:16:03 2014 +0100 +++ b/ChangeLog Thu Jan 16 10:11:35 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-16 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + Enhancement of the test testAsSubclass. + 2014-01-15 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r 287dddd8c593 -r 01e66e349104 src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Wed Jan 15 13:16:03 2014 +0100 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Jan 16 10:11:35 2014 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011, 2012, 2013 Red Hat + Copyright (C) 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1502,6 +1502,214 @@ } try { + this.abstractScriptEngineClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From ELefeber at trustwave.com Thu Jan 16 01:16:00 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Thu, 16 Jan 2014 09:16:00 +0000 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <20140115210638.GB5107@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. -----Original Message----- From: Deepak Bhole [mailto:dbhole at redhat.com] Sent: Wednesday, January 15, 2014 11:07 PM To: Efrat Lefeber Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores Subject: Re: IcedTea-web: Memory leak - java side * Efrat Lefeber [2014-01-15 10:27]: > I am using icedtea-6-plugin with firefox on linux debian (wheezy). > > I noticed that after opening applets in firefox tabs, and closing > them, some objects in java plugin are not released, which causes the > heap size of the jvm to keep increasing. > > For example, I see that the PluginAppletViewer object is not released, > also the applet object itself and each classloader of each applet. > > If I open and close a webpage containing a java applet, the jvm > eventually will get out of memory exception. > > Looking at the plugin code, I see that when closing the applet window, > the function PluginAppletViewer.destroyApplet is called, but in this > flow, not all objects are release. > > > > Is there a way to free the memory without taking down the jvm to > prevent the increase in memory? > I know some objects are kept around to make subsequent startups faster. But PluginAppletViewer does not sound like something that belongs on that list. Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. Jiri, Andrew, do you know the status of this? Deepak > > > > ?????????????????????????????????????????????????????????????????????? > ????????? > > This transmission may contain information that is privileged, > confidential, and /or exempt from disclosure under applicable law. If > you are not the intended recipient, you are hereby notified that any > disclosure, copying, distribution, or use of the information contained > herein (including any reliance thereon) is strictly prohibited. If you > received this transmission in error, please immediately contact the > sender and destroy the material in its entirety, whether in electronic or hard copy format. ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. From emailgrant at gmail.com Thu Jan 16 03:58:46 2014 From: emailgrant at gmail.com (Grant) Date: Thu, 16 Jan 2014 03:58:46 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> Message-ID: >>> http://pastebin.com/ThjufjyH > > This one looks like a CACAO hardfloat issue. The cacao version in > icedtea7 head is recent enough, if I'm not mistaken. Maybe the > hardfloat detection is not working? Go to > http://icedtea.classpath.org/hg/icedtea6/file/5c83d26b2437/patches/cacao/armhf.patch > as a starting point. I can confirm that patch is not applied to my build. How can that be as I'm using a live ebuild (Gentoo) and that patch is 11 months old? I will recompile now. - Grant From jvanek at redhat.com Thu Jan 16 05:32:04 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 14:32:04 +0100 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> Message-ID: <52D7DF54.80708@redhat.com> On 01/16/2014 10:16 AM, Efrat Lefeber wrote: > Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. > > > -----Original Message----- > From: Deepak Bhole [mailto:dbhole at redhat.com] > Sent: Wednesday, January 15, 2014 11:07 PM > To: Efrat Lefeber > Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores > Subject: Re: IcedTea-web: Memory leak - java side > > * Efrat Lefeber [2014-01-15 10:27]: >> I am using icedtea-6-plugin with firefox on linux debian (wheezy). >> >> I noticed that after opening applets in firefox tabs, and closing >> them, some objects in java plugin are not released, which causes the >> heap size of the jvm to keep increasing. >> >> For example, I see that the PluginAppletViewer object is not released, >> also the applet object itself and each classloader of each applet. >> >> If I open and close a webpage containing a java applet, the jvm >> eventually will get out of memory exception. >> >> Looking at the plugin code, I see that when closing the applet window, >> the function PluginAppletViewer.destroyApplet is called, but in this >> flow, not all objects are release. >> >> >> >> Is there a way to free the memory without taking down the jvm to >> prevent the increase in memory? >> > > I know some objects are kept around to make subsequent startups faster. > But PluginAppletViewer does not sound like something that belongs on that list. > > Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. Did he? He fixed many, really *many* leaks in C part. All are in, and none was ever reverted. Here we are about java side. AFAIK the leaks here were never tried to be hunted. Also freeing of PluginAppletViewer .... I doubt someone have ever tried... I have cc'ed him but I do not wont to bother him during studies. So unless I really missed something... > > Jiri, Andrew, do you know the status of this? J. From ELefeber at trustwave.com Thu Jan 16 05:37:25 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Thu, 16 Jan 2014 13:37:25 +0000 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <52D7DF54.80708@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE90AF@SKYMB1.trustwave.com> My problems are only with the java side. What I see are two major leaks: 1. PluginAppletViewer 2. ApplicationShutdownHook in JNLPClassLoader Are there tests that run applets to the plugin in a loop on the same jvm? I get OutOfMemory exceptions very fast. -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Thursday, January 16, 2014 3:32 PM To: Efrat Lefeber; Deepak Bhole Cc: distro-pkg-dev at openjdk.java.net; Andrew Azores; Adam Domurad Subject: Re: IcedTea-web: Memory leak - java side On 01/16/2014 10:16 AM, Efrat Lefeber wrote: > Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. > > > -----Original Message----- > From: Deepak Bhole [mailto:dbhole at redhat.com] > Sent: Wednesday, January 15, 2014 11:07 PM > To: Efrat Lefeber > Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores > Subject: Re: IcedTea-web: Memory leak - java side > > * Efrat Lefeber [2014-01-15 10:27]: >> I am using icedtea-6-plugin with firefox on linux debian (wheezy). >> >> I noticed that after opening applets in firefox tabs, and closing >> them, some objects in java plugin are not released, which causes the >> heap size of the jvm to keep increasing. >> >> For example, I see that the PluginAppletViewer object is not >> released, also the applet object itself and each classloader of each applet. >> >> If I open and close a webpage containing a java applet, the jvm >> eventually will get out of memory exception. >> >> Looking at the plugin code, I see that when closing the applet >> window, the function PluginAppletViewer.destroyApplet is called, but >> in this flow, not all objects are release. >> >> >> >> Is there a way to free the memory without taking down the jvm to >> prevent the increase in memory? >> > > I know some objects are kept around to make subsequent startups faster. > But PluginAppletViewer does not sound like something that belongs on that list. > > Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. Did he? He fixed many, really *many* leaks in C part. All are in, and none was ever reverted. Here we are about java side. AFAIK the leaks here were never tried to be hunted. Also freeing of PluginAppletViewer .... I doubt someone have ever tried... I have cc'ed him but I do not wont to bother him during studies. So unless I really missed something... > > Jiri, Andrew, do you know the status of this? J. ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. From jvanek at redhat.com Thu Jan 16 05:55:54 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 14:55:54 +0100 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DE90AF@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE90AF@SKYMB1.trustwave.com> Message-ID: <52D7E4EA.2090606@redhat.com> On 01/16/2014 02:37 PM, Efrat Lefeber wrote: > My problems are only with the java side. What I see are two major leaks: > 1. PluginAppletViewer > 2. ApplicationShutdownHook in JNLPClassLoader From those two, PluginAppletViewer is definitely huge object. As temporary solution, you may set the -Xmx via itw settings. (tab jvm settings, jvm setitngs fro plugin) > > Are there tests that run applets to the plugin in a loop on the same jvm? I get OutOfMemory exceptions very fast. Nope - closing the browser tabs/windows is not 100% easily to be done. But I will focus on it in next testing automatism iteration. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Thursday, January 16, 2014 3:32 PM > To: Efrat Lefeber; Deepak Bhole > Cc: distro-pkg-dev at openjdk.java.net; Andrew Azores; Adam Domurad > Subject: Re: IcedTea-web: Memory leak - java side > > On 01/16/2014 10:16 AM, Efrat Lefeber wrote: >> Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. >> >> >> -----Original Message----- >> From: Deepak Bhole [mailto:dbhole at redhat.com] >> Sent: Wednesday, January 15, 2014 11:07 PM >> To: Efrat Lefeber >> Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores >> Subject: Re: IcedTea-web: Memory leak - java side >> >> * Efrat Lefeber [2014-01-15 10:27]: >>> I am using icedtea-6-plugin with firefox on linux debian (wheezy). >>> >>> I noticed that after opening applets in firefox tabs, and closing >>> them, some objects in java plugin are not released, which causes the >>> heap size of the jvm to keep increasing. >>> >>> For example, I see that the PluginAppletViewer object is not >>> released, also the applet object itself and each classloader of each applet. >>> >>> If I open and close a webpage containing a java applet, the jvm >>> eventually will get out of memory exception. >>> >>> Looking at the plugin code, I see that when closing the applet >>> window, the function PluginAppletViewer.destroyApplet is called, but >>> in this flow, not all objects are release. >>> >>> >>> >>> Is there a way to free the memory without taking down the jvm to >>> prevent the increase in memory? >>> >> >> I know some objects are kept around to make subsequent startups faster. >> But PluginAppletViewer does not sound like something that belongs on that list. >> >> Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. > > Did he? > > He fixed many, really *many* leaks in C part. All are in, and none was ever reverted. > Here we are about java side. AFAIK the leaks here were never tried to be hunted. > > Also freeing of PluginAppletViewer .... I doubt someone have ever tried... > > > I have cc'ed him but I do not wont to bother him during studies. So unless I really missed something... >> >> Jiri, Andrew, do you know the status of this? > > J. > > > > ________________________________ > > This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > From jvanek at redhat.com Thu Jan 16 05:58:36 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 14:58:36 +0100 Subject: [rfc][cedtea-web] another reproducers stabilization Message-ID: <52D7E58C.5060806@redhat.com> Thsi is removing more xception checks from itw. By this patch another 300 reproducers will become stably green. Unluckily, the revert of http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html is stil needed, and intersection of fixed tests is zero :( J. -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducersStabilisation.patch Type: text/x-patch Size: 33117 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/d1f9139d/reproducersStabilisation-0001.patch From ELefeber at trustwave.com Thu Jan 16 05:59:43 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Thu, 16 Jan 2014 13:59:43 +0000 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <52D7E4EA.2090606@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE90AF@SKYMB1.trustwave.com> <52D7E4EA.2090606@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE90D2@SKYMB1.trustwave.com> From what I understand, in order to test it, you need to call destroyApplet function in pluginAppletViewer. This is what the close window do. From browser side, the call to javaPluginFuncs.destroy (the cpp function), will close the window. -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Thursday, January 16, 2014 3:56 PM To: Efrat Lefeber; Deepak Bhole Cc: distro-pkg-dev at openjdk.java.net; Andrew Azores; Adam Domurad Subject: Re: IcedTea-web: Memory leak - java side On 01/16/2014 02:37 PM, Efrat Lefeber wrote: > My problems are only with the java side. What I see are two major leaks: > 1. PluginAppletViewer > 2. ApplicationShutdownHook in JNLPClassLoader From those two, PluginAppletViewer is definitely huge object. As temporary solution, you may set the -Xmx via itw settings. (tab jvm settings, jvm setitngs fro plugin) > > Are there tests that run applets to the plugin in a loop on the same jvm? I get OutOfMemory exceptions very fast. Nope - closing the browser tabs/windows is not 100% easily to be done. But I will focus on it in next testing automatism iteration. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Thursday, January 16, 2014 3:32 PM > To: Efrat Lefeber; Deepak Bhole > Cc: distro-pkg-dev at openjdk.java.net; Andrew Azores; Adam Domurad > Subject: Re: IcedTea-web: Memory leak - java side > > On 01/16/2014 10:16 AM, Efrat Lefeber wrote: >> Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. >> >> >> -----Original Message----- >> From: Deepak Bhole [mailto:dbhole at redhat.com] >> Sent: Wednesday, January 15, 2014 11:07 PM >> To: Efrat Lefeber >> Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores >> Subject: Re: IcedTea-web: Memory leak - java side >> >> * Efrat Lefeber [2014-01-15 10:27]: >>> I am using icedtea-6-plugin with firefox on linux debian (wheezy). >>> >>> I noticed that after opening applets in firefox tabs, and closing >>> them, some objects in java plugin are not released, which causes the >>> heap size of the jvm to keep increasing. >>> >>> For example, I see that the PluginAppletViewer object is not >>> released, also the applet object itself and each classloader of each applet. >>> >>> If I open and close a webpage containing a java applet, the jvm >>> eventually will get out of memory exception. >>> >>> Looking at the plugin code, I see that when closing the applet >>> window, the function PluginAppletViewer.destroyApplet is called, but >>> in this flow, not all objects are release. >>> >>> >>> >>> Is there a way to free the memory without taking down the jvm to >>> prevent the increase in memory? >>> >> >> I know some objects are kept around to make subsequent startups faster. >> But PluginAppletViewer does not sound like something that belongs on that list. >> >> Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. > > Did he? > > He fixed many, really *many* leaks in C part. All are in, and none was ever reverted. > Here we are about java side. AFAIK the leaks here were never tried to be hunted. > > Also freeing of PluginAppletViewer .... I doubt someone have ever tried... > > > I have cc'ed him but I do not wont to bother him during studies. So unless I really missed something... >> >> Jiri, Andrew, do you know the status of this? > > J. > > > > ________________________________ > > This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. From jvanek at redhat.com Thu Jan 16 06:19:39 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 15:19:39 +0100 Subject: Applets: key events, OBJECT/EMBED In-Reply-To: References: Message-ID: <52D7EA7B.3030205@redhat.com> On 01/16/2014 03:00 AM, Stefan Reich wrote: > OK, and here's the WEIRDEST thing: JTextField takes key events! See here: > http://tinybrain.de:8080/tb-applet/test.php > Yes it does :) We would notice this! > I'm now trying to find out how JTextField registers itself for key events... I can do the same thing > and get those events too, right? > > Hope we can fix this, I really want to build an editor applet that works... :) > Yes please. The keys are generally working. Try to revisit your approach. > > > On Thu, Jan 16, 2014 at 2:34 AM, Stefan Reich > wrote: > > btw, I am calling: > > setFocusable(true); > requestFocusInWindow(); I'm not sure if applet can steal focus from browser like this. Inside java environment itself (once applet gains focus) it works. > > in the applet. And the KeyListener is registered directly on the Applet object. I sometimes see > that the applet is not even grabbing the keyboard focus - the cursor stays in the location bar, > for example. > > > On Thu, Jan 16, 2014 at 2:31 AM, Stefan Reich > wrote: > > Hi again... > > I am almost totally fed up with the state of applets in browsers these days :[ > > IcedTea/Firefox with APPLET tag: works generally, but: key events do not work at all. (They > work in appletviewer.) See here: http://tinybrain.de:8080/tb/gui-applet.php?id=172 (Try > clicking on the text and then pressing left key or right key.) as above.... > > Also, still there is the 100% CPU problem. I tried kill -3 with that, but it only stops the > plug-in (instead of printing a stack trace)... Not seeing this on head. > > IcedTea/Firefox with OBJECT/EMBED tag: Just hangs. Gray area. Check here: > http://tinybrain.de:8080/tb/gui-applet.php?id=172&useObject=1. Works fine on head, so maybe it is not OBJECT/EMBED decalration itself, but some other crazines. > > Weirdly, I've seen the OBJECT/EMBED version work, for example here: > http://htmltea.sourceforge.net/editortest.html > > This is all really confusing... :[ > May be confirming previous.. J. From jvanek at redhat.com Thu Jan 16 06:39:20 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 15:39:20 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D70CFF.8020400@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> Message-ID: <52D7EF18.5090400@redhat.com> On 01/15/2014 11:34 PM, Andrew Azores wrote: > On 01/15/2014 04:08 PM, Deepak Bhole wrote: >> * Jiri Vanek [2014-01-15 09:26]: >>> On 01/14/2014 07:15 PM, Deepak Bhole wrote: >>>> >>>> Hi Jiri, >>>> >>>> How so? The editor we have in mind for ITW is to set policies for >>>> applets/JNLP apps. Why the need to have it accepted upstream (not that I >>>> am against it)? >>>> >>>> The editor will be geared toward setting policies for untrusted apps for >>>> the most part (e.g. checkboxes for "allow read/write to filesystem", >>>> "allow network connection" etc. and some additional customizations. In >>>> general it would be too restrictive for the kind of complex policies >>>> that administrators would want to set for complex Java applications. >>>> >>> Hi! >>> >>> Well the policy tool do exists, and can be reused. There is no need to re-implement it. >>> If so, then in the most correct place of all - the jdk (where >>> current policy tool is). Then others (even itw) will gain benefits >>> from it. >>> We can add some simple editor for most common cases (as I understand >>> form your comment is what you wont). But not rewrite it on our own. >>> >>> Thanx for watch! >>> >> Perhaps it makes sense to first determine what we want and settle on >> that first (as rfc) then before we try to implement (either standalone >> or updating policytool). >> >> Andrew, did you have a specific design in mind? If so, can you provide >> quick mockups? >> >> Thanks, >> Deepak > > I don't have any ideas as far as the visual design for the editor, no. But I do have some ideas > about the general interface it should expose to users. > > I was thinking that we might have some kind of way for the editor to show a list of recently run > applets and let the user select from this list, in order to build a policy entry applicable to that I do not like the idea of list :( (on the other side the advanced security list can be reused - but it will require "unsigned applet wants to run" dialogue shown after "run in sandbox button") I can not imagine person, setting up policies, and not bale to set codebase... (eg my mom setting the policies :) ) Its admin's work. So I would like (next to ~/.config/icedtea/security/java.policy) to see also global policy file instead. > applet (ie by using its codebase). There would also be a way for the user to manually specify the > codebase in a text field or something. This sounds kind of bad, because it means users either have > to be advanced enough to know how to specify the applet's codebase, or they need to run the applet > first before being able to restrict its permissions, which kind of defeats the purpose. *However* - > we have a "Run in Sandbox" button! So users who intend to create a custom policy for an applet can We do not have yet;) > run it first, in Sandbox since they don't fully trust it, and then edit a custom policy for it and > add the minimal permissions required to get it to run. The only thing that will be confusing here > and require some kind of explanation is that for the restricted permissions policy to take effect, > the user needs to continue choosing Sandbox - even with the custom policy in place, if the user > chooses to run the applet with the standard Ok/Proceed button, then the custom policy won't apply. > Well, it will, but AllPermission will be granted on top, rendering it effectively useless. Maybe > "Sandbox" should be relabelled as "Restricted Run" or similar then, since it won't really be Sandbox > anymore once custom policies are in place. Sounds reasonable. > > For actually specifying permissions, there could be an "Advanced" button to show a full listing of > options, much like the existing policytool, but the standard interface would just have checkboxes > for "Allow network connections", "Allow local filesystem access", "Allow printing", "Allow reading > user details", "Allow all actions", etc. Each of these would add or remove a small set of Yes, I like that - "advance" which will lunch policytool as now, and "basic" which will invoke custom "mini tool". Please note, that they have to share the policy file. > permissions to the policy, eg "Allow reading user details" would entail granting read permission on > the user.name and probably user.home together. Or really, I imagine a user that is both advanced > enough to care about making a custom policy AND needs more control than the coarse-grained > checkboxes is probably advanced enough to deal with the existing policytool. So we can just leave > out the Advanced-type settings from the new editor and let those users deal with using the existing > policytool if they need it. Maybe PolicyPanel could be modified further to allow users to choose > which editor to launch with an "advanced" checkbox or similar. > Thanx for thoughts, J. From jvanek at redhat.com Thu Jan 16 06:41:51 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 15:41:51 +0100 Subject: Javaws always download the application CGoban3 In-Reply-To: References: Message-ID: <52D7EFAF.4030509@redhat.com> On 01/11/2014 10:32 PM, Jes?s G?mez wrote: > Hello. In order to be able to play Go on KGS, i have to install this application[1]. > > After javaws install it, it place an icon in my desktop. But every time i open the application via > the Desktop icon, it begin to download and install it again. > > So i installed Java from Oracle, and it only download the app once. After that, if a open the app > from the Desktop icon, it simply run CGoban3. > > So i thought you could want to know this. > > P.D: I'm using Lubuntu 13.10 with javaws from icedtea package and the standard openjdk-7 package. > And i just installed Oracle Java via this PPA[2]. > > [1] http://www.gokgs.com/download.jsp > [2] ppa:webupd8team/java Yes, this is known issue. Sorry for that. It was scheduled for next release (1.5) but unluckily it was not done. But for 1.6 it is a must and there will be probably release just because of it. Don lost faith! Sorry for troubles, J. From aazores at redhat.com Thu Jan 16 06:45:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 09:45:36 -0500 Subject: [rfc][cedtea-web] another reproducers stabilization In-Reply-To: <52D7E58C.5060806@redhat.com> References: <52D7E58C.5060806@redhat.com> Message-ID: <52D7F090.7020909@redhat.com> On 01/16/2014 08:58 AM, Jiri Vanek wrote: > Thsi is removing more xception checks from itw. By this patch another > 300 reproducers will become stably green. Unluckily, the revert of > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html > is stil needed, and intersection of fixed tests is zero :( > > J. Why are these checks now invalid? Are the exceptions no longer printed for some reason, or are they going to stdout rather than stderr? Or are they now catching false negatives ie exceptions are occurring that do not actually signify test failures? Thanks, -- Andrew A From jvanek at redhat.com Thu Jan 16 06:50:25 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 15:50:25 +0100 Subject: [rfc][cedtea-web] another reproducers stabilization In-Reply-To: <52D7F090.7020909@redhat.com> References: <52D7E58C.5060806@redhat.com> <52D7F090.7020909@redhat.com> Message-ID: <52D7F1B1.8000805@redhat.com> On 01/16/2014 03:45 PM, Andrew Azores wrote: > On 01/16/2014 08:58 AM, Jiri Vanek wrote: >> Thsi is removing more xception checks from itw. By this patch another 300 reproducers will become >> stably green. Unluckily, the revert of >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html is stil needed, and >> intersection of fixed tests is zero :( >> >> J. > > Why are these checks now invalid? Are the exceptions no longer printed for some reason, or are they > going to stdout rather than stderr? Or are they now catching false negatives ie exceptions are yes > occurring that do not actually signify test failures? > > Thanks, > They were ensuring that *no* *general* exception occurred. Unluckily in many test runs some completely unrelated, and absolutely harmless exceptions are printed. The torturing of browsers/java by repeated kill -9 do this. So Although at first the tests were "pessimists" == everything have to be ok. Now they are "optimistic" == just the core of reproducer passed. Although I'm fan of "pessimistic" tests. In this case it caused the great instability of engine - random failures each run. J. From aazores at redhat.com Thu Jan 16 06:58:50 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 09:58:50 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7EF18.5090400@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> Message-ID: <52D7F3AA.40507@redhat.com> On 01/16/2014 09:39 AM, Jiri Vanek wrote: > On 01/15/2014 11:34 PM, Andrew Azores wrote: >> On 01/15/2014 04:08 PM, Deepak Bhole wrote: >>> * Jiri Vanek [2014-01-15 09:26]: >>>> On 01/14/2014 07:15 PM, Deepak Bhole wrote: >>>>> >>>>> Hi Jiri, >>>>> >>>>> How so? The editor we have in mind for ITW is to set policies for >>>>> applets/JNLP apps. Why the need to have it accepted upstream (not >>>>> that I >>>>> am against it)? >>>>> >>>>> The editor will be geared toward setting policies for untrusted >>>>> apps for >>>>> the most part (e.g. checkboxes for "allow read/write to filesystem", >>>>> "allow network connection" etc. and some additional >>>>> customizations. In >>>>> general it would be too restrictive for the kind of complex policies >>>>> that administrators would want to set for complex Java applications. >>>>> >>>> Hi! >>>> >>>> Well the policy tool do exists, and can be reused. There is no >>>> need to re-implement it. >>>> If so, then in the most correct place of all - the jdk (where >>>> current policy tool is). Then others (even itw) will gain benefits >>>> from it. >>>> We can add some simple editor for most common cases (as I understand >>>> form your comment is what you wont). But not rewrite it on our own. >>>> >>>> Thanx for watch! >>>> >>> Perhaps it makes sense to first determine what we want and settle on >>> that first (as rfc) then before we try to implement (either standalone >>> or updating policytool). >>> >>> Andrew, did you have a specific design in mind? If so, can you provide >>> quick mockups? >>> >>> Thanks, >>> Deepak >> >> I don't have any ideas as far as the visual design for the editor, >> no. But I do have some ideas >> about the general interface it should expose to users. >> >> I was thinking that we might have some kind of way for the editor to >> show a list of recently run >> applets and let the user select from this list, in order to build a >> policy entry applicable to that > > I do not like the idea of list :( (on the other side the advanced > security list can be reused - but it will require "unsigned applet > wants to run" dialogue shown after "run in sandbox button") > > I can not imagine person, setting up policies, and not bale to set > codebase... (eg my mom setting the policies :) ) > Its admin's work. So I would like (next to > ~/.config/icedtea/security/java.policy) to see also global policy file > instead. Well, admins can continue using policytool if they need to. IMO the point of making a more user accessible editor tool like this, combined with the Sandbox (or whatever) button, is so that the advanced-but-not-admin level users can have some control over the individual applets they may be running on their system. We don't *have* to have a list of recently run applets for them to choose from, but I think there should be maybe some easier way available than specifying the codebase manually. Otherwise, it will only be power users and admins ever using this tool, but it would be better if more users than that were able to take some control over the permissions granted to applets they run. Anyway - the "unsigned applet wants to run" dialog is currently being updated to also have a Run in Sandbox button. When that's done then the extended security panel in itweb-settings will be able to list applets that were run in sandbox, just like how it lists yes/always/no/never runs currently. Once both of these parent patches go in, then I'll work on that more and try to get it ready for review. Right now I'm having some difficulties with the fact that it's apparently required to be called after classloader initialization completes. But that's a discussion for a different thread. What do you mean about the global policy file? That one is already implemented in our policy handling just like the user-level policy, so if we want to make use of that then all we need to do is provide a way to edit it. I'm not sure if the path to it is already available in the DeploymentConfiguration but if it is then this is pretty trivial to add in, and is still easy if not. > >> applet (ie by using its codebase). There would also be a way for the >> user to manually specify the >> codebase in a text field or something. This sounds kind of bad, >> because it means users either have >> to be advanced enough to know how to specify the applet's codebase, >> or they need to run the applet >> first before being able to restrict its permissions, which kind of >> defeats the purpose. *However* - >> we have a "Run in Sandbox" button! So users who intend to create a >> custom policy for an applet can > We do not have yet;) Not yet, but we are going to, aren't we? If not then the custom policies implementation will need some significant changes in order to make any sense :) > >> run it first, in Sandbox since they don't fully trust it, and then >> edit a custom policy for it and >> add the minimal permissions required to get it to run. The only thing >> that will be confusing here >> and require some kind of explanation is that for the restricted >> permissions policy to take effect, >> the user needs to continue choosing Sandbox - even with the custom >> policy in place, if the user >> chooses to run the applet with the standard Ok/Proceed button, then >> the custom policy won't apply. >> Well, it will, but AllPermission will be granted on top, rendering it >> effectively useless. Maybe >> "Sandbox" should be relabelled as "Restricted Run" or similar then, >> since it won't really be Sandbox >> anymore once custom policies are in place. > Sounds reasonable. > >> >> For actually specifying permissions, there could be an "Advanced" >> button to show a full listing of >> options, much like the existing policytool, but the standard >> interface would just have checkboxes >> for "Allow network connections", "Allow local filesystem access", >> "Allow printing", "Allow reading >> user details", "Allow all actions", etc. Each of these would add or >> remove a small set of > > Yes, I like that - "advance" which will lunch policytool as now, and > "basic" which will invoke custom "mini tool". Please note, that they > have to share the policy file. Yes, of course they'd be editing the same file. > >> permissions to the policy, eg "Allow reading user details" would >> entail granting read permission on >> the user.name and probably user.home together. Or really, I imagine a >> user that is both advanced >> enough to care about making a custom policy AND needs more control >> than the coarse-grained >> checkboxes is probably advanced enough to deal with the existing >> policytool. So we can just leave >> out the Advanced-type settings from the new editor and let those >> users deal with using the existing >> policytool if they need it. Maybe PolicyPanel could be modified >> further to allow users to choose >> which editor to launch with an "advanced" checkbox or similar. >> > > Thanx for thoughts, > J. > Thanks, -- Andrew A From aazores at redhat.com Thu Jan 16 07:00:46 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 10:00:46 -0500 Subject: [rfc][cedtea-web] another reproducers stabilization In-Reply-To: <52D7F1B1.8000805@redhat.com> References: <52D7E58C.5060806@redhat.com> <52D7F090.7020909@redhat.com> <52D7F1B1.8000805@redhat.com> Message-ID: <52D7F41E.6070407@redhat.com> On 01/16/2014 09:50 AM, Jiri Vanek wrote: > On 01/16/2014 03:45 PM, Andrew Azores wrote: >> On 01/16/2014 08:58 AM, Jiri Vanek wrote: >>> Thsi is removing more xception checks from itw. By this patch >>> another 300 reproducers will become >>> stably green. Unluckily, the revert of >>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html >>> is stil needed, and >>> intersection of fixed tests is zero :( >>> >>> J. >> >> Why are these checks now invalid? Are the exceptions no longer >> printed for some reason, or are they >> going to stdout rather than stderr? Or are they now catching false >> negatives ie exceptions are > > yes > >> occurring that do not actually signify test failures? >> >> Thanks, >> > > > They were ensuring that *no* *general* exception occurred. Unluckily > in many test runs some completely unrelated, and absolutely harmless > exceptions are printed. The torturing of browsers/java by repeated > kill -9 do this. > > So Although at first the tests were "pessimists" == everything have to > be ok. Now they are "optimistic" == just the core of reproducer passed. > > Although I'm fan of "pessimistic" tests. In this case it caused the > great instability of engine - random failures each run. > > J. > > Okay, that's what I thought was going on. Seems fine to me then. I'd prefer pessimistic testing, too, but it's not worth it if it incurs random failures and instability. Thanks, -- Andrew A From jvanek at redhat.com Thu Jan 16 07:03:21 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 16:03:21 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7F3AA.40507@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> Message-ID: <52D7F4B9.3080608@redhat.com> On 01/16/2014 03:58 PM, Andrew Azores wrote: > On 01/16/2014 09:39 AM, Jiri Vanek wrote: >> On 01/15/2014 11:34 PM, Andrew Azores wrote: >>> On 01/15/2014 04:08 PM, Deepak Bhole wrote: >>>> * Jiri Vanek [2014-01-15 09:26]: >>>>> On 01/14/2014 07:15 PM, Deepak Bhole wrote: >>>>>> >>>>>> Hi Jiri, >>>>>> >>>>>> How so? The editor we have in mind for ITW is to set policies for >>>>>> applets/JNLP apps. Why the need to have it accepted upstream (not that I >>>>>> am against it)? >>>>>> >>>>>> The editor will be geared toward setting policies for untrusted apps for >>>>>> the most part (e.g. checkboxes for "allow read/write to filesystem", >>>>>> "allow network connection" etc. and some additional customizations. In >>>>>> general it would be too restrictive for the kind of complex policies >>>>>> that administrators would want to set for complex Java applications. >>>>>> >>>>> Hi! >>>>> >>>>> Well the policy tool do exists, and can be reused. There is no need to re-implement it. >>>>> If so, then in the most correct place of all - the jdk (where >>>>> current policy tool is). Then others (even itw) will gain benefits >>>>> from it. >>>>> We can add some simple editor for most common cases (as I understand >>>>> form your comment is what you wont). But not rewrite it on our own. >>>>> >>>>> Thanx for watch! >>>>> >>>> Perhaps it makes sense to first determine what we want and settle on >>>> that first (as rfc) then before we try to implement (either standalone >>>> or updating policytool). >>>> >>>> Andrew, did you have a specific design in mind? If so, can you provide >>>> quick mockups? >>>> >>>> Thanks, >>>> Deepak >>> >>> I don't have any ideas as far as the visual design for the editor, no. But I do have some ideas >>> about the general interface it should expose to users. >>> >>> I was thinking that we might have some kind of way for the editor to show a list of recently run >>> applets and let the user select from this list, in order to build a policy entry applicable to that >> >> I do not like the idea of list :( (on the other side the advanced security list can be reused - >> but it will require "unsigned applet wants to run" dialogue shown after "run in sandbox button") >> >> I can not imagine person, setting up policies, and not bale to set codebase... (eg my mom setting >> the policies :) ) >> Its admin's work. So I would like (next to ~/.config/icedtea/security/java.policy) to see also >> global policy file instead. > > Well, admins can continue using policytool if they need to. IMO the point of making a more user > accessible editor tool like this, combined with the Sandbox (or whatever) button, is so that the Fair enough. > advanced-but-not-admin level users can have some control over the individual applets they may be > running on their system. We don't *have* to have a list of recently run applets for them to choose > from, but I think there should be maybe some easier way available than specifying the codebase > manually. Otherwise, it will only be power users and admins ever using this tool, but it would be > better if more users than that were able to take some control over the permissions granted to > applets they run. > > Anyway - the "unsigned applet wants to run" dialog is currently being updated to also have a Run in > Sandbox button. When that's done then the extended security panel in itweb-settings will be able to > list applets that were run in sandbox, just like how it lists yes/always/no/never runs currently. > Once both of these parent patches go in, then I'll work on that more and try to get it ready for > review. Right now I'm having some difficulties with the fact that it's apparently required to be > called after classloader initialization completes. But that's a discussion for a different thread. /Me wondering a bit, but waits for patch > > What do you mean about the global policy file? That one is already implemented in our policy > handling just like the user-level policy, so if we want to make use of that then all we need to do > is provide a way to edit it. I'm not sure if the path to it is already available in the > DeploymentConfiguration but if it is then this is pretty trivial to add in, and is still easy if not. Sounds reasonable to try. > >> >>> applet (ie by using its codebase). There would also be a way for the user to manually specify the >>> codebase in a text field or something. This sounds kind of bad, because it means users either have >>> to be advanced enough to know how to specify the applet's codebase, or they need to run the applet >>> first before being able to restrict its permissions, which kind of defeats the purpose. *However* - >>> we have a "Run in Sandbox" button! So users who intend to create a custom policy for an applet can >> We do not have yet;) > > Not yet, but we are going to, aren't we? If not then the custom policies implementation will need > some significant changes in order to make any sense :) Sure. > >> >>> run it first, in Sandbox since they don't fully trust it, and then edit a custom policy for it and >>> add the minimal permissions required to get it to run. The only thing that will be confusing here >>> and require some kind of explanation is that for the restricted permissions policy to take effect, >>> the user needs to continue choosing Sandbox - even with the custom policy in place, if the user >>> chooses to run the applet with the standard Ok/Proceed button, then the custom policy won't apply. >>> Well, it will, but AllPermission will be granted on top, rendering it effectively useless. Maybe >>> "Sandbox" should be relabelled as "Restricted Run" or similar then, since it won't really be Sandbox >>> anymore once custom policies are in place. >> Sounds reasonable. >> >>> >>> For actually specifying permissions, there could be an "Advanced" button to show a full listing of >>> options, much like the existing policytool, but the standard interface would just have checkboxes >>> for "Allow network connections", "Allow local filesystem access", "Allow printing", "Allow reading >>> user details", "Allow all actions", etc. Each of these would add or remove a small set of >> >> Yes, I like that - "advance" which will lunch policytool as now, and "basic" which will invoke >> custom "mini tool". Please note, that they have to share the policy file. > > Yes, of course they'd be editing the same file. > >> >>> permissions to the policy, eg "Allow reading user details" would entail granting read permission on >>> the user.name and probably user.home together. Or really, I imagine a user that is both advanced >>> enough to care about making a custom policy AND needs more control than the coarse-grained >>> checkboxes is probably advanced enough to deal with the existing policytool. So we can just leave >>> out the Advanced-type settings from the new editor and let those users deal with using the existing >>> policytool if they need it. Maybe PolicyPanel could be modified further to allow users to choose >>> which editor to launch with an "advanced" checkbox or similar. >>> >> This remianed me: You are planing to have "run in 'advacned' sandbox" button next to run i sandbox, which will allow to set permissions before (and for) actual run (with possibility of save eg?) Or did I just imagined it from nothing?!?!? J. From aazores at redhat.com Thu Jan 16 07:13:41 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 10:13:41 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7F4B9.3080608@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> <52D7F4B9.3080608@redhat.com> Message-ID: <52D7F725.6090707@redhat.com> On 01/16/2014 10:03 AM, Jiri Vanek wrote: > On 01/16/2014 03:58 PM, Andrew Azores wrote: >>>> permissions to the policy, eg "Allow reading user details" would >>>> entail granting read permission on >>>> the user.name and probably user.home together. Or really, I imagine >>>> a user that is both advanced >>>> enough to care about making a custom policy AND needs more control >>>> than the coarse-grained >>>> checkboxes is probably advanced enough to deal with the existing >>>> policytool. So we can just leave >>>> out the Advanced-type settings from the new editor and let those >>>> users deal with using the existing >>>> policytool if they need it. Maybe PolicyPanel could be modified >>>> further to allow users to choose >>>> which editor to launch with an "advanced" checkbox or similar. >>>> >>> > This remianed me: > > You are planing to have "run in 'advacned' sandbox" button next to run > i sandbox, which will allow to set permissions before (and for) actual > run (with possibility of save eg?) Or did I just imagined it from > nothing?!?!? > > > J. > Woah, what? This is not what I meant at all :) The dialogs shown at applet run time will just have "Ok/Proceed", "Sandbox" (or "Restricted" or whatever), and "Cancel". Sandbox/Restricted will run the applet with reduced permissions, meaning the Sandbox permission set, union the permission set defined in the user policy file (as well as system policy file). The Advanced button was just going to be either in itweb-settings control panel or in the "mini editor" itself and provide a way to either simply show more policy options or to launch JDK policytool, to give power users more control over the policy they are editing. I definitely am not planning to have two different types of Sandbox button. It is an interesting idea though to have the dialog present a button for policy editing. This would make it very easy for users to find the correct codebase for an applet, since we could fill it in for them already. I'm not sure if adding yet another button would be very good visually though - it might be too much going on on one dialog and become confusing. Or, rather than adding a way to launch the policy editor here during run time (which sounds a little unsafe to me), we could simply add a button to the dialog somewhere to copy the applet codebase to the clipboard. Then the user can cancel or sandbox, then later open the editor and paste the codebase? Hmm. Thanks, -- Andrew A From jvanek at redhat.com Thu Jan 16 07:15:51 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 16:15:51 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7F725.6090707@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> <52D7F4B9.3080608@redhat.com> <52D7F725.6090707@redhat.com> Message-ID: <52D7F7A7.8040509@redhat.com> On 01/16/2014 04:13 PM, Andrew Azores wrote: > On 01/16/2014 10:03 AM, Jiri Vanek wrote: >> On 01/16/2014 03:58 PM, Andrew Azores wrote: >>>>> permissions to the policy, eg "Allow reading user details" would entail granting read >>>>> permission on >>>>> the user.name and probably user.home together. Or really, I imagine a user that is both advanced >>>>> enough to care about making a custom policy AND needs more control than the coarse-grained >>>>> checkboxes is probably advanced enough to deal with the existing policytool. So we can just leave >>>>> out the Advanced-type settings from the new editor and let those users deal with using the >>>>> existing >>>>> policytool if they need it. Maybe PolicyPanel could be modified further to allow users to choose >>>>> which editor to launch with an "advanced" checkbox or similar. >>>>> >>>> >> This remianed me: >> >> You are planing to have "run in 'advacned' sandbox" button next to run i sandbox, which will allow >> to set permissions before (and for) actual run (with possibility of save eg?) Or did I just >> imagined it from nothing?!?!? >> >> >> J. >> > > Woah, what? This is not what I meant at all :) The dialogs shown at applet run time will just have > "Ok/Proceed", "Sandbox" (or "Restricted" or whatever), and "Cancel". Sandbox/Restricted will run the > applet with reduced permissions, meaning the Sandbox permission set, union the permission set > defined in the user policy file (as well as system policy file). The Advanced button was just going > to be either in itweb-settings control panel or in the "mini editor" itself and provide a way to > either simply show more policy options or to launch JDK policytool, to give power users more control > over the policy they are editing. I definitely am not planning to have two different types of > Sandbox button. > > It is an interesting idea though to have the dialog present a button for policy editing. This would > make it very easy for users to find the correct codebase for an applet, since we could fill it in > for them already. I'm not sure if adding yet another button would be very good visually though - it > might be too much going on on one dialog and become confusing. Or, rather than adding a way to > launch the policy editor here during run time (which sounds a little unsafe to me), we could simply > add a button to the dialog somewhere to copy the applet codebase to the clipboard. Then the user can > cancel or sandbox, then later open the editor and paste the codebase? Hmm. :))) +1 for me on this topic (although it seems to me that I was probably dreaming... :D) But as another (much another) chnageset. The current policy patch is so simple taht I really wont to in 1.4 > > Thanks, > From aazores at redhat.com Thu Jan 16 07:19:55 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 10:19:55 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7F7A7.8040509@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> <52D7F4B9.3080608@redhat.com> <52D7F725.6090707@redhat.com> <52D7F7A7.8040509@redhat.com> Message-ID: <52D7F89B.2080605@redhat.com> On 01/16/2014 10:15 AM, Jiri Vanek wrote: > On 01/16/2014 04:13 PM, Andrew Azores wrote: >> On 01/16/2014 10:03 AM, Jiri Vanek wrote: >>> On 01/16/2014 03:58 PM, Andrew Azores wrote: >>>>>> permissions to the policy, eg "Allow reading user details" would >>>>>> entail granting read >>>>>> permission on >>>>>> the user.name and probably user.home together. Or really, I >>>>>> imagine a user that is both advanced >>>>>> enough to care about making a custom policy AND needs more >>>>>> control than the coarse-grained >>>>>> checkboxes is probably advanced enough to deal with the existing >>>>>> policytool. So we can just leave >>>>>> out the Advanced-type settings from the new editor and let those >>>>>> users deal with using the >>>>>> existing >>>>>> policytool if they need it. Maybe PolicyPanel could be modified >>>>>> further to allow users to choose >>>>>> which editor to launch with an "advanced" checkbox or similar. >>>>>> >>>>> >>> This remianed me: >>> >>> You are planing to have "run in 'advacned' sandbox" button next to >>> run i sandbox, which will allow >>> to set permissions before (and for) actual run (with possibility of >>> save eg?) Or did I just >>> imagined it from nothing?!?!? >>> >>> >>> J. >>> >> >> Woah, what? This is not what I meant at all :) The dialogs shown at >> applet run time will just have >> "Ok/Proceed", "Sandbox" (or "Restricted" or whatever), and "Cancel". >> Sandbox/Restricted will run the >> applet with reduced permissions, meaning the Sandbox permission set, >> union the permission set >> defined in the user policy file (as well as system policy file). The >> Advanced button was just going >> to be either in itweb-settings control panel or in the "mini editor" >> itself and provide a way to >> either simply show more policy options or to launch JDK policytool, >> to give power users more control >> over the policy they are editing. I definitely am not planning to >> have two different types of >> Sandbox button. >> >> It is an interesting idea though to have the dialog present a button >> for policy editing. This would >> make it very easy for users to find the correct codebase for an >> applet, since we could fill it in >> for them already. I'm not sure if adding yet another button would be >> very good visually though - it >> might be too much going on on one dialog and become confusing. Or, >> rather than adding a way to >> launch the policy editor here during run time (which sounds a little >> unsafe to me), we could simply >> add a button to the dialog somewhere to copy the applet codebase to >> the clipboard. Then the user can >> cancel or sandbox, then later open the editor and paste the codebase? >> Hmm. > > > :))) +1 for me on this topic (although it seems to me that I was > probably dreaming... :D) > > But as another (much another) chnageset. The current policy patch is > so simple taht I really wont to in 1.4 >> >> Thanks, >> > Yes, I agree that a lot of what we're discussing here should be in a later changeset. The feature already stands on its own and the rest are just essentially accessibility enhancements. Thanks, -- Andrew A From jvanek at icedtea.classpath.org Thu Jan 16 07:22:08 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Thu, 16 Jan 2014 15:22:08 +0000 Subject: /hg/icedtea-web: Reproducers stabilization by removing check for... Message-ID: changeset acbfbaefe7aa in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=acbfbaefe7aa author: Jiri Vanek date: Thu Jan 16 16:21:55 2014 +0100 Reproducers stabilization by removing check for not presented general Exception or error. diffstat: ChangeLog | 23 ++++++++ netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 4 +- tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java | 8 +-- tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java | 1 - tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java | 5 - tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java | 2 - tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java | 6 -- tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java | 5 - tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java | 5 - tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java | 5 - tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java | 3 - tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java | 26 ---------- tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java | 25 ++------- tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java | 2 - tests/reproducers/simple/encodingTests????????????????????????????????????????????????/testcases/EncodingTestTest.java | 10 --- tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java | 3 +- 16 files changed, 34 insertions(+), 99 deletions(-) diffs (truncated from 553 to 500 lines): diff -r 8983d8c01896 -r acbfbaefe7aa ChangeLog --- a/ChangeLog Wed Jan 15 15:11:22 2014 +0100 +++ b/ChangeLog Thu Jan 16 16:21:55 2014 +0100 @@ -1,3 +1,26 @@ +2014-01-16 Jiri Vanek + + Reproducers stabilization by removing check for not presented general Exception + or error. + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: removed + legacy debug call + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: as in subject, + and same in others + * tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: + * tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java: + * tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java: + * tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java: + * tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java: + * tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java: + * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: + * tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java: + * tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java: + * tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java: + * tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java: + * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: + * tests/reproducers/simple/encodingTests????????????????????????????????????????????????/testcases/EncodingTestTest.java: + * tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java: + 2014-01-15 Jiri Vanek Fixed memory leak detector to correctly handle pre_init_messages queue. diff -r 8983d8c01896 -r acbfbaefe7aa netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Wed Jan 15 15:11:22 2014 +0100 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Thu Jan 16 16:21:55 2014 +0100 @@ -562,9 +562,7 @@ try { return parsePropertiesFile(file); } catch (IOException e) { - if (JNLPRuntime.isDebug()){ - OutputController.getLogger().log(e); - } + OutputController.getLogger().log(e); return null; } } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java --- a/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -53,20 +53,17 @@ public class AppletTestSignedTests extends BrowserTest { private final List l = Collections.unmodifiableList(Arrays.asList(new String[]{"-Xtrustall"})); - private static final String ss = "xception"; private static final String s0 = "AppletTestSigned was started"; private static final String s1 = "value1"; private static final String s2 = "value2"; private static final String s3 = "AppletTestSigned was initialised"; private static final String s7 = "AppletTestSigned killing himself after 2000 ms of life"; - private static final ContainsRule exceptionRule = new ContainsRule(ss); private static final ContainsRule startedRule = new ContainsRule(s0); private static final ContainsRule variable1Rule = new ContainsRule(s1); private static final ContainsRule variable2Rule = new ContainsRule(s2); private static final ContainsRule initialisedRule = new ContainsRule(s3); private static final ContainsRule killedRule = new ContainsRule(s7); private static final RulesFolowingClosingListener okListener=new RulesFolowingClosingListener(startedRule, variable1Rule, variable2Rule, initialisedRule, killedRule); - private static final RulesFolowingClosingListener errorListener=new RulesFolowingClosingListener(exceptionRule); // @Test public void AppletTestSignedTest() throws Exception { @@ -81,7 +78,6 @@ Assert.assertTrue("AppletTestSigned stdout " + startedRule.toPassingString() + " but didn't", startedRule.evaluate(pr.stdout)); Assert.assertTrue("AppletTestSigned stdout " + variable1Rule.toPassingString() + " but didn't", variable1Rule.evaluate(pr.stdout)); Assert.assertTrue("AppletTestSigned stdout " + variable2Rule.toPassingString() + " but didn't", variable2Rule.evaluate(pr.stdout)); - Assert.assertFalse("AppletTestSigned stderr " + exceptionRule.toFailingString() + " but did", exceptionRule.evaluate(pr.stderr)); Assert.assertTrue("AppletTestSigned stdout " + killedRule.toPassingString() + " but didn't", killedRule.evaluate(pr.stdout)); if (!javawsApplet) { /*this is working correctly in most browser, but not in all. temporarily disabling @@ -98,7 +94,7 @@ public void AppletTestSignedFirefoxTestXslowX() throws Exception { ServerAccess.PROCESS_TIMEOUT = 30 * 1000; try { - ProcessResult pr = server.executeBrowser("/AppletTestSigned2.html", okListener, errorListener); + ProcessResult pr = server.executeBrowser("/AppletTestSigned2.html", okListener, null); evaluateSignedApplet(pr, false); //Assert.assertTrue(pr.wasTerminated); //Assert.assertEquals((Integer) 0, pr.returnValue); due to destroy is null @@ -110,7 +106,7 @@ @Test @TestInBrowsers(testIn = {Browsers.all}) public void AppletTestSignedFirefoxTest() throws Exception { - ProcessResult pr = server.executeBrowser("/AppletTestSigned.html", ServerAccess.AutoClose.CLOSE_ON_BOTH); + ProcessResult pr = server.executeBrowser("/AppletTestSigned.html", ServerAccess.AutoClose.CLOSE_ON_CORRECT_END); evaluateSignedApplet(pr, false); //Assert.assertTrue(pr.wasTerminated); //Assert.assertEquals((Integer) 0, pr.returnValue); due to destroy is null diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java --- a/tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -127,6 +127,5 @@ Assert.assertTrue("ClasspathManifest.BrowserAppletRemoteTest stdout should contain " + s1 + " but didn't", pr.stdout.contains(s1)); // Should be the only one to search manifest for classpath. Assert.assertTrue("ClasspathManifest.BrowserAppletRemoteTest stdout should contain " + s2 + " but didn't", pr.stdout.contains(s2)); - Assert.assertFalse("ClasspathManifest.BrowserAppletRemoteTest stderr should not contain " + ss + " but did", pr.stderr.contains(ss)); } } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java --- a/tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -53,7 +53,6 @@ @Bug(id = "PR708") public class ClipboardContentSignedTests { - private static final String XCEPTION = "xception"; private static final String contentC = "COPY#$REPRODUCER"; private static final String contentP = "PASTE#$REPRODUCER"; private static final String emptyContent = "empty content"; @@ -77,7 +76,6 @@ wfsp.run(); String ss = pasteFromClipboard(); Assert.assertEquals("Clipboard must contain new value, did not", contentC, ss); - //Assert.assertFalse("ClipboardContentSignedCopy stderr should not contain " + XCEPTION + " but did ", wfsp.getErr().contains(XCEPTION)); } @Test @@ -90,7 +88,6 @@ wfsp.run(); String ss = pasteFromClipboard(); Assert.assertEquals("Clipboard must contain new value, did not", contentC, ss); - //Assert.assertFalse("ClipboardContentSignedCopy stderr should not contain " + XCEPTION + " but did ", wfsp.getErr().contains(XCEPTION)); } @@ -105,7 +102,6 @@ Assert.assertEquals("Clipboard must contain new value, did not", contentP, pasteFromClipboard()); ProcessResult pr = server.executeJavawsHeadless(javawsTrustArg, "/ClipboardContentSignedPaste1.jnlp"); Assert.assertTrue("ClipboardContentSignedTestPaste stdout should contain " + contentP + " but didn't", pr.stdout.contains(contentP)); - //Assert.assertFalse("ClipboardContentSignedTestPaste stderr should not contain " + XCEPTION + " but did ", pr.stderr.contains(XCEPTION)); } @Test @@ -121,6 +117,5 @@ Assert.assertEquals("Clipboard must contain new value, did not", contentP, pasteFromClipboard()); ProcessResult pr = server.executeJavaws(javawsTrustArg, "/ClipboardContentSignedPaste2.jnlp"); Assert.assertTrue("ClipboardContentSignedTestPaste stdout should contain " + contentP + " but didn't", pr.stdout.contains(contentP)); - //Assert.assertFalse("ClipboardContentSignedTestPaste stderr should not contain " + XCEPTION + " but did ", pr.stderr.contains(XCEPTION)); } } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java --- a/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -87,8 +87,6 @@ private void evaluate(ProcessResult pr) { String ss = "Good simple javaws exapmle"; Assert.assertTrue("Stdout should contains " + ss + " but didn't", pr.stdout.contains(ss)); - String s = "xception"; - Assert.assertFalse("Stderr should not contains " + s + " but did", pr.stderr.contains(s)); } @Test diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java --- a/tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java Thu Jan 16 16:21:55 2014 +0100 @@ -85,8 +85,6 @@ ProcessResult pr = ServerAccess.executeProcess(commands); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); Assert.assertFalse("should not be terminated, but was", pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } @@ -98,8 +96,6 @@ ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too%20signed.jnlp"); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); Assert.assertFalse("should NOT be terminated, but was not", pr.wasTerminated); } @@ -111,8 +107,6 @@ ProcessResult pr = server.executeBrowser("/spaces+applet+Tests+signed.html"); String s="Signed spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); Assert.assertTrue("should be terminated, but was not", pr.wasTerminated); } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java --- a/tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -59,8 +59,6 @@ ProcessResult pr = server.executeJavaws("/MultipleSignaturesTest2.jnlp"); String s = GSJE; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); } @Test @@ -93,9 +91,6 @@ // permissions, but still usage of foreign code is allowed. String s = GSJE; Assert.assertTrue("stdout should contains `" + s + "`, but did not", pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); - Assert.assertEquals((Integer) 0, pr.returnValue); } @Test diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java --- a/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -49,7 +49,6 @@ public class AppletTestTests extends BrowserTest { private final String s7 = "Aplet killing himself after 2000 ms of life"; - private final String ss = "xception"; private final String s2 = "value2"; private final String s1 = "value1"; private final String s0 = "applet was started"; @@ -59,9 +58,6 @@ @Override protected boolean isAlowedToFinish(String s) { - if (s.contains(ss)) { - return true; - } return (s.contains(s0) && s.contains(s1) && s.contains(s2) && s.contains(s3) && s.contains(s7)); } } @@ -109,7 +105,6 @@ Assert.assertTrue("AppletTest stdout should contains " + s0 + " bud didn't", pr.stdout.contains(s0)); Assert.assertTrue("AppletTest stdout should contains " + s1 + " bud didn't", pr.stdout.contains(s1)); Assert.assertTrue("AppletTest stdout should contains " + s2 + " bud didn't", pr.stdout.contains(s2)); - Assert.assertFalse("AppletTest stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); Assert.assertTrue("AppletTest stdout should contains " + s7 + " bud didn't", pr.stdout.contains(s7)); if (!javawsApplet) { /*this is working correctly in most browser, but not in all. temporarily disabling diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java --- a/tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -54,8 +54,6 @@ //the JS<->J tests tend to make Opera unusable public final boolean doNotRunInOpera = true; - private final String exceptionStr = "xception"; - private final String errorStr = "rror"; private final String initStr = "JSToJSet applet initialized."; private final String afterStr = "afterTests"; @@ -67,9 +65,6 @@ @Override protected boolean isAlowedToFinish(String s) { - if (s.contains(exceptionStr) || s.contains(errorStr)) { - return true; - } return (s.contains(initStr) && s.contains(afterStr)); } } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java --- a/tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -93,9 +93,6 @@ ProcessResult pr = executeJavaws(verbose, variables, id); String s = "LocalisedInformationElement launched"; Assert.assertTrue(id + " stdout should contains " + s + " bud didn't", pr.stdout.contains(s)); - //to strict? - //String ss = "xception"; - //Assert.assertFalse(id + " stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); String locMatch = "(?s).*default locale: \\w{2}.*"; Assert.assertTrue(id + " stdout should match " + locMatch + " bud didn't", pr.stdout.matches(locMatch)); return pr; diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java --- a/tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -149,13 +149,6 @@ Assert.assertTrue("AppletTestSigned stdout should contain " + s1 + " but didn't", pr.stdout.contains(s1)); String s2 = "value2"; Assert.assertTrue("AppletTestSigned stdout should contain " + s2 + " but didn't", pr.stdout.contains(s2)); -// too strict! -// String s4 = "AppletTestSigned was stopped"; -// Assert.assertFalse("AppletTestSigned stdout shouldn't contains " + s4 + " but did", pr.stdout.contains(s4)); -// String s5 = "AppletTestSigned will be destroyed"; -// Assert.assertFalse("AppletTestSigned stdout shouldn't contains " + s5 + " but did", pr.stdout.contains(s5)); -// String ss = "xception"; -// Assert.assertFalse("AppletTestSigned stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); String s7 = "AppletTestSigned killing himself after 2000 ms of life"; Assert.assertTrue("AppletTestSigned stdout should contain " + s7 + " but didn't", pr.stdout.contains(s7)); } @@ -166,8 +159,6 @@ ProcessResult pr = server.executeJavawsHeadless(l, "/ParametrizedJarUrlSigned1.jnlp"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrlSigned1 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrlSigned1 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); } @Test @@ -175,8 +166,6 @@ ProcessResult pr = server.executeJavawsHeadless(l, "/ParametrizedJarUrlSigned2.jnlp"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrlSigned2 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrlSigned2 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); } @Test @@ -184,8 +173,6 @@ ProcessResult pr = server.executeJavawsHeadless(l, "/ParametrizedJarUrlSigned2.jnlp?test=123456"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrlSigned2 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrlSigned2 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); } @Test @@ -193,8 +180,6 @@ ProcessResult pr = server.executeJavawsHeadless(null, "/ParametrizedJarUrl1.jnlp"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrl1 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrl1 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); } @Test @@ -202,8 +187,6 @@ ProcessResult pr = server.executeJavawsHeadless(null, "/ParametrizedJarUrl2.jnlp"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrl2 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrl2 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); } @Test @@ -211,8 +194,6 @@ ProcessResult pr = server.executeJavawsHeadless(null, "/ParametrizedJarUrl2.jnlp?test=123456"); String s = "Good simple javaws exapmle"; Assert.assertTrue("ParametrizedJarUrl2 stdout should contain " + s + " but didn't", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("ParametrizedJarUrl2 stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); ; } @@ -225,13 +206,6 @@ Assert.assertTrue("AppletTest stdout should contain " + s1 + " but didn't", pr.stdout.contains(s1)); String s2 = "value2"; Assert.assertTrue("AppletTest stdout should contain " + s2 + " but didn't", pr.stdout.contains(s2)); -// This is to strict, each browser is killing as it wish -// String s4 = "applet was stopped"; -// Assert.assert("AppletTest stdout shouldn't contains " + s4 + " but did", pr.stdout.contains(s4)); -// String s5 = "applet will be destroyed"; -// Assert.assert("AppletTest stdout shouldn't contains " + s5 + " but did", pr.stdout.contains(s5)); - String ss = "xception"; - Assert.assertFalse("AppletTest stderr should not contains " + ss + " but did", pr.stderr.contains(ss)); String s7 = "Aplet killing himself after 2000 ms of life"; Assert.assertTrue("AppletTest stdout should contain " + s7 + " but didn't", pr.stdout.contains(s7)); } diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java --- a/tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java Thu Jan 16 16:21:55 2014 +0100 @@ -36,7 +36,9 @@ */ import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import net.sourceforge.jnlp.ContentReaderListener; import net.sourceforge.jnlp.ProcessResult; import net.sourceforge.jnlp.ServerAccess; import net.sourceforge.jnlp.annotations.Bug; @@ -44,13 +46,14 @@ import net.sourceforge.jnlp.browsertesting.BrowserTest; import net.sourceforge.jnlp.browsertesting.Browsers; import net.sourceforge.jnlp.annotations.TestInBrowsers; +import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener; import org.junit.Assert; import org.junit.Test; @Bug(id={"http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2011-October/016127.html","PR804","PR811"}) public class SpacesCanBeEverywhereTests extends BrowserTest { - +public static final String s = "Spaces can be everywhere.jsr was launched correctly"; @Bug(id="PR811") @Test @NeedsDisplay @@ -83,10 +86,7 @@ * only on ocal files, and probably only from test run - it can be ignored */ ProcessResult pr = ServerAccess.executeProcess(commands); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); Assert.assertFalse("should not be terminated, but was", pr.wasTerminated); Assert.assertEquals((Integer) 0, pr.returnValue); } @@ -96,11 +96,8 @@ @NeedsDisplay public void SpacesCanBeEverywhereRemoteAppletTestsJnlp2() throws Exception { ProcessResult pr = server.executeJavaws("/NotOnly%20spaces%20can%20kill%20%C4%9B%C5%A1%C4%8D%C5%99%C5%BE%20too.jnlp"); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); - Assert.assertFalse("should NOT be terminated, but was not", pr.wasTerminated); + Assert.assertFalse("should NOT be terminated, but was", pr.wasTerminated); } @Bug(id="PR811") @@ -108,11 +105,8 @@ @NeedsDisplay @TestInBrowsers(testIn = {Browsers.all}) public void SpacesCanBeEverywhereRemoteAppletTestsHtml2() throws Exception { - ProcessResult pr = server.executeBrowser("/spaces+applet+Tests.html"); - String s="Spaces can be everywhere.jsr was launched correctly"; + ProcessResult pr = server.executeBrowser("/spaces+applet+Tests.html", Arrays.asList(new ContentReaderListener[] {new StringBasedClosingListener(s)}), null); Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); - String cc = "xception"; - Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); Assert.assertTrue("should be terminated, but was not", pr.wasTerminated); } @@ -133,7 +127,6 @@ @Test public void SpacesCanBeEverywhereRemoteTests2() throws Exception { ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp"); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -145,7 +138,6 @@ @Test public void SpacesCanBeEverywhereRemoteTests2_withQuery1() throws Exception { ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test=10"); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -158,7 +150,6 @@ @Test public void SpacesCanBeEverywhereRemoteTests2_withQuery2() throws Exception { ProcessResult pr = server.executeJavawsHeadless(null, "/Spaces%20can%20be%20everywhere2.jnlp?test%3D10"); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -170,7 +161,6 @@ @Test public void SpacesCanBeEverywhereRemoteTests3() throws Exception { ProcessResult pr = server.executeJavawsHeadless(null, "/SpacesCanBeEverywhere1.jnlp"); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -203,7 +193,6 @@ commands.add(ServerAccess.HEADLES_OPTION); commands.add("Spaces can be everywhere2.jnlp"); ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -219,7 +208,6 @@ commands.add(ServerAccess.HEADLES_OPTION); commands.add(server.getDir()+"/Spaces can be everywhere2.jnlp"); ProcessResult pr = ServerAccess.executeProcess(commands); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); @@ -235,7 +223,6 @@ commands.add(ServerAccess.HEADLES_OPTION); commands.add("SpacesCanBeEverywhere1.jnlp"); ProcessResult pr = ServerAccess.executeProcess(commands,server.getDir()); - String s="Spaces can be everywhere.jsr was launched correctly"; Assert.assertTrue("stdout should contains `"+s+"`, but did not",pr.stdout.contains(s)); String cc = "ClassNotFoundException"; Assert.assertFalse("stderr should NOT contains `" + cc + "`, but did", pr.stderr.contains(cc)); diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java --- a/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -205,8 +205,6 @@ private void assertDeadlockTestLaunched(ProcessResult pr) { String s = "Deadlock test started"; Assert.assertTrue("Deadlock test should print out " + s + ", but did not", pr.stdout.contains(s)); - String ss = "xception"; - Assert.assertFalse("Deadlock test should not stderr " + ss + " but did", pr.stderr.contains(ss)); //each 3500 seconds deadlock test stdout something //timeout is 20s //so it should write out FIVE sentences, but is mostly just three or four. Last is nearly always consumed by termination diff -r 8983d8c01896 -r acbfbaefe7aa tests/reproducers/simple/encodingTests????????????????????????????????????????????????/testcases/EncodingTestTest.java --- a/tests/reproducers/simple/encodingTests????????????????????????????????????????????????/testcases/EncodingTestTest.java Wed Jan 15 15:11:22 2014 +0100 +++ b/tests/reproducers/simple/encodingTests????????????????????????????????????????????????/testcases/EncodingTestTest.java Thu Jan 16 16:21:55 2014 +0100 @@ -195,8 +195,6 @@ ProcessResult pr = server.executeJavawsHeadless(verboseArg, "/encodingTest1-" + encoding + ".jnlp"); String s = "Good simple javaws exapmle"; Assert.assertTrue("encodingTest1 (in " + encoding + ") stdout should contain " + s + " bud didn't", pr.stdout.contains(s)); From jvanek at redhat.com Thu Jan 16 07:55:15 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 16 Jan 2014 16:55:15 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D70728.1050603@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> Message-ID: <52D800E3.5070902@redhat.com> On 01/15/2014 11:09 PM, Andrew Azores wrote: > On 01/15/2014 10:24 AM, Jiri Vanek wrote: >> On 01/15/2014 12:34 AM, Jacob Wisor wrote: >>> After I have hit the send button for my last e-mail, I have realized that it may be desirable to run >>> policytool in a separate process for security reasons, although calling directly into >>> PolicyTool.main(). Maybe it's just me being paranoid, but authoring policies is a security sensitive >>> task. In the current patch policytool gets loaded into the same JVM as itw-settings. If the current >>> JVM or itw-settings has been compromised for the current user, he/she may be editing a heck of >>> secure policy but could end up with a policy file on disk, granting AllPermissions to some malicious >>> code bearing URL. Sure, policy files are simple human readable text files that can be checked before >>> applying. But, who really does that? >>> Of course, I do realize that if one's system JRE has been compromised then probably all other JVM >>> instances and the applications running on them are going to get compromised sooner or later on that >>> system. I don't know, I just wanted to share some wired thoughts on policy authoring security. :-D >> >> Ugh. I hope this is not true. But Ido not know. >> Btw - by specifying policies - the itw-settings will be still unaffected correct? > > What do you mean? > >>> >>>> I've put this into a new thread, but tbh I'm not sure if that was entirely necessary. >>> >>> In this case, I had rather something like SwingUtilities.invokeLater() or EventQueue.invokeLater() >>> in mind. In general, only activities related to manipulating and displaying UI elements should be >>> placed on the AWT thread. Work code should either be put into invokeLater() or custom working >>> threads (like SwingWorker for example), although the later has some more caveats in most cases. >>> invokeLater() actually does indeed create a thread too but it also neatly ties it into the UI >>> toolkit and takes care of most of those caveats, so developers are really advised to use it. You may >>> want to read the tiny discussion on "Swing's Threading Policy" at the bottom of javax.swing's >>> package API documentation regarding this topic. ;-) >> >> +1! >> >>> >>>> The "View Policy" button has a tooltip now that indicates the location of the file that will be >>>> opened, >>>> although this is also displayed in the policytool itself if you launch it. >>> >>> Right, that's actually why I have remained silent on that matter. It's a good move to indicate the >>> policy file's location before launching policytool. >>> >>>> The View Button's action listener is no longer an anonymous inner class, since I >>>> don't really mind the style either way personally. >>> >>> Yey, I love inner classes! :-D Declaring a member variable holding the ActionListener's reference >>> would have been enough too, but hey, going all the way through is even cooler. 8-) >>> >>>> Its implementation does have an anonymous inner Runnable inside its Thread, though. >>> >>> An anonymous Runnable implementation without keeping a reference to it is okay here because in any >>> case, there can only be one Runnable object per Thread object, hence a reference to that anonymous >>> Runnable object is always unambiguously retrievable. Nevertheless, you may want to prefer >>> invokeLater() over that custom thread. >> >> as above >>> >>>> Oh, and there's also now an error dialog if for some reason the policy file can't be opened (eg it >>>> exists >>>> but you don't have read permission, or it exists but is a directory, or >>>> whatever). If the file doesn't already exist then we attempt to create a blank >>>> one there first, since the PolicyTool itself doesn't seem to do this. >>> >>> Although all JOptionPane.showXxxDialog() dialogs are modal, please pass it a reference to >>> itw-settings' JFrame for the sake of completeness, before it grabs some undesired /default/ >>> Compenent - what ever this might be - or perhaps even the desktop window. >> +1 > > All this was already taken care of in the '3' patch, I think. > >> >>> >>> I hope you are sure about what you have been probably intending to accomplish with >>> canOpenPolicyFile() actually does what you had in mind. File.canRead() and File.canWrite() are not >>> platform agnostic and they are only checking file system access permissions, not physical read/write >>> capability. Those methods are so misleading in their semantics and should not have found their way >>> into the Java API in the first place. The JCP board would be well advised to deprecate these methods >>> as soon as possible for being highly platform dependent and having misleading semantics. I have >>> already covered this in an earlier post to this mailing list. ;-) >>> Besides File.canRead() and File.canWrite() also test for existence so you may want to simplify and >>> drop some redundant tests in you current code. I may be mistaken, but there may already be code >>> present in net.sourceforge.jnlp.util.FileUtils for your intended purpose. >>> IMHO, you should probably drop these tests anyway because it's on the policytool to do those tests >>> (from a software engineering point of view). >> >> This have already appeared, Jacob, have not? :o) >> >> + public static boolean canOpenPolicyFile(final File policyFile) throws IOException { >> + FileUtils.createParentDir(policyFile); >> + if (!policyFile.exists()) { >> + policyFile.createNewFile(); >> + } >> + return policyFile.isFile() && policyFile.canRead() && policyFile.canWrite(); >> + } >> >> >> For a directory you can use DirectroyValidator class in itw. It do what you wont to do in full scale. >> >> imho the policyFile.canWrite(); is not necessary (the message "can not write" is worthy anyway ) >> . The toll is useful also for read only viewing.. >> The messages "is not file" or "can not be read" or "cannot be written" are better then one generic >> one. >> >> Thanx both of you for contributions! >> >> >> J. > > Okay, the "couldNotOpenFileDialog" is more informative about the specific reason that it's appearing > now, and I'm using a DirectoryValidator to check that we'll be able to make/edit a policy file. I've > also removed the requirement that the file be writeable - you're right, it does still make sense to > let the tool launch, even if the file is read-only. And it's policytool's responsibility to deal > with the problem if it turns out the file is read-only. Besides, I did label the button as "View > Policy", not "Edit Policy" ;) Please remove unnecessary html from: + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); Also I would like two things here: - If file is not writeable, warn user and lunch policy tool anyway - otherwise show proper mesasge end do nothing as you do now. Please rename button to: "view/edit by policy tool" - it is what is really does. > >> few more nits: >> >> Now the polici file is visibl ein policy tool, in plolicy file in readonly textfield (I'm >> wondering why it was not visible before). Thats good, but I would like to see it in itw settings >> itself:( Please add similar readonly jtextfield to police settings pane. >> You can keep also current tool tip text;) > > I have done this, but it's kind of ugly looking. And I really don't know how to make things look > pretty. :) My suggesttion: ****text***t*t*t*t*t*t **text**t**tt*tt*t*t*t ****text***t*t*t*t*t*t **text**t**tt*tt*t*t*t [textfield with path] [button] What do you mean? I think that in future we may end up with something like ****text***t*t*t*t*t*t **text**t**tt*tt*t*t*t ****text***t*t*t*t*t*t **text**t**tt*tt*t*t*t [textfield with path to local file ] [simple edit button][policy tool button] [textfield with path to global file] [simple edit button][policy tool button] Maybe ot soon, nor ever. But stil it will be nicer :) And you will discover a bit of swing O:) >> + private static File policy = new File(System.getProperty("user.home") + >> "/.config/icedtea-web/security/java.policy"), >> + policyBackup = new File(System.getProperty("user.home") + >> "/.config/icedtea-web/security/java.policy.bak"); >> >> nope - you have to use value from deployment configuration > > Yea, this was just carelessness :( wrote it as a quick hack and then forgot to go back and actually > fix it properly. Classic story, isn't it? > >> >> + if (policy.isFile()) { >> + if (policyBackup.exists()) { >> + throw new RuntimeException("Backup policy file already exists"); >> + } >> >> >> Instead of this (this can simple become blocker if tests are killed) I would recommand to use some >> random-suffixed.bak file. Of course feel free to throw out if backuping fail and log out worning >> if old backups exists. >> >> try { >> + out = new FileWriter(policy, false /*no append*/); >> + } catch (IOException e) { >> + throw new RuntimeException(e); >> + } >> +... and much similar >> >> Its not worthy to catch. Please let already thrown exception flow. Of course try to close in >> finally. (especially you will avoid try{}finally{try{}catch{}} nastyness. >> >> Both your testcases should share shared code (namely backupPolicy and restorePolicy ;) ) And also >> yor assersert* methods (just with negation ;) ) >> >> Otherwise the tests looks really good! >> > > Well, the reason I had the tests split into two testcases files like that was because one set of Oh I did not wont you to join files, nor reuse before/after method themselves. Just logic of them. I'm terribly sorry for not being clear! Please split the files again. They are compiled together, so they can reuse thirs package private/public methods or extends themselves. The previous before/after backup was nicer then current one. if (policy.isFile()) { + for (int i = 0; i < MAX_BACKUPS; ++i) { + if (!policyBackup.exists()) { + break; + } else { + policyBackup = getRandomizedBackup(); + } + } :DDD (sorry :) ) Please use File.createTmpfile(dir,pattern) instead :) It guarants you creation of the file, so you do not need to throw. Tets are forbidden touse stdouts/errs + System.err/out.println Use ServerAccess logger instead. > them required a specific policy file, and the other set required there to be no policy file at all. > So I used @BeforeClass and @AfterClass in each testcase so that I could do the work of setting up > and restoring the policy files just once per set. Now, with them all combined into one testcase > file, the backup/restore has to be done wrapped around every single test using @Before and @After, > with the tests that require the specific policy writing a new one each time, since the order the > tests run in is not well defined. But on the plus side, they all use the same backup/restore methods > and many of the same assertions, too. hm.. jsut finished the review. If you do not wont to split file again, go on with current before/after + write solution. Its not so bad as it seemed. Just not standard. But please fix the rest. The number of test in single file is.. on edge , But we can survive it. J. From aazores at redhat.com Thu Jan 16 08:40:12 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 11:40:12 -0500 Subject: [rfc][icedtea-web] rewert of changset 757 "Simplify IcedTeaScriptableJavaObject" In-Reply-To: <52D55C62.30100@redhat.com> References: <52D55C62.30100@redhat.com> Message-ID: <52D80B6C.3000103@redhat.com> On 01/14/2014 10:48 AM, Jiri Vanek wrote: > Unluckily the regressions caused by (otherwise good) > http://icedtea.classpath.org/hg/icedtea-web/rev/ee92f55c69a3 > > +2013-06-21 Adam Domurad > + > + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Simplify > + IcedTeaScriptableJavaObject > + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same > > were never successfully fixed, and I gave up on it :( > > This is revert of patch in tip. Please note, that this is *manual* > revert of patch. > When I did it , i was just 50% sure what I done. But the result of > selected set of reproducers have persuaded me that I did it correctly. > (three "r" attachments) > > So (any) reviwer, please (and sorry!), be double careful!-) > > J. Well, the patch generally looks okay, and your results are convincing. There seems to be no affect for me running the tests in Firefox, but at least reverting the changes hasn't made anything worse as far as I can tell. There is this that I pointed out over IRC and will repeat here though: // If object is an array and requested "method" may be a number, check for it first - if ( scriptable_object->is_object_array || + if ( !((IcedTeaScriptableJavaObject*) npobj)->isArray() || (browser_functions.intfromidentifier(name_id) < 0)) it seems to me like the value of this condition has changed. But, you are restoring it back to how it used to be, so perhaps this is actually what the regression was in the first place. Like I said, it seems to make no difference in my testing, but perhaps it would be worth it if you checked the results of removing the negation in the condition as well. Most of the rest of the patch seems to be simple refactoring but this appears to actually change some behaviour. Thanks, -- Andrew A From gnu.andrew at redhat.com Thu Jan 16 09:02:54 2014 From: gnu.andrew at redhat.com (Andrew) Date: Thu, 16 Jan 2014 12:02:54 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> Message-ID: <1039993599.2653335.1389891774074.JavaMail.root@redhat.com> ----- Original Message ----- > >>> Hi Andrew, can you point me in the right direction with this? Here > >>> are a couple errors I'm getting depending on compile options and > >>> bootstrap VM: > >>> > >>> http://pastebin.com/VV3rMezP > >>> http://pastebin.com/ThjufjyH > >> > >> This may be the bug that Chris Philips is working on. > >> > >> Chris? > >> > >> Andrew. > >> > > Neither of these look familiar (though I recollect some issues in the > > cryptocheck > > for other archs so it may be a generic failure...). > > I am planning update the it7-head forest with latest arm32 stuff in near > > future so it > > might be better to await that event. (Near future ~ a week +/- ). > > > > Chris > > OK good plan. Two questions: > > What can I check to see if it7-head has been updated? > > Is there an older version of it7 I might want to try in the meantime? > > Thanks, > Grant > It would really help if you could provide the config.log from your build so we know what you're building. At the moment, it seems people are just making best guesses. IcedTea 7 HEAD & 2.4 both have the fix, but the former won't have the latest security updates yet. I'll be updating java-overlay in Gentoo with ebuilds for the new releases once they're finalised. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From aazores at redhat.com Thu Jan 16 09:34:00 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 16 Jan 2014 12:34:00 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D800E3.5070902@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> Message-ID: <52D81808.70308@redhat.com> On 01/16/2014 10:55 AM, Jiri Vanek wrote: > On 01/15/2014 11:09 PM, Andrew Azores wrote: >> On 01/15/2014 10:24 AM, Jiri Vanek wrote: >>> On 01/15/2014 12:34 AM, Jacob Wisor wrote: >>>> After I have hit the send button for my last e-mail, I have >>>> realized that it may be desirable to run >>>> policytool in a separate process for security reasons, although >>>> calling directly into >>>> PolicyTool.main(). Maybe it's just me being paranoid, but authoring >>>> policies is a security sensitive >>>> task. In the current patch policytool gets loaded into the same JVM >>>> as itw-settings. If the current >>>> JVM or itw-settings has been compromised for the current user, >>>> he/she may be editing a heck of >>>> secure policy but could end up with a policy file on disk, granting >>>> AllPermissions to some malicious >>>> code bearing URL. Sure, policy files are simple human readable text >>>> files that can be checked before >>>> applying. But, who really does that? >>>> Of course, I do realize that if one's system JRE has been >>>> compromised then probably all other JVM >>>> instances and the applications running on them are going to get >>>> compromised sooner or later on that >>>> system. I don't know, I just wanted to share some wired thoughts on >>>> policy authoring security. :-D >>> >>> Ugh. I hope this is not true. But Ido not know. >>> Btw - by specifying policies - the itw-settings will be still >>> unaffected correct? >> >> What do you mean? >> >>>> >>>>> I've put this into a new thread, but tbh I'm not sure if that was >>>>> entirely necessary. >>>> >>>> In this case, I had rather something like >>>> SwingUtilities.invokeLater() or EventQueue.invokeLater() >>>> in mind. In general, only activities related to manipulating and >>>> displaying UI elements should be >>>> placed on the AWT thread. Work code should either be put into >>>> invokeLater() or custom working >>>> threads (like SwingWorker for example), although the later has some >>>> more caveats in most cases. >>>> invokeLater() actually does indeed create a thread too but it also >>>> neatly ties it into the UI >>>> toolkit and takes care of most of those caveats, so developers are >>>> really advised to use it. You may >>>> want to read the tiny discussion on "Swing's Threading Policy" at >>>> the bottom of javax.swing's >>>> package API documentation regarding this topic. ;-) >>> >>> +1! >>> >>>> >>>>> The "View Policy" button has a tooltip now that indicates the >>>>> location of the file that will be >>>>> opened, >>>>> although this is also displayed in the policytool itself if you >>>>> launch it. >>>> >>>> Right, that's actually why I have remained silent on that matter. >>>> It's a good move to indicate the >>>> policy file's location before launching policytool. >>>> >>>>> The View Button's action listener is no longer an anonymous inner >>>>> class, since I >>>>> don't really mind the style either way personally. >>>> >>>> Yey, I love inner classes! :-D Declaring a member variable holding >>>> the ActionListener's reference >>>> would have been enough too, but hey, going all the way through is >>>> even cooler. 8-) >>>> >>>>> Its implementation does have an anonymous inner Runnable inside >>>>> its Thread, though. >>>> >>>> An anonymous Runnable implementation without keeping a reference to >>>> it is okay here because in any >>>> case, there can only be one Runnable object per Thread object, >>>> hence a reference to that anonymous >>>> Runnable object is always unambiguously retrievable. Nevertheless, >>>> you may want to prefer >>>> invokeLater() over that custom thread. >>> >>> as above >>>> >>>>> Oh, and there's also now an error dialog if for some reason the >>>>> policy file can't be opened (eg it >>>>> exists >>>>> but you don't have read permission, or it exists but is a >>>>> directory, or >>>>> whatever). If the file doesn't already exist then we attempt to >>>>> create a blank >>>>> one there first, since the PolicyTool itself doesn't seem to do this. >>>> >>>> Although all JOptionPane.showXxxDialog() dialogs are modal, please >>>> pass it a reference to >>>> itw-settings' JFrame for the sake of completeness, before it grabs >>>> some undesired /default/ >>>> Compenent - what ever this might be - or perhaps even the desktop >>>> window. >>> +1 >> >> All this was already taken care of in the '3' patch, I think. >> >>> >>>> >>>> I hope you are sure about what you have been probably intending to >>>> accomplish with >>>> canOpenPolicyFile() actually does what you had in mind. >>>> File.canRead() and File.canWrite() are not >>>> platform agnostic and they are only checking file system access >>>> permissions, not physical read/write >>>> capability. Those methods are so misleading in their semantics and >>>> should not have found their way >>>> into the Java API in the first place. The JCP board would be well >>>> advised to deprecate these methods >>>> as soon as possible for being highly platform dependent and having >>>> misleading semantics. I have >>>> already covered this in an earlier post to this mailing list. ;-) >>>> Besides File.canRead() and File.canWrite() also test for existence >>>> so you may want to simplify and >>>> drop some redundant tests in you current code. I may be mistaken, >>>> but there may already be code >>>> present in net.sourceforge.jnlp.util.FileUtils for your intended >>>> purpose. >>>> IMHO, you should probably drop these tests anyway because it's on >>>> the policytool to do those tests >>>> (from a software engineering point of view). >>> >>> This have already appeared, Jacob, have not? :o) >>> >>> + public static boolean canOpenPolicyFile(final File policyFile) >>> throws IOException { >>> + FileUtils.createParentDir(policyFile); >>> + if (!policyFile.exists()) { >>> + policyFile.createNewFile(); >>> + } >>> + return policyFile.isFile() && policyFile.canRead() && >>> policyFile.canWrite(); >>> + } >>> >>> >>> For a directory you can use DirectroyValidator class in itw. It do >>> what you wont to do in full scale. >>> >>> imho the policyFile.canWrite(); is not necessary (the message "can >>> not write" is worthy anyway ) >>> . The toll is useful also for read only viewing.. >>> The messages "is not file" or "can not be read" or "cannot be >>> written" are better then one generic >>> one. >>> >>> Thanx both of you for contributions! >>> >>> >>> J. >> >> Okay, the "couldNotOpenFileDialog" is more informative about the >> specific reason that it's appearing >> now, and I'm using a DirectoryValidator to check that we'll be able >> to make/edit a policy file. I've >> also removed the requirement that the file be writeable - you're >> right, it does still make sense to >> let the tool launch, even if the file is read-only. And it's >> policytool's responsibility to deal >> with the problem if it turns out the file is read-only. Besides, I >> did label the button as "View >> Policy", not "Edit Policy" ;) > Please remove unnecessary html from: > + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") > + ""); The html tags are there to enable line wrapping in the JLabel. We do the same thing in the AboutPanel, otherwise the label just shows one incredibly long line of text. We could also make it into a JTextArea and enable line wrapping directly without using html tags, but then the text area isn't going to actually look the same and it'll take extra work to make it fit in. > > Also I would like two things here: > - If file is not writeable, warn user and lunch policy tool anyway > - otherwise show proper mesasge end do nothing as you do now. Great idea, done. > > Please rename button to: "view/edit by policy tool" - it is what is > really does. Also done. > >> >>> few more nits: >>> >>> Now the polici file is visibl ein policy tool, in plolicy file in >>> readonly textfield (I'm >>> wondering why it was not visible before). Thats good, but I would >>> like to see it in itw settings >>> itself:( Please add similar readonly jtextfield to police settings >>> pane. >>> You can keep also current tool tip text;) >> >> I have done this, but it's kind of ugly looking. And I really don't >> know how to make things look >> pretty. :) > > My suggesttion: > > ****text***t*t*t*t*t*t > **text**t**tt*tt*t*t*t > ****text***t*t*t*t*t*t > **text**t**tt*tt*t*t*t > [textfield with path] [button] > > What do you mean? > > I think that in future we may end up with something like > > ****text***t*t*t*t*t*t > **text**t**tt*tt*t*t*t > ****text***t*t*t*t*t*t > **text**t**tt*tt*t*t*t > [textfield with path to local file ] [simple edit button][policy tool > button] > [textfield with path to global file] [simple edit button][policy tool > button] > > Maybe ot soon, nor ever. But stil it will be nicer :) And you will > discover a bit of swing O:) I have no idea if what I've done is a good way to do this, but it seems to have worked and looks reasonable... > >>> + private static File policy = new >>> File(System.getProperty("user.home") + >>> "/.config/icedtea-web/security/java.policy"), >>> + policyBackup = new File(System.getProperty("user.home") + >>> "/.config/icedtea-web/security/java.policy.bak"); >>> >>> nope - you have to use value from deployment configuration >> >> Yea, this was just carelessness :( wrote it as a quick hack and then >> forgot to go back and actually >> fix it properly. Classic story, isn't it? >> >>> >>> + if (policy.isFile()) { >>> + if (policyBackup.exists()) { >>> + throw new RuntimeException("Backup policy file >>> already exists"); >>> + } >>> >>> >>> Instead of this (this can simple become blocker if tests are killed) >>> I would recommand to use some >>> random-suffixed.bak file. Of course feel free to throw out if >>> backuping fail and log out worning >>> if old backups exists. >>> >>> try { >>> + out = new FileWriter(policy, false /*no append*/); >>> + } catch (IOException e) { >>> + throw new RuntimeException(e); >>> + } >>> +... and much similar >>> >>> Its not worthy to catch. Please let already thrown exception flow. >>> Of course try to close in >>> finally. (especially you will avoid try{}finally{try{}catch{}} >>> nastyness. >>> >>> Both your testcases should share shared code (namely backupPolicy >>> and restorePolicy ;) ) And also >>> yor assersert* methods (just with negation ;) ) >>> >>> Otherwise the tests looks really good! >>> >> >> Well, the reason I had the tests split into two testcases files like >> that was because one set of > > Oh I did not wont you to join files, nor reuse before/after method > themselves. Just logic of them. > I'm terribly sorry for not being clear! > > Please split the files again. They are compiled together, so they can > reuse thirs package private/public methods or extends themselves. > > The previous before/after backup was nicer then current one. > > > if (policy.isFile()) { > + for (int i = 0; i < MAX_BACKUPS; ++i) { > + if (!policyBackup.exists()) { > + break; > + } else { > + policyBackup = getRandomizedBackup(); > + } > + } > > > :DDD (sorry :) ) > > Please use File.createTmpfile(dir,pattern) instead :) > It guarants you creation of the file, so you do not need to throw. I didn't do this in the attached new patches, because I'm not sure about it. This is going to create temp files, eg in /tmp - do we really want to back up to here? If the power goes out during a test run then you might just lose your user policy file entirely. The patch now does the backup simply by renaming the policy file without moving it to any other directory, so that it should generally be safe and remain recoverable even if the machine dies during the test (barring problems out of our hands like filesystem corruption). The thrown exception is only there if we can't back up the policy at all, probably because there are too many existing backups. Using File.createTempFile() would be nice because it would simplify the backup/restore process but I don't really like the idea of backing up policy files to non-persistent and possibly volatile storage... but maybe I'm worrying too much about this. > > > Tets are forbidden touse stdouts/errs > > + System.err/out.println > > Use ServerAccess logger instead. > > Right, thanks. >> them required a specific policy file, and the other set required >> there to be no policy file at all. >> So I used @BeforeClass and @AfterClass in each testcase so that I >> could do the work of setting up >> and restoring the policy files just once per set. Now, with them all >> combined into one testcase >> file, the backup/restore has to be done wrapped around every single >> test using @Before and @After, >> with the tests that require the specific policy writing a new one >> each time, since the order the >> tests run in is not well defined. But on the plus side, they all use >> the same backup/restore methods >> and many of the same assertions, too. > > > hm.. jsut finished the review. If you do not wont to split file again, > go on with current before/after + write solution. Its not so bad as it > seemed. Just not standard. But please fix the rest. The number of test > in single file is.. on edge , But we can survive it. > > > J. > Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy5.patch Type: text/x-patch Size: 13724 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/fd04bbdc/custom_policy5-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers3.patch Type: text/x-patch Size: 20236 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/fd04bbdc/reproducers3-0001.patch From andrew at icedtea.classpath.org Thu Jan 16 10:06:46 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 16 Jan 2014 18:06:46 +0000 Subject: /hg/release/icedtea6-1.13: 3 new changesets Message-ID: changeset 0770fe4c0105 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=0770fe4c0105 author: Andrew John Hughes date: Thu Dec 26 15:02:14 2013 +0000 Prepare for 1.13.0 release. 2013-12-26 Andrew John Hughes * NEWS: Set release date. * configure.ac: Set to 1.13.0. changeset d861fc8da01f in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=d861fc8da01f author: Andrew John Hughes date: Thu Dec 26 18:25:03 2013 +0000 Added tag icedtea6-1.13 for changeset 0770fe4c0105 changeset c73a000ee810 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=c73a000ee810 author: Andrew John Hughes date: Thu Jan 16 18:06:30 2014 +0000 Start 1.13.1 release cycle. 2014-01-16 Andrew John Hughes * NEWS: Add 1.13.1 section. * configure.ac: Set to 1.13.1pre. diffstat: .hgtags | 1 + ChangeLog | 10 ++++++++++ NEWS | 4 +++- configure.ac | 2 +- 4 files changed, 15 insertions(+), 2 deletions(-) diffs (48 lines): diff -r 4072a64e3f8e -r c73a000ee810 .hgtags --- a/.hgtags Thu Dec 26 14:30:15 2013 +0000 +++ b/.hgtags Thu Jan 16 18:06:30 2014 +0000 @@ -22,3 +22,4 @@ 21f2a8d158545a161ba0d997c13bdba1e6166394 icedtea6-1.10-branchpoint 24c5bd2e7d574441813bfb8f9e4636e50c5d7c28 icedtea6-1.11-branchpoint 5a1e1b39664409e9a0945ba49b558f25ef976c58 icedtea6-1.12-branchpoint +0770fe4c010590f293d189c83af2c49ac0c2268d icedtea6-1.13 diff -r 4072a64e3f8e -r c73a000ee810 ChangeLog --- a/ChangeLog Thu Dec 26 14:30:15 2013 +0000 +++ b/ChangeLog Thu Jan 16 18:06:30 2014 +0000 @@ -1,3 +1,13 @@ +2014-01-16 Andrew John Hughes + + * NEWS: Add 1.13.1 section. + * configure.ac: Set to 1.13.1pre. + +2013-12-26 Andrew John Hughes + + * NEWS: Set release date. + * configure.ac: Set to 1.13.0. + 2013-12-26 Andrew John Hughes * Makefile.am: diff -r 4072a64e3f8e -r c73a000ee810 NEWS --- a/NEWS Thu Dec 26 14:30:15 2013 +0000 +++ b/NEWS Thu Jan 16 18:06:30 2014 +0000 @@ -11,7 +11,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.13.0 (201X-XX-XX): +New in release 1.13.1 (2014-XX-XX): + +New in release 1.13.0 (2013-12-26): * New features - PR1458: Make use of bootstrap tools & -Xbootclasspath patches optional diff -r 4072a64e3f8e -r c73a000ee810 configure.ac --- a/configure.ac Thu Dec 26 14:30:15 2013 +0000 +++ b/configure.ac Thu Jan 16 18:06:30 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.13.0pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.13.1pre],[distro-pkg-dev at openjdk.java.net]) AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) From dbhole at redhat.com Thu Jan 16 13:55:15 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Thu, 16 Jan 2014 16:55:15 -0500 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <52D7DF54.80708@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> Message-ID: <20140116215514.GP9207@redhat.com> * Jiri Vanek [2014-01-16 08:32]: > On 01/16/2014 10:16 AM, Efrat Lefeber wrote: > >Do you know why it was reverted? When will a new patch be released? I am working on a project and it is very urgent for me. > > > > > >-----Original Message----- > >From: Deepak Bhole [mailto:dbhole at redhat.com] > >Sent: Wednesday, January 15, 2014 11:07 PM > >To: Efrat Lefeber > >Cc: distro-pkg-dev at openjdk.java.net; jiri Vanek; Andrew Azores > >Subject: Re: IcedTea-web: Memory leak - java side > > > >* Efrat Lefeber [2014-01-15 10:27]: > >>I am using icedtea-6-plugin with firefox on linux debian (wheezy). > >> > >>I noticed that after opening applets in firefox tabs, and closing > >>them, some objects in java plugin are not released, which causes the > >>heap size of the jvm to keep increasing. > >> > >>For example, I see that the PluginAppletViewer object is not released, > >>also the applet object itself and each classloader of each applet. > >> > >>If I open and close a webpage containing a java applet, the jvm > >>eventually will get out of memory exception. > >> > >>Looking at the plugin code, I see that when closing the applet window, > >>the function PluginAppletViewer.destroyApplet is called, but in this > >>flow, not all objects are release. > >> > >> > >> > >>Is there a way to free the memory without taking down the jvm to > >>prevent the increase in memory? > >> > > > >I know some objects are kept around to make subsequent startups faster. > >But PluginAppletViewer does not sound like something that belongs on that list. > > > >Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. > > Did he? > > He fixed many, really *many* leaks in C part. All are in, and none was ever reverted. > Here we are about java side. AFAIK the leaks here were never tried to be hunted. > > Also freeing of PluginAppletViewer .... I doubt someone have ever tried... > There was one where he mentioned the Java side, I think it was the same one that did lazy initialization of objects on Java side. Deepak > > I have cc'ed him but I do not wont to bother him during studies. So unless I really missed something... > > > >Jiri, Andrew, do you know the status of this? > > J. > From domuradical at gmail.com Thu Jan 16 14:17:42 2014 From: domuradical at gmail.com (Adam Domurad) Date: Thu, 16 Jan 2014 17:17:42 -0500 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <20140116215514.GP9207@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> <20140116215514.GP9207@redhat.com> Message-ID: On Thu, Jan 16, 2014 at 4:55 PM, Deepak Bhole wrote: > * Jiri Vanek [2014-01-16 08:32]: > > On 01/16/2014 10:16 AM, Efrat Lefeber wrote: > > > [...] > > >I know some objects are kept around to make subsequent startups faster. > > >But PluginAppletViewer does not sound like something that belongs on > that list. > > > > > >Adam (Domurad) had proposed a patch to clean memory as much as possible > but I think at one point it had to be reverted. > > > > Did he? > > [...] > > There was one where he mentioned the Java side, I think it was the same > one that did lazy initialization of objects on Java side. > > Deepak > The OOM problem when reloading pages was quite apparent, and I did have some patches with incremental memory freeing, I don't think I ever fully solved the problem. But there were a lot of patches that touched these things, the classes are all a blurred concept of PluginAppletFooClassThings to me right now without some fresher unfortunately :-). Cheers, -Adam -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140116/0814f73c/attachment.html From gitne at gmx.de Thu Jan 16 14:44:08 2014 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 16 Jan 2014 23:44:08 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D7F725.6090707@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> <52D7F4B9.3080608@redhat.com> <52D7F725.6090707@redhat.com> Message-ID: <52D860B8.5050002@gmx.de> On 01/16/2014 04:13 PM, Andrew Azores wrote: > On 01/16/2014 10:03 AM, Jiri Vanek wrote: >> On 01/16/2014 03:58 PM, Andrew Azores wrote: >>>>> permissions to the policy, eg "Allow reading user details" would entail >>>>> granting read permission on >>>>> the user.name and probably user.home together. Or really, I imagine a user >>>>> that is both advanced >>>>> enough to care about making a custom policy AND needs more control than the >>>>> coarse-grained >>>>> checkboxes is probably advanced enough to deal with the existing >>>>> policytool. So we can just leave >>>>> out the Advanced-type settings from the new editor and let those users deal >>>>> with using the existing >>>>> policytool if they need it. Maybe PolicyPanel could be modified further to >>>>> allow users to choose >>>>> which editor to launch with an "advanced" checkbox or similar. >>>>> >>>> >> This remianed me: >> >> You are planing to have "run in 'advacned' sandbox" button next to run i >> sandbox, which will allow to set permissions before (and for) actual run (with >> possibility of save eg?) Or did I just imagined it from nothing?!?!? >> > > Woah, what? This is not what I meant at all :) The dialogs shown at applet run > time will just have "Ok/Proceed", "Sandbox" (or "Restricted" or whatever), and > "Cancel". Sandbox/Restricted will run the applet with reduced permissions, > meaning the Sandbox permission set, union the permission set defined in the user > policy file (as well as system policy file). The Advanced button was just going > to be either in itweb-settings control panel or in the "mini editor" itself and > provide a way to either simply show more policy options or to launch JDK > policytool, to give power users more control over the policy they are editing. I > definitely am not planning to have two different types of Sandbox button. > > It is an interesting idea though to have the dialog present a button for policy > editing. This would make it very easy for users to find the correct codebase for > an applet, since we could fill it in for them already. I'm not sure if adding > yet another button would be very good visually though - it might be too much > going on on one dialog and become confusing. Or, rather than adding a way to > launch the policy editor here during run time (which sounds a little unsafe to > me), we could simply add a button to the dialog somewhere to copy the applet > codebase to the clipboard. Then the user can cancel or sandbox, then later open > the editor and paste the codebase? Hmm. After reading all of that discussion, I am beginning to believe that everything comes down again to that major usability design flaw of J2SE permissions framework. Providing the user with an option of three or four security levels or containment boxes (or sandboxs - whatever you call it) to achieve more security and safety for the broadest user base is probably a futile attempt. Most users, and especially those least technically versed will simply click or choose what makes an application work for them, regardless of the security risks involved. Simply because they are not interested in security or sandbox concepts. They are interested in completing their task with the help of an application at hand: And heck, if it means that the easiest way to get that damn thing of computer running for me is to give the app AllPermissions, before my boss comes in on me and asks me to stop playing with the buttons and to get back doing my job, then that's exactly what I am going to do. ;-) The reason why Android's security model works for the broadest user audience /relatively/ well, is because it is actually on developers of every single application to request permissions or access to specific resources before run time. J2SE imposes no such requirement on developers, nor does it specify a protocol on *how* users or admins should negotiate, grant, and deny permissions for a specific application. And, this is exactly what J2SE's security model is lacking: A permissions *negotiation* protocol. So, even if a user, a power user, or an admin is confronted with or offered a more or less detailed permission settings dialog, he/she still does not know what a safe setting (policy) for that particular application looks like. Unless of course, the user is provided with an exact documentation of that particular application's security sensitive operations and thus required permissions to operate properly. And, as we all know this is most often not the case. :-/ So, I would like to ask you, Andrew and Jiri especially, to think again about what you are actually trying to achieve with this. Well, for me it is a design flaw of J2SE so that there is a better place to address this than the IcedTea-Web Settings panel. Or perhaps I should rather say that this matter has to be addressed on a much deeper level than an applet launcher UI. This being said, have you thought of perhaps implementing a Windows UAC or sudo/polkit like approach? Asking the user for a one time permission only (with an option to store this permission with the current parameter set) when it is actually required at run time may solve the problem (without having to fix J2SE's security model). I am well aware that this isn't the best way to implement a user friendly security model but firstly, you do not have the risk of users abundantly granting AllPermissions just because its easier and secondly, you have a complete sandbox by default (no permissions at all). What do you think? Jacob From stefan.reich.maker.of.eye at googlemail.com Thu Jan 16 21:33:38 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Fri, 17 Jan 2014 06:33:38 +0100 Subject: Applet key thing, SOLVED. Message-ID: OK, finally I got it working... I had to remove all the AWT components, just keep the applet and handle paint() myself. Weird, but OK. It works and I don't need any AWT anymore anyway, ha. We'll build a GUI universe with Lua pixels. :-) Some mixed feelings remain about IcedTea. I mean, it's good that it exists, we need applets on Linux. Just it could be more stable or something I guess. I mean, where is the problem located? Is it more in Firefox or more in IcedTea? I'm asking bluntly here. Java is a VERY stable platform, so it's weird to see a Java plugin crash or go crazy like that. Because the Java VM doesn't do that. Again, sorry for being blunt, but this caused me some headaches... Cheers, Stefan :-) -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140117/16c69d3e/attachment.html From jvanek at redhat.com Fri Jan 17 00:11:06 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 17 Jan 2014 09:11:06 +0100 Subject: Applet key thing, SOLVED. In-Reply-To: References: Message-ID: <52D8E59A.1050705@redhat.com> On 01/17/2014 06:33 AM, Stefan Reich wrote: > OK, finally I got it working... > > I had to remove all the AWT components, just keep the applet and handle paint() myself. > > Weird, but OK. It works and I don't need any AWT anymore anyway, ha. We'll build a GUI universe with > Lua pixels. :-) > > Some mixed feelings remain about IcedTea. I mean, it's good that it exists, we need applets on > Linux. Just it could be more stable or something I guess. I mean, where is the problem located? Is > it more in Firefox or more in IcedTea? I'm asking bluntly here. Java is a VERY stable platform, so > it's weird to see a Java plugin crash or go crazy like that. Because the Java VM doesn't do that. > > Again, sorry for being blunt, but this caused me some headaches... > > Cheers, > Stefan :-) Happy to se it work! J. From jvanek at redhat.com Fri Jan 17 02:35:24 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 17 Jan 2014 11:35:24 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D81808.70308@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> Message-ID: <52D9076C.9000800@redhat.com> snip >>> >>> Okay, the "couldNotOpenFileDialog" is more informative about the specific reason that it's appearing >>> now, and I'm using a DirectoryValidator to check that we'll be able to make/edit a policy file. I've >>> also removed the requirement that the file be writeable - you're right, it does still make sense to >>> let the tool launch, even if the file is read-only. And it's policytool's responsibility to deal >>> with the problem if it turns out the file is read-only. Besides, I did label the button as "View >>> Policy", not "Edit Policy" ;) >> Please remove unnecessary html from: >> + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); > > The html tags are there to enable line wrapping in the JLabel. We do the same thing in the > AboutPanel, otherwise the label just shows one incredibly long line of text. We could also make it > into a JTextArea and enable line wrapping directly without using html tags, but then the text area > isn't going to actually look the same and it'll take extra work to make it fit in. > >> >> Also I would like two things here: >> - If file is not writeable, warn user and lunch policy tool anyway >> - otherwise show proper mesasge end do nothing as you do now. > > Great idea, done. > Ugh. It still do not work. In 000 or 222 permissions - the policy tool executed with "read only" message. It should not opena at all, and correct error message should apear (can not read) so - rw - no message, open policy toool - r- - read only warning, lucnh - -w or --, can not read/write, not luching >> >> Please rename button to: "view/edit by policy tool" - it is what is really does. > > Also done. > >> >>> >>>> few more nits: >>>> >>>> Now the polici file is visibl ein policy tool, in plolicy file in readonly textfield (I'm >>>> wondering why it was not visible before). Thats good, but I would like to see it in itw settings >>>> itself:( Please add similar readonly jtextfield to police settings pane. >>>> You can keep also current tool tip text;) >>> >>> I have done this, but it's kind of ugly looking. And I really don't know how to make things look >>> pretty. :) >> >> My suggesttion: >> >> ****text***t*t*t*t*t*t >> **text**t**tt*tt*t*t*t >> ****text***t*t*t*t*t*t >> **text**t**tt*tt*t*t*t >> [textfield with path] [button] >> >> What do you mean? >> >> I think that in future we may end up with something like >> >> ****text***t*t*t*t*t*t >> **text**t**tt*tt*t*t*t >> ****text***t*t*t*t*t*t >> **text**t**tt*tt*t*t*t >> [textfield with path to local file ] [simple edit button][policy tool button] >> [textfield with path to global file] [simple edit button][policy tool button] >> >> Maybe ot soon, nor ever. But stil it will be nicer :) And you will discover a bit of swing O:) > > I have no idea if what I've done is a good way to do this, but it seems to have worked and looks > reasonable... yes! Nice (IMO)! Tahnkx! > >> Unluckily I found one overlooked flaw - when policy tool is closed, it close ITW-settiings. It should not happen. If it will be to complex* to fix, then I'm for this fix as another changeset. (as I would really like this changeset (in simplest form) bubble to 1.4) * I'm afraid You will have to owerride something or modify it via reflection or use some another nasty ahck to fix it :( >>>> + private static File policy = new File(System.getProperty("user.home") + >>>> "/.config/icedtea-web/security/java.policy"), >>>> + policyBackup = new File(System.getProperty("user.home") + >>>> "/.config/icedtea-web/security/java.policy.bak"); >>>> >>>> nope - you have to use value from deployment configuration >>> >>> Yea, this was just carelessness :( wrote it as a quick hack and then forgot to go back and actually >>> fix it properly. Classic story, isn't it? >>> >>>> >>>> + if (policy.isFile()) { >>>> + if (policyBackup.exists()) { >>>> + throw new RuntimeException("Backup policy file already exists"); >>>> + } >>>> >>>> >>>> Instead of this (this can simple become blocker if tests are killed) I would recommand to use some >>>> random-suffixed.bak file. Of course feel free to throw out if backuping fail and log out worning >>>> if old backups exists. >>>> >>>> try { >>>> + out = new FileWriter(policy, false /*no append*/); >>>> + } catch (IOException e) { >>>> + throw new RuntimeException(e); >>>> + } >>>> +... and much similar >>>> >>>> Its not worthy to catch. Please let already thrown exception flow. Of course try to close in >>>> finally. (especially you will avoid try{}finally{try{}catch{}} nastyness. >>>> >>>> Both your testcases should share shared code (namely backupPolicy and restorePolicy ;) ) And also >>>> yor assersert* methods (just with negation ;) ) >>>> >>>> Otherwise the tests looks really good! >>>> >>> >>> Well, the reason I had the tests split into two testcases files like that was because one set of >> >> Oh I did not wont you to join files, nor reuse before/after method themselves. Just logic of them. >> I'm terribly sorry for not being clear! >> >> Please split the files again. They are compiled together, so they can reuse thirs package >> private/public methods or extends themselves. >> >> The previous before/after backup was nicer then current one. >> >> >> if (policy.isFile()) { >> + for (int i = 0; i < MAX_BACKUPS; ++i) { >> + if (!policyBackup.exists()) { >> + break; >> + } else { >> + policyBackup = getRandomizedBackup(); >> + } >> + } >> >> >> :DDD (sorry :) ) >> >> Please use File.createTmpfile(dir,pattern) instead :) >> It guarants you creation of the file, so you do not need to throw. > > I didn't do this in the attached new patches, because I'm not sure about it. This is going to create > temp files, eg in /tmp - do we really want to back up to here? If the power goes out during a test nope :) Se again: File.createTmpfile(dir,pattern). You can let it crate file in any dir - http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile%28java.lang.String,%20java.lang.String,%20java.io.File%29 Pls really use this instead of your schema. Also - I have just found : policyBackup.renameTo(..) policyBackup.delete() It jsut do not have much sense to rename and then delte.. ORr what have I missed? > run then you might just lose your user policy file entirely. The patch now does the backup simply by > renaming the policy file without moving it to any other directory, so that it should generally be > safe and remain recoverable even if the machine dies during the test (barring problems out of our > hands like filesystem corruption). The thrown exception is only there if we can't back up the policy > at all, probably because there are too many existing backups. Using File.createTempFile() would be > nice because it would simplify the backup/restore process but I don't really like the idea of > backing up policy files to non-persistent and possibly volatile storage... but maybe I'm worrying > too much about this. > Otherwise I agree with your statement. The security dir is where it shold be. >> J. From ELefeber at trustwave.com Fri Jan 17 03:35:29 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Fri, 17 Jan 2014 11:35:29 +0000 Subject: IcedTea-web: Memory leak - java side In-Reply-To: References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> <20140116215514.GP9207@redhat.com>, Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE9346@SKYMB1.trustwave.com> Are all those patches in version 1.4? Are there any more patches that haven't been released yet and I can install? ________________________________________ From: Adam Domurad [domuradical at gmail.com] Sent: Friday, January 17, 2014 12:17 AM To: Deepak Bhole Cc: Jiri Vanek; Efrat Lefeber; distro-pkg-dev at openjdk.java.net; Andrew Azores Subject: Re: IcedTea-web: Memory leak - java side On Thu, Jan 16, 2014 at 4:55 PM, Deepak Bhole > wrote: * Jiri Vanek > [2014-01-16 08:32]: > On 01/16/2014 10:16 AM, Efrat Lefeber wrote: > > [...] > >I know some objects are kept around to make subsequent startups faster. > >But PluginAppletViewer does not sound like something that belongs on that list. > > > >Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. > > Did he? [...] There was one where he mentioned the Java side, I think it was the same one that did lazy initialization of objects on Java side. Deepak The OOM problem when reloading pages was quite apparent, and I did have some patches with incremental memory freeing, I don't think I ever fully solved the problem. But there were a lot of patches that touched these things, the classes are all a blurred concept of PluginAppletFooClassThings to me right now without some fresher unfortunately :-). Cheers, -Adam ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. From ptisnovs at icedtea.classpath.org Fri Jan 17 04:06:36 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 17 Jan 2014 12:06:36 +0000 Subject: /hg/gfx-test: Six new test added to the test suite CAGOperations... Message-ID: changeset c9406ec8b549 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=c9406ec8b549 author: Pavel Tisnovsky date: Fri Jan 17 13:10:50 2014 +0100 Six new test added to the test suite CAGOperationsOnRoundRectangleAndRectangle. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java | 142 ++++++++++ 2 files changed, 147 insertions(+), 0 deletions(-) diffs (164 lines): diff -r 23845c2f1cbc -r c9406ec8b549 ChangeLog --- a/ChangeLog Thu Jan 16 10:03:33 2014 +0100 +++ b/ChangeLog Fri Jan 17 13:10:50 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-17 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: + Six new test added to the test suite CAGOperationsOnRoundRectangleAndRectangle. + 2014-01-16 Pavel Tisnovsky * src/org/gfxtest/framework/CommonCAGOperations.java: diff -r 23845c2f1cbc -r c9406ec8b549 src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Thu Jan 16 10:03:33 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Fri Jan 17 13:10:50 2014 +0100 @@ -102,6 +102,148 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using exclusive or operator. The shape is + * rendered using stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Fri Jan 17 04:08:35 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 17 Jan 2014 12:08:35 +0000 Subject: /hg/rhino-tests: Added new test cases into the test testAsSubclass. Message-ID: changeset 99f05286b20a in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=99f05286b20a author: Pavel Tisnovsky date: Fri Jan 17 13:12:51 2014 +0100 Added new test cases into the test testAsSubclass. diffstat: ChangeLog | 5 + src/org/RhinoTests/AbstractScriptEngineClassTest.java | 72 +++++++++++++++++++ 2 files changed, 77 insertions(+), 0 deletions(-) diffs (129 lines): diff -r 01e66e349104 -r 99f05286b20a ChangeLog --- a/ChangeLog Thu Jan 16 10:11:35 2014 +0100 +++ b/ChangeLog Fri Jan 17 13:12:51 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-17 Pavel Tisnovsky + + * src/org/RhinoTests/AbstractScriptEngineClassTest.java: + Added new test cases into the test testAsSubclass. + 2014-01-16 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r 01e66e349104 -r 99f05286b20a src/org/RhinoTests/AbstractScriptEngineClassTest.java --- a/src/org/RhinoTests/AbstractScriptEngineClassTest.java Thu Jan 16 10:11:35 2014 +0100 +++ b/src/org/RhinoTests/AbstractScriptEngineClassTest.java Fri Jan 17 13:12:51 2014 +0100 @@ -1788,6 +1788,14 @@ } try { + this.abstractScriptEngineClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1844,6 +1852,14 @@ } try { + this.abstractScriptEngineClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1852,6 +1868,14 @@ } try { + this.abstractScriptEngineClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1860,6 +1884,22 @@ } try { + this.abstractScriptEngineClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.cast(new java.io.File("xyzzy")); + throw new AssertionError("Class.cast(new java.io.File(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1908,6 +1948,30 @@ } try { + this.abstractScriptEngineClass.cast(new java.awt.Label()); + throw new AssertionError("Class.cast(new java.awt.Label()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.cast(new java.awt.Label(new String())); + throw new AssertionError("Class.cast(new java.awt.Label(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.abstractScriptEngineClass.cast(new java.awt.Label("xyzzy")); + throw new AssertionError("Class.cast(new java.awt.Label(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1924,6 +1988,14 @@ } try { + this.abstractScriptEngineClass.cast(new javax.swing.JLabel("xyzzy")); + throw new AssertionError("Class.cast(new javax.swing.JLabel(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.abstractScriptEngineClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From gitne at gmx.de Fri Jan 17 04:22:39 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 17 Jan 2014 13:22:39 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D9076C.9000800@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> Message-ID: <52D9208F.50906@gmx.de> On 01/17/2014 11:35 AM, Jiri Vanek wrote: >> [...] >>> Please use File.createTmpfile(dir,pattern) instead :) >>> It guarants you creation of the file, so you do not need to throw. >> >> I didn't do this in the attached new patches, because I'm not sure about it. >> This is going to create >> temp files, eg in /tmp - do we really want to back up to here? If the power >> goes out during a test > nope :) > > Se again: File.createTmpfile(dir,pattern). You can let it crate file in any > dir - > http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile%28java.lang.String,%20java.lang.String,%20java.io.File%29 > > > Pls really use this instead of your schema. > > > Also - I have just found : > policyBackup.renameTo(..) > policyBackup.delete() > > It jsut do not have much sense to rename and then delte.. ORr what have I missed? Plus, we have also covered this with that DirectoryValidator patch, as far as I recall. Some operating systems or file systems do not allow overwrite on rename, so you have to go for the atomic steps algorithm: delete backup -> copy current to backup name -> save or overwrite current from memory to disk Jacob From jvanek at redhat.com Fri Jan 17 06:06:42 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 17 Jan 2014 15:06:42 +0100 Subject: [rfc][icedtea-web] rewert of changset 757 "Simplify IcedTeaScriptableJavaObject" In-Reply-To: <52D80B6C.3000103@redhat.com> References: <52D55C62.30100@redhat.com> <52D80B6C.3000103@redhat.com> Message-ID: <52D938F2.7060705@redhat.com> On 01/16/2014 05:40 PM, Andrew Azores wrote: > On 01/14/2014 10:48 AM, Jiri Vanek wrote: >> Unluckily the regressions caused by (otherwise good) >> http://icedtea.classpath.org/hg/icedtea-web/rev/ee92f55c69a3 >> >> +2013-06-21 Adam Domurad >> + >> + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Simplify >> + IcedTeaScriptableJavaObject >> + * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same >> >> were never successfully fixed, and I gave up on it :( >> >> This is revert of patch in tip. Please note, that this is *manual* revert of patch. >> When I did it , i was just 50% sure what I done. But the result of selected set of reproducers >> have persuaded me that I did it correctly. (three "r" attachments) >> >> So (any) reviwer, please (and sorry!), be double careful!-) >> >> J. > > Well, the patch generally looks okay, and your results are convincing. There seems to be no affect > for me running the tests in Firefox, but at least reverting the changes hasn't made anything worse > as far as I can tell. There is this that I pointed out over IRC and will repeat here though: > > // If object is an array and requested "method" may be a number, check for it first > - if ( scriptable_object->is_object_array || > + if ( !((IcedTeaScriptableJavaObject*) npobj)->isArray() || > (browser_functions.intfromidentifier(name_id) < 0)) > > it seems to me like the value of this condition has changed. But, you are restoring it back to how > it used to be, so perhaps this is actually what the regression was in the first place. Like I said, > it seems to make no difference in my testing, but perhaps it would be worth it if you checked the > results of removing the negation in the condition as well. Most of the rest of the patch seems to be > simple refactoring but this appears to actually change some behaviour. > > Thanks, > Well looks like you nailed it. The minor one line fix looks like it have fixed the issue. Feel free to push. J. ps: // If object is an array and requested "method" may be a number, check for it first - if ( scriptable_object->is_object_array || + if ( !scriptable_object->is_object_array || (browser_functions.intfromidentifier(name_id) < 0)) { ook? -------------- next part -------------- Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_double_Test - epiphany FAILED: AppletJSToJFuncParam_StringIntMixed_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_StringIntMixed_Test - opera FAILED: AppletJSToJFuncParam_StringIntMixed_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_StringIntMixed_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: StringIntMixedParam [test, 123], but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_booleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_booleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: booleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Byte_Test - opera FAILED: AppletJSToJFuncParam_Byte_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_Byte_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: ByteParam 10, but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_charArray_Test - opera FAILED: AppletJSToJFuncParam_charArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_charArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: charArrayParam [a, b, c], but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_BooleanFalseStr_Test - opera FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. FAILED: AppletJSToJFuncParam_BooleanFalseStr_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: BooleanParam true, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_long_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_float_Test - epiphany FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_DummyObjectArray_Test - opera FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. FAILED: AppletJSToJFuncParam_DummyObjectArray_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: DummyObjectArrayParam [Dummy1, Dummy2], but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Character_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Double_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_String_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - opera to Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - midori be Passed: JSToJFuncParamTest.AppletJSToJFuncParam_char_Test - epiphany FAILED: AppletJSToJFuncParam_Long_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Long_Test - opera FAILED: AppletJSToJFuncParam_Long_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. FAILED: AppletJSToJFuncParam_Long_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: LongParam 10000, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Float_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Float_Test - opera FAILED: AppletJSToJFuncParam_Float_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. FAILED: AppletJSToJFuncParam_Float_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: FloatParam 1.1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_byte_Test - epiphany Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Boolean_Test - epiphany FAILED: AppletJSToJFuncParam_Integer_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_Integer_Test - opera FAILED: AppletJSToJFuncParam_Integer_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. FAILED: AppletJSToJFuncParam_Integer_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: IntegerParam 1, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - chromium-browser Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - opera Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - midori Passed: JSToJFuncParamTest.AppletJSToJFuncParam_int_Test - epiphany FAILED: AppletJSToJFuncParam_JSObject_Test - chromium-browser(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Passed: JSToJFuncParamTest.AppletJSToJFuncParam_JSObject_Test - opera FAILED: AppletJSToJFuncParam_JSObject_Test - midori(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. FAILED: AppletJSToJFuncParam_JSObject_Test - epiphany(JSToJFuncParamTest) JSToJFuncParam: the output should include: JSObjectParam 100, red, but it didnt. Total tests run: 84; From those : 0 known to fail Test known to fail: passed: 0; failed: 0; ignored: 0 Test results: passed: 54; failed: 30; ignored: 0 From jvanek at redhat.com Fri Jan 17 06:31:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 17 Jan 2014 15:31:29 +0100 Subject: IcedTea-web: Memory leak - java side In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DE9346@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DE8DFF@SKYMB1.trustwave.com> <20140115210638.GB5107@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DE9041@SKYMB1.trustwave.com> <52D7DF54.80708@redhat.com> <20140116215514.GP9207@redhat.com>, <8823656A11DC6F49A9AA74FC990659F519DE9346@SKYMB1.trustwave.com> Message-ID: <52D93EC1.7040905@redhat.com> On 01/17/2014 12:35 PM, Efrat Lefeber wrote: > Are all those patches in version 1.4? Are there any more patches I'm afraid many of them. But Also I'm afrid in-java-memory leak was never fully addressed (see Adam's answer) even in head. > that haven't been released yet and I can install? You can only do your custom build from http://icedtea.classpath.org/hg/icedtea-web and follow http://icedtea.classpath.org/wiki/IcedTea-Web > ________________________________________ > From: Adam Domurad [domuradical at gmail.com] > Sent: Friday, January 17, 2014 12:17 AM > To: Deepak Bhole > Cc: Jiri Vanek; Efrat Lefeber; distro-pkg-dev at openjdk.java.net; Andrew Azores > Subject: Re: IcedTea-web: Memory leak - java side > > On Thu, Jan 16, 2014 at 4:55 PM, Deepak Bhole > wrote: > * Jiri Vanek > [2014-01-16 08:32]: >> On 01/16/2014 10:16 AM, Efrat Lefeber wrote: >>> [...] >>> I know some objects are kept around to make subsequent startups faster. >>> But PluginAppletViewer does not sound like something that belongs on that list. >>> >>> Adam (Domurad) had proposed a patch to clean memory as much as possible but I think at one point it had to be reverted. >> >> Did he? > > [...] > > There was one where he mentioned the Java side, I think it was the same > one that did lazy initialization of objects on Java side. > > Deepak > > The OOM problem when reloading pages was quite apparent, and I did have some patches with incremental memory freeing, I don't think I ever fully solved the problem. But there were a lot of patches that touched these things, the classes are all a blurred concept of PluginAppletFooClassThings to me right now without some fresher unfortunately :-). > > Cheers, > -Adam > > ________________________________ > > This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. > From ptisnovs at redhat.com Fri Jan 17 06:49:39 2014 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 17 Jan 2014 09:49:39 -0500 (EST) Subject: [rfc][icedtea-web] added support for linux system logging In-Reply-To: <52CA7472.2050004@redhat.com> References: <52C6AC3B.8060309@redhat.com> <401864682.10766601.1388782144528.JavaMail.root@redhat.com> <52CA7472.2050004@redhat.com> Message-ID: <1517237854.3481076.1389970179219.JavaMail.root@redhat.com> Hi Jiri, this change looks correct, ok to push it to the head. Thank you, Pavel ----- Jiri Vanek wrote: > On 01/03/2014 09:49 PM, Andrew Azores wrote: > > In IcedTeaPluginUtils.h, you have a string constant in a syslog call that references "itweb-config". Is this meant to be itweb-settings? > > Tahnx for check. This was included also in UnixSystemLog.java - fixed. > > > > IcedTeaPluginUtilsTest.cc - your new lines seem to be using 4x spaces as indentation whereas the existing lines are using tabs. > > I would not call it so strict, but yes. You are starting to have sharp eye;) - fixed > > > > 'man logger' also says that the 'error' level is a deprecated synonym for 'err', so perhaps the UnixSystemLog should be passing 'user.err' to the ProcessBuilder instead. > > hmhmh, ok - fixed > > > > Is the Process#waitFor() call here also needed? It's a rudimentary way to ensure that if UnixSystemLog#log() is called several times in succession that the logs always are written to disk in the order the calls occur, but do we really need this logging to be synchronous like this? I'm not opposed to it, just wondering if it's considered necessary. > > I see it differently. The waitFor is waiting for process logger to finish. When logger process > finish, then it mean that the data were just send to logger daemon. Not written to disk or somehow > other way processed by daemon. So my "synchronization" is just ensuring sync on itw side, not in > global logging itself. (by otherwords, lines are mixed only with messages from different processes, > not from itw itself. Without waitFor individual lines of stack trace may land in wrong order. > > If the logger process is waiting with successful exit untill dameon not only recieve message, but > also untill it is proccessed, then this approach must be revisited. > > > > > Finally, is there no library at all we can use for this rather than using ProcessBuilder? I mean, this /works/, but it feels kind of hacky to have to do it this way. > > Nope. It took me a long time to say final word here. And I could not believe it myself too. Few > logging libraries have the support for linux logging. But always those are BIG dependencies much > bigger then ITW itself. And the reputation of theirs linux logging backend were everything but not > good. "this is not working, this is not implemented" .... > > If you have any possible replacement, feel free to scratch my approach!!! > > > Although I consider it on one one hand hackish too, on second hand I consider it as cleanest > approach at all :) > > > > Thanks, > > Andrew A > > I have also changed PluginDebug to MESSADE_DEBUG it have much more sense. It is no error, just info > (/me jsut hope some tests do not depend on it) > > Thanx for double eye! > > > > ----- Original Message ----- > > From: "Jiri Vanek" > > To: "IcedTea Distro List" > > Sent: Friday, January 3, 2014 7:25:31 AM > > Subject: [rfc][icedtea-web] added support for linux system logging > > > > I was long time thinking how to integrate this feature. > > - it is platform specific > > - java on its own have poor support for linux logging > > - stdout/err is logged into /var/log/messages via /etc/gdm/Xsession on SOME machines > > > > At the end I bet to new java console as main source of debug information for developers, and let the > > syslog sleep for a while. > > Finally I decided to add it - to syslog only most important error messages are incoming - mostly > > fatal one, and information how to find more information is included. Also they are going here in > > both terminal and gdm/Xsession run. It means that in gdm/Xsession the critical error is duplicated > > but the manual one is better formatted,and contains the url to fill the bug. And terminal or systems > > without gdm (or similar) are not lacking this output. > > > > C part was pretty straightforward via syslog(3), but java part ? At the end i picked up most simple > > solution forking new *logger* process on each line of multi-line message. As the system logger is > > from java side called only once per run, then the performance impact should be none. > > > > > > http://icedtea.classpath.org/wiki/IcedTea-Web#Filing_bugs will need to be updated accordingly > > - mention itw*settings role > > - mention individual settings ^ > > - mention usefulness of logs from console/stouts .... > > - mention linux system log > > - mention irc/mailing list/ bugzilla > > > > Looking forward to have this in! > > J. > > > From ptisnovs at redhat.com Fri Jan 17 06:59:20 2014 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 17 Jan 2014 09:59:20 -0500 (EST) Subject: [rfc][icedtea-web] splashscreen christmas extension In-Reply-To: <52B18A7E.5090909@redhat.com> References: <52B18A7E.5090909@redhat.com> Message-ID: <1940733400.3485717.1389970760870.JavaMail.root@redhat.com> Hi Jiri, this change looks correct (but review is a bit late ;) ok for head. Just few minor fixes are needed: + private static final int avarage_star_width = 10; //stars will be 5-15 + private final int avarage_fall_speed = 4; //2-6 + private final int avarage_rotation_speed = 2; //1-3 you'd need to call: sed -i 's/avarage/average/g' ChristmasExtension.java + Copyright (C) 2012 Red Hat, Inc. ^^^ should be updated, at last! :) Cheers, Pavel ----- Jiri Vanek wrote: > hi! > > As some of you may noted, I made and christmas release of icedtea web for fedora with (similar as) > attached patch (nothing more). I know I have break a rules a bit, but the code is moreover harmless, > and is changing splashscreen for last 14days of an Gregorian calendar's year. > > The attached patch is a bit more generalised. The included interface and manager have no ambitions > to be perfect and are moreover single purposed until some another extension come. > > Sorry for this surprise, and hope it will be more welcomed then not-wonted > > J. From emailgrant at gmail.com Fri Jan 17 07:00:26 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 17 Jan 2014 07:00:26 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <1039993599.2653335.1389891774074.JavaMail.root@redhat.com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> <1039993599.2653335.1389891774074.JavaMail.root@redhat.com> Message-ID: >> >>> Hi Andrew, can you point me in the right direction with this? Here >> >>> are a couple errors I'm getting depending on compile options and >> >>> bootstrap VM: >> >>> >> >>> http://pastebin.com/VV3rMezP >> >>> http://pastebin.com/ThjufjyH >> >> >> >> This may be the bug that Chris Philips is working on. >> >> >> >> Chris? >> >> >> >> Andrew. >> >> >> > Neither of these look familiar (though I recollect some issues in the >> > cryptocheck >> > for other archs so it may be a generic failure...). >> > I am planning update the it7-head forest with latest arm32 stuff in near >> > future so it >> > might be better to await that event. (Near future ~ a week +/- ). >> > >> > Chris >> >> OK good plan. Two questions: >> >> What can I check to see if it7-head has been updated? >> >> Is there an older version of it7 I might want to try in the meantime? >> >> Thanks, >> Grant >> > > It would really help if you could provide the config.log from your build so > we know what you're building. At the moment, it seems people are just making > best guesses. > > IcedTea 7 HEAD & 2.4 both have the fix, but the former won't have the latest > security updates yet. I'll be updating java-overlay in Gentoo with ebuilds > for the new releases once they're finalised. > -- > Andrew :) I've attached the config.log for the most "default" config on my Gentoo system. - Grant -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: text/x-log Size: 78479 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140117/cfa30b16/config-0001.log From aazores at redhat.com Fri Jan 17 07:03:03 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 17 Jan 2014 10:03:03 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D860B8.5050002@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <20140114181542.GT23063@redhat.com> <52D69AAB.50500@redhat.com> <20140115210835.GC5107@redhat.com> <52D70CFF.8020400@redhat.com> <52D7EF18.5090400@redhat.com> <52D7F3AA.40507@redhat.com> <52D7F4B9.3080608@redhat.com> <52D7F725.6090707@redhat.com> <52D860B8.5050002@gmx.de> Message-ID: <52D94627.4000602@redhat.com> On 01/16/2014 05:44 PM, Jacob Wisor wrote: > On 01/16/2014 04:13 PM, Andrew Azores wrote: >> On 01/16/2014 10:03 AM, Jiri Vanek wrote: >>> On 01/16/2014 03:58 PM, Andrew Azores wrote: >>>>>> permissions to the policy, eg "Allow reading user details" would >>>>>> entail >>>>>> granting read permission on >>>>>> the user.name and probably user.home together. Or really, I >>>>>> imagine a user >>>>>> that is both advanced >>>>>> enough to care about making a custom policy AND needs more >>>>>> control than the >>>>>> coarse-grained >>>>>> checkboxes is probably advanced enough to deal with the existing >>>>>> policytool. So we can just leave >>>>>> out the Advanced-type settings from the new editor and let those >>>>>> users deal >>>>>> with using the existing >>>>>> policytool if they need it. Maybe PolicyPanel could be modified >>>>>> further to >>>>>> allow users to choose >>>>>> which editor to launch with an "advanced" checkbox or similar. >>>>>> >>>>> >>> This remianed me: >>> >>> You are planing to have "run in 'advacned' sandbox" button next to >>> run i >>> sandbox, which will allow to set permissions before (and for) actual >>> run (with >>> possibility of save eg?) Or did I just imagined it from nothing?!?!? >>> >> >> Woah, what? This is not what I meant at all :) The dialogs shown at >> applet run >> time will just have "Ok/Proceed", "Sandbox" (or "Restricted" or >> whatever), and >> "Cancel". Sandbox/Restricted will run the applet with reduced >> permissions, >> meaning the Sandbox permission set, union the permission set defined >> in the user >> policy file (as well as system policy file). The Advanced button was >> just going >> to be either in itweb-settings control panel or in the "mini editor" >> itself and >> provide a way to either simply show more policy options or to launch JDK >> policytool, to give power users more control over the policy they are >> editing. I >> definitely am not planning to have two different types of Sandbox >> button. >> >> It is an interesting idea though to have the dialog present a button >> for policy >> editing. This would make it very easy for users to find the correct >> codebase for >> an applet, since we could fill it in for them already. I'm not sure >> if adding >> yet another button would be very good visually though - it might be >> too much >> going on on one dialog and become confusing. Or, rather than adding a >> way to >> launch the policy editor here during run time (which sounds a little >> unsafe to >> me), we could simply add a button to the dialog somewhere to copy the >> applet >> codebase to the clipboard. Then the user can cancel or sandbox, then >> later open >> the editor and paste the codebase? Hmm. > > After reading all of that discussion, I am beginning to believe that > everything comes down again to that major usability design flaw of > J2SE permissions framework. > Providing the user with an option of three or four security levels or > containment boxes (or sandboxs - whatever you call it) to achieve more > security and safety for the broadest user base is probably a futile > attempt. Most users, and especially those least technically versed > will simply click or choose what makes an application work for them, > regardless of the security risks involved. Simply because they are not > interested in security or sandbox concepts. They are interested in > completing their task with the help of an application at hand: And > heck, if it means that the easiest way to get that damn thing of > computer running for me is to give the app AllPermissions, before my > boss comes in on me and asks me to stop playing with the buttons and > to get back doing my job, then that's exactly what I am going to do. ;-) > We're giving the user two levels - full and restricted. By default, restricted is fully sandboxed permissions. You can add permissions to this level on a per-applet basis, but if you do this, then the only way to return to fully sandboxed permissions for this applet is to simply remove the extras you've granted. There are no "three or four security levels". Conceptually, it is a map from apps to sets of permissions, and the value assigned to each new key is either "fully sandboxed" or "all permissions", depending on applet signing (and the "Run in Sandbox" button being discussed in another thread as well as mentioned at the bottom of this mail). This patch allows you to add permissions into these sets. If you are a user like this who doesn't care about the security implications of granting AllPermission and simply want to get the job done, then you just never play with custom policies and the "Run in Sandbox" button, and continue running will full permissions as you have all along. > The reason why Android's security model works for the broadest user > audience /relatively/ well, is because it is actually on developers of > every single application to request permissions or access to specific > resources before run time. J2SE imposes no such requirement on > developers, nor does it specify a protocol on *how* users or admins > should negotiate, grant, and deny permissions for a specific > application. And, this is exactly what J2SE's security model is > lacking: A permissions *negotiation* protocol. So, even if a user, a > power user, or an admin is confronted with or offered a more or less > detailed permission settings dialog, he/she still does not know what a > safe setting (policy) for that particular application looks like. > Unless of course, the user is provided with an exact documentation of > that particular application's security sensitive operations and thus > required permissions to operate properly. And, as we all know this is > most often not the case. :-/ I don't see how this means we shouldn't give the ability. Yes, it would certainly be more useful if there was an established negotiation protocol, but I still think offering power users the choice to do this is better than not offering it and forcing them to grant AllPermission to any app that asks for it, if they want to run the app at all. Without the app developers explicitly telling you what permissions you need then it certainly will be a tedious trial and error process, but the important thing is that we make it possible. Would it be preferable if we had a better security model to build off of? Certainly. But let's try to do what we can with the existing security model before going and trying to redesign the language. > > So, I would like to ask you, Andrew and Jiri especially, to think > again about what you are actually trying to achieve with this. Well, > for me it is a design flaw of J2SE so that there is a better place to > address this than the IcedTea-Web Settings panel. Or perhaps I should > rather say that this matter has to be addressed on a much deeper level > than an applet launcher UI. > This being said, have you thought of perhaps implementing a Windows > UAC or sudo/polkit like approach? Asking the user for a one time > permission only (with an option to store this permission with the > current parameter set) when it is actually required at run time may > solve the problem (without having to fix J2SE's security model). I am > well aware that this isn't the best way to implement a user friendly > security model but firstly, you do not have the risk of users > abundantly granting AllPermissions just because its easier and > secondly, you have a complete sandbox by default (no permissions at > all). What do you think? > > Jacob Yes, the security dialog prompts do exactly this - more along the lines of UAC than sudo/polkit visually (since there is no password prompt involved). You can run the applet and trust it this time only, or you can run the applet and trust it permanently, or you can simply not run the applet. If you choose to run the app at all, it is already granted AllPermission, so I don't see what the issue is here in regards to the patch at hand. The concept of adding a choice here to run the applet this time only in a sandboxed environment is currently being discussed in another thread on this mailing list. That patch adds a button to the prompt that appears before running a signed app which allows the user to choose to run the app with sandbox permissions rather than granting it all permissions. With a properly constructed custom policy in place however, "sandbox" becomes "restricted" as I outlined earlier - it is a safe sandbox, *plus* a set of user-defined additional permissions. This is exactly why I want to have both of these patches go in together - on their own, each is not of very much use. Together, they are quite powerful. Thanks, -- Andrew A From aazores at redhat.com Fri Jan 17 08:07:15 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 17 Jan 2014 11:07:15 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D9076C.9000800@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> Message-ID: <52D95533.1030604@redhat.com> On 01/17/2014 05:35 AM, Jiri Vanek wrote: > snip >> > > Ugh. It still do not work. > > In 000 or 222 permissions - the policy tool executed with "read > only" message. It should not opena at all, and correct error message > should apear (can not read) > > so - rw - no message, open policy toool > - r- - read only warning, lucnh > - -w or --, can not read/write, not luching > Apparently I had some difficulties with basic logic yesterday :D > > Unluckily I found one overlooked flaw - when policy tool is closed, it > close ITW-settiings. It should not happen. > > If it will be to complex* to fix, then I'm for this fix as another > changeset. (as I would really like this changeset (in simplest form) > bubble to 1.4) > > > * I'm afraid You will have to owerride something or modify it via > reflection or use some another nasty ahck to fix it :( This is why I was launching PolicyTool in a new process in the first place, actually. In all its wisdom, PolicyTool exits the JVM when its window closes. > >>> >>> Please use File.createTmpfile(dir,pattern) instead :) >>> It guarants you creation of the file, so you do not need to throw. >> >> I didn't do this in the attached new patches, because I'm not sure >> about it. This is going to create >> temp files, eg in /tmp - do we really want to back up to here? If the >> power goes out during a test > nope :) > > Se again: File.createTmpfile(dir,pattern). You can let it crate file > in any dir - > http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile%28java.lang.String,%20java.lang.String,%20java.io.File%29 > > Pls really use this instead of your schema. Okay, okay, you win. :) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custom_policy6.patch Type: text/x-patch Size: 13898 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140117/d76f6e2c/custom_policy6-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: reproducers4.patch Type: text/x-patch Size: 19589 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140117/d76f6e2c/reproducers4-0001.patch From aazores at icedtea.classpath.org Fri Jan 17 08:37:27 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 17 Jan 2014 16:37:27 +0000 Subject: /hg/icedtea-web: Fix liveconnect regression from commit ee92f55c... Message-ID: changeset 7d81c9104471 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7d81c9104471 author: Andrew Azores date: Fri Jan 17 11:36:22 2014 -0500 Fix liveconnect regression from commit ee92f55c69a3 http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: (hasMethod) fixed regression from rev 757:ee92f55c69a3 diffstat: ChangeLog | 7 +++++++ plugin/icedteanp/IcedTeaScriptablePluginObject.cc | 2 +- 2 files changed, 8 insertions(+), 1 deletions(-) diffs (26 lines): diff -r acbfbaefe7aa -r 7d81c9104471 ChangeLog --- a/ChangeLog Thu Jan 16 16:21:55 2014 +0100 +++ b/ChangeLog Fri Jan 17 11:36:22 2014 -0500 @@ -1,3 +1,10 @@ +2014-01-17 Andrew Azores + + Fixes JS reproducer regression. + http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025764.html + * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: (hasMethod) fixed + regression from rev 757:ee92f55c69a3 + 2014-01-16 Jiri Vanek Reproducers stabilization by removing check for not presented general Exception diff -r acbfbaefe7aa -r 7d81c9104471 plugin/icedteanp/IcedTeaScriptablePluginObject.cc --- a/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Thu Jan 16 16:21:55 2014 +0100 +++ b/plugin/icedteanp/IcedTeaScriptablePluginObject.cc Fri Jan 17 11:36:22 2014 -0500 @@ -474,7 +474,7 @@ bool hasMethod = false; // If object is an array and requested "method" may be a number, check for it first - if ( scriptable_object->is_object_array || + if ( !scriptable_object->is_object_array || (browser_functions.intfromidentifier(name_id) < 0)) { From jvanek at redhat.com Fri Jan 17 08:52:07 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 17 Jan 2014 17:52:07 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D95533.1030604@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> Message-ID: <52D95FB7.2020709@redhat.com> On 01/17/2014 05:07 PM, Andrew Azores wrote: > On 01/17/2014 05:35 AM, Jiri Vanek wrote: >> snip >>> >> >> Ugh. It still do not work. >> >> In 000 or 222 permissions - the policy tool executed with "read only" message. It should not >> opena at all, and correct error message should apear (can not read) >> >> so - rw - no message, open policy toool >> - r- - read only warning, lucnh >> - -w or --, can not read/write, not luching >> > > Apparently I had some difficulties with basic logic yesterday :D > >> >> Unluckily I found one overlooked flaw - when policy tool is closed, it close ITW-settiings. It >> should not happen. >> >> If it will be to complex* to fix, then I'm for this fix as another changeset. (as I would really >> like this changeset (in simplest form) bubble to 1.4) >> >> >> * I'm afraid You will have to owerride something or modify it via reflection or use some another >> nasty ahck to fix it :( > > This is why I was launching PolicyTool in a new process in the first place, actually. In all its > wisdom, PolicyTool exits the JVM when its window closes. It should not be so hard - By refelction get 'tw' field, and remove the only (nasty words) WindowListener it have - the one responsible for system.exit and nothing else:-/ Unluckily, this listener is added in PolicyTool.main in tw.displayToolWindow(args); So you have to work on it a bit more. But again, nothing hard, and no copy pasting;) Not sure if we will backport this, but probably yes.. Depends on final compelxiity. >> >>>> >>>> Please use File.createTmpfile(dir,pattern) instead :) >>>> It guarants you creation of the file, so you do not need to throw. >>> >>> I didn't do this in the attached new patches, because I'm not sure about it. This is going to create >>> temp files, eg in /tmp - do we really want to back up to here? If the power goes out during a test >> nope :) >> >> Se again: File.createTmpfile(dir,pattern). You can let it crate file in any dir - >> http://docs.oracle.com/javase/7/docs/api/java/io/File.html#createTempFile%28java.lang.String,%20java.lang.String,%20java.io.File%29 >> >> >> Pls really use this instead of your schema. > > Okay, okay, you win. :) > > Thanks, > ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. Also please fix the closing of window asap (as new chngeset) Good work! J. From aazores at icedtea.classpath.org Fri Jan 17 10:44:30 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 17 Jan 2014 18:44:30 +0000 Subject: /hg/icedtea-web: Added PolicyPanel to itweb-settings for custom ... Message-ID: changeset 63f174527534 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=63f174527534 author: Andrew Azores date: Fri Jan 17 13:43:09 2014 -0500 Added PolicyPanel to itweb-settings for custom policies Added itweb-settings panel to explain custom policy files and allow launching a policy editor for user's policy file. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (createMainSettingsPanel, createPolicySettingsPanel) added PolicyPanel * netx/net/sourceforge/jnlp/resources/Messages.properties: new messages for PolicyPanel * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: new panel to allow launching of external policy editor * tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html: new test to ensure custom user policy files work correctly * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesJnlpHref.html * tests/reproducers/simple/CustomPolicies/srcs/CustomPolicies.java * tests/reproducers/simple/CustomPolicies/testcases/CustomPoliciesTest.java diffstat: ChangeLog | 18 + netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 7 +- netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java | 239 ++++++++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 10 + tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html | 48 ++ tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp | 53 ++ tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp | 53 ++ tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesJnlpHref.html | 45 + tests/reproducers/simple/CustomPolicies/srcs/CustomPolicies.java | 23 + tests/reproducers/simple/CustomPolicies/testcases/CustomPoliciesTest.java | 227 +++++++++ 10 files changed, 722 insertions(+), 1 deletions(-) diffs (truncated from 820 to 500 lines): diff -r 7d81c9104471 -r 63f174527534 ChangeLog --- a/ChangeLog Fri Jan 17 11:36:22 2014 -0500 +++ b/ChangeLog Fri Jan 17 13:43:09 2014 -0500 @@ -1,3 +1,21 @@ +2014-01-17 Andrew Azores + + Added itweb-settings panel to explain custom policy files and allow + launching a policy editor for user's policy file. + * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: + (createMainSettingsPanel, createPolicySettingsPanel) added PolicyPanel + * netx/net/sourceforge/jnlp/resources/Messages.properties: new messages + for PolicyPanel + * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: new panel to + allow launching of external policy editor + * tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html: + new test to ensure custom user policy files work correctly + * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp + * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp + * tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesJnlpHref.html + * tests/reproducers/simple/CustomPolicies/srcs/CustomPolicies.java + * tests/reproducers/simple/CustomPolicies/testcases/CustomPoliciesTest.java + 2014-01-17 Andrew Azores Fixes JS reproducer regression. diff -r 7d81c9104471 -r 63f174527534 netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java Fri Jan 17 11:36:22 2014 -0500 +++ b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java Fri Jan 17 13:43:09 2014 -0500 @@ -264,7 +264,8 @@ // new SettingsPanel(Translator.R("CPTabRuntimes"), createRuntimesSettingsPanel()), new SettingsPanel(Translator.R("CPTabSecurity"), createSecuritySettingsPanel()), //todo refactor to work with tmp file and apply as asu designed it - new SettingsPanel(Translator.R("APPEXTSECControlPanelExtendedAppletSecurityTitle"), new UnsignedAppletsTrustingListPanel(DeploymentConfiguration.getAppletTrustGlobalSettingsPath(),DeploymentConfiguration.getAppletTrustUserSettingsPath(), this.config) ) + new SettingsPanel(Translator.R("CPTabPolicy"), createPolicySettingsPanel()), + new SettingsPanel(Translator.R("APPEXTSECControlPanelExtendedAppletSecurityTitle"), new UnsignedAppletsTrustingListPanel(DeploymentConfiguration.getAppletTrustGlobalSettingsPath(), DeploymentConfiguration.getAppletTrustUserSettingsPath(), this.config)) }; // Add panels. @@ -357,6 +358,10 @@ return new SecuritySettingsPanel(this.config); } + private JPanel createPolicySettingsPanel() { + return new PolicyPanel(this, this.config); + } + private JPanel createJVMSettingsPanel() { return new JVMPanel(this.config); } diff -r 7d81c9104471 -r 63f174527534 netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Fri Jan 17 13:43:09 2014 -0500 @@ -0,0 +1,239 @@ +package net.sourceforge.jnlp.controlpanel; + +import static net.sourceforge.jnlp.runtime.Translator.R; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.Box; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.config.DirectoryValidator; +import net.sourceforge.jnlp.config.DirectoryValidator.DirectoryCheckResults; +import net.sourceforge.jnlp.util.FileUtils; +import net.sourceforge.jnlp.util.logging.OutputController; +import sun.security.tools.policytool.PolicyTool; + +public class PolicyPanel extends NamedBorderPanel { + + private enum OpenFileResult { + SUCCESS, FAILURE, CANT_CREATE, CANT_WRITE, NOT_FILE + } + + public PolicyPanel(final JFrame frame, final DeploymentConfiguration config) { + super(R("CPHeadPolicy"), new GridBagLayout()); + addComponents(frame, config); + } + + private void addComponents(final JFrame frame, final DeploymentConfiguration config) { + JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); + + final String fileUrlString = config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY); + JButton showUserPolicyButton = new JButton(R("CPButPolicy")); + showUserPolicyButton.addActionListener(new ViewPolicyButtonAction(frame, fileUrlString)); + + String pathPart = localFilePathFromUrlString(fileUrlString); + showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); + + JTextField locationField = new JTextField(pathPart); + locationField.setEditable(false); + + GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.gridx = 1; + c.gridy = 0; + c.weightx = 1; + add(aboutLabel, c); + + c.weighty = 0; + c.weightx = 0; + c.gridy++; + add(locationField, c); + + c.fill = GridBagConstraints.NONE; + c.gridx++; + add(showUserPolicyButton, c); + + /* Keep all the elements at the top of the panel (Extra padding) */ + c.fill = GridBagConstraints.BOTH; + Component filler1 = Box.createRigidArea(new Dimension(240, 1)); + Component filler2 = Box.createRigidArea(new Dimension(1, 1)); + c.gridx++; + add(filler1, c); + c.gridx--; + c.weighty = 1; + c.gridy++; + add(filler2, c); + } + + /** + * Launch the policytool for a specified file path + * @param filePath the policy file path to be opened with policytool + */ + private static void launchPolicyTool(final JFrame frame, final String filePath) { + try { + final File policyFile = new File(filePath).getCanonicalFile(); + OpenFileResult result = canOpenPolicyFile(policyFile); + if (result == OpenFileResult.SUCCESS) { + PolicyTool.main(new String[] { "-file", policyFile.getPath() }); + } else if (result == OpenFileResult.CANT_WRITE) { + showReadOnlyDialog(frame); + PolicyTool.main(new String[] { "-file", policyFile.getPath() }); + } else { + showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); + } + } catch (IOException e) { + OutputController.getLogger().log(e); + showCouldNotOpenFileDialog(frame, filePath); + } + } + + /** + * Verify that a given file object points to a real, accessible plain file. + * As a side effect, if the file is accessible but does not yet exist, it will be created + * as an empty plain file. + * @param policyFile the file to verify + * @throws IOException if the file is not accessible + */ + private static OpenFileResult canOpenPolicyFile(final File policyFile) { + DirectoryCheckResults dcr = testPolicyFileDirectory(policyFile); + if (dcr.getFailures() == 0) { + if (policyFile.isDirectory()) + return OpenFileResult.NOT_FILE; + try { + if (!policyFile.exists() && !policyFile.createNewFile()) { + return OpenFileResult.CANT_CREATE; + } + } catch (IOException e) { + return OpenFileResult.CANT_CREATE; + } + boolean read = policyFile.canRead(), write = policyFile.canWrite(); + if (read && write) + return OpenFileResult.SUCCESS; + else if (read) + return OpenFileResult.CANT_WRITE; + else + return OpenFileResult.FAILURE; + } + return OpenFileResult.FAILURE; + } + + /** + * Ensure that the parent directory of the Policy File exists and that we are + * able to create and access files within this directory + * @param policyFile the location of the policy file + * @return an object representing the results of the test + */ + private static DirectoryCheckResults testPolicyFileDirectory(final File policyFile) { + List policyDirectory = new ArrayList(); + policyDirectory.add(policyFile.getParentFile()); + DirectoryValidator validator = new DirectoryValidator(policyDirectory); + DirectoryCheckResults result = validator.ensureDirs(); + + return result; + } + + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath) { + showCouldNotOpenFileDialog(frame, filePath, OpenFileResult.FAILURE); + } + + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final OpenFileResult reason) { + String message; + switch (reason) { + case CANT_CREATE: + message = R("RCantCreateFile", filePath); + break; + case CANT_WRITE: + message = R("RCantWriteFile", filePath); + break; + case NOT_FILE: + message = R("RExpectedFile", filePath); + break; + default: + message = R("RCantOpenFile", filePath); + break; + } + showCouldNotOpenFileDialog(frame, filePath, message); + } + + /** + * Show a dialog informing the user that the policy file could not be opened + * @param frame the parent frame for this dialog + * @param filePath the path to the file we tried to open + * @param message the specific reason the file could not be opened + */ + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final String message) { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); + JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); + } + + /** + * Show a dialog informing the user that the policy file is currently read-only + * @param frame the parent frame for this dialog + */ + private static void showReadOnlyDialog(final JFrame frame) { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Opening user JNLP policy read-only"); + JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); + } + + /** + * Loosely attempt to get the path part of a file URL string. If this fails, + * simply return back the input. This is only intended to be used for displaying + * GUI elements such as the CPPolicyTooltip. + * @param url the String representing the URL whose path is desired + * @return a String representing the local filepath of the given file:/ URL + */ + private static String localFilePathFromUrlString(String url) { + try { + URL u = new URL(url); + return u.getPath(); + } catch (MalformedURLException e) { + return url; + } + } + + /* + * Implements the action to be performed when the "View Policy" button is clicked + */ + private class ViewPolicyButtonAction implements ActionListener { + private final JFrame frame; + private final String fileUrlString; + + public ViewPolicyButtonAction(final JFrame frame, final String fileUrlString) { + this.fileUrlString = fileUrlString; + this.frame = frame; + } + + @Override + public void actionPerformed(ActionEvent event) { + try { + final URL fileUrl = new URL(fileUrlString); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + launchPolicyTool(frame, fileUrl.getPath()); + } + }); + } catch (MalformedURLException ex) { + OutputController.getLogger().log(ex); + showCouldNotOpenFileDialog(frame, fileUrlString); + } + } + } +} diff -r 7d81c9104471 -r 63f174527534 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jan 17 11:36:22 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jan 17 13:43:09 2014 -0500 @@ -21,6 +21,7 @@ AlwaysAllowAction=Always allow this action Usage=Usage: Error=Error +Warning=Warning Continue=Do you want to continue? Field=Field @@ -159,6 +160,10 @@ RCantReplaceSM=Changing the SecurityManager is not allowed. RCantCreateFile=Cant create file {0} RCantDeleteFile=Cant delete file {0} +RCantOpenFile=Could not open file {0} +RCantWriteFile=Could not write to file {0} +RFileReadOnly=Opening file in read-only mode +RExpectedFile=Expected {0} to be a file but it was not RRemoveRPermFailed=Removing read permission on file {0} failed RRemoveWPermFailed=Removing write permissions on file {0} failed RRemoveXPermFailed=Removing execute permissions on file {0} failed @@ -353,6 +358,8 @@ CPJVMNotokMessage2=You might be seeing this message because:

* Some validity tests have not been passed
* Non-OpenJDK is detected
With invalid JDK IcedTea-Web will probably not be able to start.
You will have to modify or remove {0} property in your configuration file {1}.
You should try to search for OpenJDK in your system or be sure you know what you are doing. CPJVMconfirmInvalidJdkTitle=Confirm invalid JDK CPJVMconfirmReset=Reset to default? +CPPolicyDetail=View or edit your user-level Java Policy File. This allows you to grant or deny runtime permissions to applets regardless of the standard security sandboxing rules. +CPPolicyTooltip=Open {0} in policy editor # Control Panel - Buttons CPButAbout=About... @@ -360,6 +367,7 @@ CPButSettings=Settings... CPButView=View... CPButCertificates=Certificates... +CPButPolicy=View/Edit with Policy Tool # Control Panel - Headers CPHead=IcedTea-Web Control Panel @@ -372,6 +380,7 @@ CPHeadDesktopIntegration=\u00a0Desktop\u00a0Integrations\u00a0 CPHeadSecurity=\u00a0Security\u00a0Settings\u00a0 CPHeadJVMSettings=\u00a0JVM\u00a0Settings\u00a0 +CPHeadPolicy=\u00a0Custom\u00a0Policy\u00a0Settings\u00a0 # Control Panel - Tabs CPTabAbout=About IcedTea-Web @@ -384,6 +393,7 @@ CPTabRuntimes=Runtimes CPTabSecurity=Security CPTabJVMSettings=JVM Settings +CPTabPolicy=Policy Settings # Control Panel - AboutPanel CPAboutInfo=This is the control panel for setting deployments.properties.
Not all options will take effect until implemented.
The use of multiple JREs is currently limited to OpenJDK.
diff -r 7d81c9104471 -r 63f174527534 tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html Fri Jan 17 13:43:09 2014 -0500 @@ -0,0 +1,48 @@ + + + + + + + + diff -r 7d81c9104471 -r 63f174527534 tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp Fri Jan 17 13:43:09 2014 -0500 @@ -0,0 +1,53 @@ + + + + + CustomPoliciesApplet + IcedTea + + Test that unsigned applets can perform privileged actions when granted by custom policies + + + + + + + + + diff -r 7d81c9104471 -r 63f174527534 tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp Fri Jan 17 13:43:09 2014 -0500 @@ -0,0 +1,53 @@ + + + + From andrew at icedtea.classpath.org Fri Jan 17 12:23:27 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:23:27 +0000 Subject: /hg/release/icedtea7-forest-2.4: 31 new changesets Message-ID: changeset b73c006b5d81 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=b73c006b5d81 author: cl date: Wed Oct 09 09:34:38 2013 -0700 Added tag jdk7u45-b31 for changeset f4373de4b75b changeset 2dc0faccfa1e in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=2dc0faccfa1e author: asaha date: Wed Sep 11 15:47:16 2013 -0700 Merge changeset 0c5ae7837ff5 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=0c5ae7837ff5 author: asaha date: Wed Sep 18 11:15:58 2013 -0700 Merge changeset bdcd50ab61e5 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=bdcd50ab61e5 author: asaha date: Wed Sep 18 11:27:52 2013 -0700 Merge changeset cc9a05c9ad5c in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=cc9a05c9ad5c author: asaha date: Thu Sep 19 15:31:17 2013 -0700 Merge changeset df2784aa1ab9 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=df2784aa1ab9 author: asaha date: Tue Sep 24 10:51:59 2013 -0700 Merge changeset 7fd771847022 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=7fd771847022 author: asaha date: Thu Sep 26 11:22:40 2013 -0700 Merge changeset 6a8e3930abcc in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=6a8e3930abcc author: asaha date: Fri Sep 27 12:14:12 2013 -0700 Merge changeset 8bc059902950 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=8bc059902950 author: asaha date: Fri Sep 27 13:15:49 2013 -0700 Merge changeset 8f67f7a072c2 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=8f67f7a072c2 author: asaha date: Mon Sep 30 10:59:18 2013 -0700 Added tag jdk7u51-b00 for changeset f2479abad143 changeset c5822e1d1baa in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=c5822e1d1baa author: asaha date: Mon Sep 30 11:11:33 2013 -0700 Merge changeset a9d80d729eb2 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=a9d80d729eb2 author: cl date: Tue Oct 01 08:36:33 2013 -0700 Added tag jdk7u51-b01 for changeset c5822e1d1baa changeset f019ffa367c2 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=f019ffa367c2 author: asaha date: Tue Oct 08 11:41:03 2013 -0700 Merge changeset f750621fb31b in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=f750621fb31b author: asaha date: Wed Oct 09 09:47:49 2013 -0700 Merge changeset dafd6c301c97 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=dafd6c301c97 author: cl date: Thu Oct 10 10:16:24 2013 -0700 Added tag jdk7u51-b02 for changeset f750621fb31b changeset 8bc2f477bba4 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=8bc2f477bba4 author: cl date: Tue Oct 15 09:31:49 2013 -0700 Added tag jdk7u51-b03 for changeset dafd6c301c97 changeset 1604b330bf96 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=1604b330bf96 author: cl date: Tue Oct 22 22:23:28 2013 -0700 Added tag jdk7u51-b04 for changeset 8bc2f477bba4 changeset 15c531ebb19c in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=15c531ebb19c author: cl date: Tue Oct 29 09:08:45 2013 -0700 Added tag jdk7u51-b05 for changeset 1604b330bf96 changeset 75f0610e93bf in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=75f0610e93bf author: cl date: Tue Nov 05 10:57:46 2013 -0800 Added tag jdk7u51-b06 for changeset 15c531ebb19c changeset 467fc49c32dd in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=467fc49c32dd author: cl date: Tue Nov 12 08:51:24 2013 -0800 Added tag jdk7u51-b07 for changeset 75f0610e93bf changeset 73ebe4e4f20e in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=73ebe4e4f20e author: cl date: Tue Nov 19 08:36:43 2013 -0800 Added tag jdk7u51-b08 for changeset 467fc49c32dd changeset 9868efbea429 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=9868efbea429 author: asaha date: Wed Nov 27 08:19:09 2013 -0800 Added tag jdk7u51-b09 for changeset 73ebe4e4f20e changeset 573c4cfca7dd in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=573c4cfca7dd author: katleman date: Wed Dec 04 10:10:53 2013 -0800 Added tag jdk7u51-b10 for changeset 9868efbea429 changeset df53ec7eb789 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=df53ec7eb789 author: katleman date: Tue Dec 10 13:15:22 2013 -0800 Added tag jdk7u51-b11 for changeset 573c4cfca7dd changeset 6c778574d873 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=6c778574d873 author: katleman date: Sat Dec 14 11:51:06 2013 -0800 Added tag jdk7u51-b12 for changeset df53ec7eb789 changeset 05742477836c in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=05742477836c author: cl date: Mon Nov 25 11:02:16 2013 -0800 Added tag jdk7u45-b33 for changeset b73c006b5d81 changeset d0d5badd77ab in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=d0d5badd77ab author: katleman date: Fri Dec 06 13:07:07 2013 -0800 Added tag jdk7u45-b34 for changeset 05742477836c changeset 8a0fb2a53d19 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=8a0fb2a53d19 author: asaha date: Tue Dec 17 10:59:37 2013 -0800 Merge changeset d2eeac0235ed in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=d2eeac0235ed author: katleman date: Thu Dec 19 09:00:36 2013 -0800 Added tag jdk7u51-b13 for changeset 6c778574d873 changeset 626e76f127a4 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=626e76f127a4 author: asaha date: Thu Dec 19 09:31:19 2013 -0800 Merge changeset 410eb7fef869 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=410eb7fef869 author: andrew date: Fri Jan 17 20:22:44 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 31 +++++++++++++++++++++++++++++++ .jcheck/conf | 2 -- make/Defs-internal.gmk | 3 ++- 3 files changed, 33 insertions(+), 3 deletions(-) diffs (134 lines): diff -r f4373de4b75b -r 410eb7fef869 .hgtags --- a/.hgtags Tue Oct 08 11:10:00 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:44 2014 +0000 @@ -50,6 +50,7 @@ 3ac6dcf7823205546fbbc3d4ea59f37358d0b0d4 jdk7-b73 2c88089b6e1c053597418099a14232182c387edc jdk7-b74 d1516b9f23954b29b8e76e6f4efc467c08c78133 jdk7-b75 +f0bfd9bd1a0e674288a8a4d17dcbb9e632b42e6d icedtea7-1.12 c8b63075403d53a208104a8a6ea5072c1cb66aab jdk7-b76 1f17ca8353babb13f4908c1f87d11508232518c8 jdk7-b77 ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78 @@ -63,6 +64,7 @@ 433a60a9c0bf1b26ee7e65cebaa89c541f497aed jdk7-b86 6b1069f53fbc30663ccef49d78c31bb7d6967bde jdk7-b87 82135c848d5fcddb065e98ae77b81077c858f593 jdk7-b88 +195fcceefddce1963bb26ba32920de67806ed2db icedtea7-1.13 7f1ba4459972bf84b8201dc1cc4f62b1fe1c74f4 jdk7-b89 425ba3efabbfe0b188105c10aaf7c3c8fa8d1a38 jdk7-b90 97d8b6c659c29c8493a8b2b72c2796a021a8cf79 jdk7-b91 @@ -111,6 +113,7 @@ ddc2fcb3682ffd27f44354db666128827be7e3c3 jdk7-b134 783bd02b4ab4596059c74b10a1793d7bd2f1c157 jdk7-b135 2fe76e73adaa5133ac559f0b3c2c0707eca04580 jdk7-b136 +d4aea1a51d625f5601c840714c7c94f1de5bc1af icedtea-1.14 7654afc6a29e43cb0a1343ce7f1287bf690d5e5f jdk7-b137 fc47c97bbbd91b1f774d855c48a7e285eb1a351a jdk7-b138 7ed6d0b9aaa12320832a7ddadb88d6d8d0dda4c1 jdk7-b139 @@ -123,6 +126,7 @@ 2d38c2a79c144c30cd04d143d83ee7ec6af40771 jdk7-b146 3ac30b3852876ccad6bd61697b5f9efa91ca7bc6 jdk7u1-b01 d91364304d7c4ecd34caffdba2b840aeb0d10b51 jdk7-b147 +3defd24c2671eb2e7796b5dc45b98954341d73a7 icedtea-2.0-branchpoint 34451dc0580d5c95d97b95a564e6198f36545d68 jdk7u1-b02 bf735d852f79bdbb3373c777eec3ff27e035e7ba jdk7u1-b03 f66a2bada589f4157789e6f66472954d2f1c114e jdk7u1-b04 @@ -141,6 +145,7 @@ b2deaf5bde5ec455a06786e8e2aea2e673be13aa jdk7u2-b12 c95558e566ac3605c480a3d070b1102088dab07f jdk7u2-b13 e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u2-b21 +a66b58021165f5a43e3974fe5fb9fead29824098 icedtea-2.1-branchpoint e30fd289f0019700575593ee4e1635fbc5c9a484 jdk7u3-b02 becd013ae6072a6633ba015fc4f5862fca589cee jdk7u3-b03 d64361a28584728aa25dca3781cffbaf4199e088 jdk7u3-b04 @@ -157,6 +162,7 @@ 2b07c262a8a9ff78dc908efb9d7b3bb099df9ac4 jdk7u4-b10 1abfee16e8cc7e3950052befa78dbf14a5ca9cfc jdk7u4-b11 e6f915094dccbba16df6ebeb002e6867392eda40 jdk7u4-b12 +e7886f5ad6cc837092386fa513e670d4a770456c icedtea-2.2-branchpoint 9108e3c2f07ffa218641d93893ac9928e95d213a jdk7u4-b13 d9580838fd08872fc0da648ecfc6782704b4aac1 jdk7u4-b14 008753000680a2008175d14b25373356f531aa07 jdk7u4-b15 @@ -191,6 +197,7 @@ 528f1589f5f2adf18d5d21384ba668b9aa79841e jdk7u6-b15 7b77364eb09faac4c37ce9dd2c2308ca5525f18f jdk7u6-b16 b7c1b441d131c70278de299b5d1e59dce0755dc5 jdk7u6-b17 +0e7b94bd450d4270d4e9bd6c040c94fa4be714a6 icedtea-2.3-branchpoint 9c41f7b1460b106d18676899d24b6ea07de5a369 jdk7u6-b18 56291720b5e578046bc02761dcad2a575f99fd8e jdk7u6-b19 e79fa743fe5a801db4acc7a7daa68f581423e5d3 jdk7u6-b20 @@ -258,6 +265,7 @@ c3e42860af1cfd997fe1895594f652f0d1e9984e jdk7u12-b07 1a03ef4794dc8face4de605ae480d4c763e6b494 jdk7u12-b08 87cf81226f2012e5c21131adac7880f7e4da1133 jdk7u12-b09 +8a10a3c51f1cd88009008cf1b82071797b5f516d icedtea-2.4-branchpoint 745a15bb6d94765bb5c68048ff146590df9b8441 jdk7u14-b10 2d8fdaa5bb55b937028e385633ce58de4dcdb69c jdk7u14-b11 594dbbbb84add4aa310d51af7e298470d8cda458 jdk7u14-b12 @@ -333,6 +341,7 @@ d9d4dc020cb37142230f6a20d2a75a677c5cd26f jdk7u14-b19 b4b7795ef8047e3d2b2ba48a70c08d9184073100 jdk7u14-b19 f413e7a22c198559af5aca28309356e6d4edd78f jdk7u14-b20 +30065a72715f046e4a4bdec1c0cc7d65153c9d99 icedtea-2.4.0 41686e19d8189a546434a52dd9679e9b6a0a68be jdk7u14-b21 3e3177719b43f732239d6d51e96d26ee18440960 jdk7u14-b22 8c6e2197930c79f6beafd83181714cc817b83229 jdk7u40-b23 @@ -343,6 +352,8 @@ ac751f3867ecffca814b25daf5e19d82d83fc755 jdk7u40-b28 dbe42a627813892d1bb59a4240c24f60ef22930a jdk7u40-b29 1c141e6fde911c4974c87e340eb698754607f422 jdk7u40-b30 +ae86c6974e8ee35ef66121810ea9e748b7e677d9 icedtea-2.4.1 +58a2a470aa3bccd3eb3624e68bca9397c8cc26a2 jdk7u40-b31 e51f24701c608e57ba7ae69ba28bbc2daab02c4c jdk7u45-b01 da376fd5e4d68f8a45003a6e175267dc840711cc jdk7u40-b32 3fdfe7f1b06354e11e8af51b7c653c8a0adb3987 jdk7u40-b33 @@ -357,6 +368,7 @@ 3af81bfe320c12758234233da6fa27c3c0ffcdc4 jdk7u40-b42 1d53bd8fd2a62bcf336727ebec377ef7498dd4a6 jdk7u40-b43 dc1e099cd62d250b4a997ce694b47fe2f50d2905 jdk7u40-b60 +6125b83238df36d96b3f6bf5ca6c740693dd3651 icedtea-2.4.2 6359fa34199c9619dfec0f41d2eb22a4083ce610 jdk7u40-b61 a2605cf03226ce2fef7a899ce41521c654300975 jdk7u40-b62 07e41ff8674c9438cb1124cf78eed8636ed5d4fa jdk7u45-b02 @@ -377,3 +389,22 @@ 6fd67e0287a9893ea1f0090fe127f18a7e235148 jdk7u45-b17 f0cdb08a4624a623bdd178b04c4bf5a2fa4dc39a jdk7u45-b18 82f1f76c44124c31cb1151833fc15c13547ab280 jdk7u45-b30 +e2f5917da3c1b13bf8291d7864afba14ac35736a icedtea-2.4.3 +63b832c8ec92696277208631a6e71db4b33348e9 icedtea-2.4.4 +f4373de4b75ba8d7f7a5d9c1f77e7884d9064b7e jdk7u45-b31 +b73c006b5d81528dfb4104a79b994b56675bf75d jdk7u45-b33 +05742477836cb30235328181c8e6cae5d4bb06fd jdk7u45-b34 +f2479abad143d2d9f33b6c872890ca0c5dd52530 jdk7u51-b00 +c5822e1d1baa9625ee4e54b8e83a9bf529c883fc jdk7u51-b01 +f750621fb31b8f6462b803b47bbf84f05cd5174a jdk7u51-b02 +dafd6c301c979ece6493dfb52e09e46bc81b7285 jdk7u51-b03 +8bc2f477bba4ccecaf46a52877e429342ab9c5bc jdk7u51-b04 +1604b330bf9629da5cac02af8582717dd431032e jdk7u51-b05 +15c531ebb19c21a5b565ce887c790d3855b461ef jdk7u51-b06 +75f0610e93bf6f51b3674fbbbe16f648ceb34d29 jdk7u51-b07 +467fc49c32dd8e3dd940ad0e5934a65fc7fb60ec jdk7u51-b08 +73ebe4e4f20e1d5db72c5cd673c65ffa09259982 jdk7u51-b09 +9868efbea4290f4359a6a54d722f2cb79ef634a9 jdk7u51-b10 +573c4cfca7dda548463bb84330bddfd07fe1183f jdk7u51-b11 +df53ec7eb789e7dec375a685dce1fa5cf63618b4 jdk7u51-b12 +6c778574d87336a2e55156544af92ce2de799696 jdk7u51-b13 diff -r f4373de4b75b -r 410eb7fef869 .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:10:00 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r f4373de4b75b -r 410eb7fef869 make/Defs-internal.gmk --- a/make/Defs-internal.gmk Tue Oct 08 11:10:00 2013 -0700 +++ b/make/Defs-internal.gmk Fri Jan 17 20:22:44 2014 +0000 @@ -322,7 +322,8 @@ JDK_MICRO_VERSION=$(JDK_MICRO_VERSION) \ PREVIOUS_MAJOR_VERSION=$(PREVIOUS_MAJOR_VERSION) \ PREVIOUS_MINOR_VERSION=$(PREVIOUS_MINOR_VERSION) \ - PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) + PREVIOUS_MICRO_VERSION=$(PREVIOUS_MICRO_VERSION) \ + STATIC_CXX=$(STATIC_CXX) ifdef ARCH_DATA_MODEL COMMON_BUILD_ARGUMENTS += ARCH_DATA_MODEL=$(ARCH_DATA_MODEL) From andrew at icedtea.classpath.org Fri Jan 17 12:23:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:23:35 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: 44 new changesets Message-ID: changeset d641ac83157e in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=d641ac83157e author: cl date: Wed Oct 09 09:34:40 2013 -0700 Added tag jdk7u45-b31 for changeset b7fb35bbe70d changeset 59d790829419 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=59d790829419 author: asaha date: Wed Sep 11 15:47:47 2013 -0700 Merge changeset 3832ff63e7fc in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3832ff63e7fc author: asaha date: Wed Sep 18 11:16:15 2013 -0700 Merge changeset 3092a6420d0d in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3092a6420d0d author: asaha date: Wed Sep 18 11:29:28 2013 -0700 Merge changeset e379f8068ea6 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=e379f8068ea6 author: asaha date: Thu Sep 19 15:31:27 2013 -0700 Merge changeset 694aaf53fcc2 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=694aaf53fcc2 author: asaha date: Tue Sep 24 10:52:15 2013 -0700 Merge changeset 0540b0b57ce4 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=0540b0b57ce4 author: asaha date: Thu Sep 26 11:22:55 2013 -0700 Merge changeset fd88b48792ce in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=fd88b48792ce author: asaha date: Fri Sep 27 12:14:29 2013 -0700 Merge changeset bdd1f5afad32 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=bdd1f5afad32 author: asaha date: Fri Sep 27 13:16:02 2013 -0700 Merge changeset 419d784bf801 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=419d784bf801 author: asaha date: Mon Sep 30 10:59:22 2013 -0700 Added tag jdk7u51-b00 for changeset b1f069eb48ed changeset 8d884cf2e8cc in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=8d884cf2e8cc author: asaha date: Mon Sep 30 11:11:49 2013 -0700 Merge changeset 8ce0ac5270b8 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=8ce0ac5270b8 author: cl date: Tue Oct 01 08:36:35 2013 -0700 Added tag jdk7u51-b01 for changeset 8d884cf2e8cc changeset d927facb63bc in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=d927facb63bc author: asaha date: Tue Oct 08 11:42:19 2013 -0700 Merge changeset 327035fbb043 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=327035fbb043 author: asaha date: Wed Oct 09 09:49:41 2013 -0700 Merge changeset 3c186a6d2b86 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3c186a6d2b86 author: cl date: Thu Oct 10 10:16:25 2013 -0700 Added tag jdk7u51-b02 for changeset 327035fbb043 changeset 6969598640b2 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=6969598640b2 author: cl date: Tue Oct 15 09:31:50 2013 -0700 Added tag jdk7u51-b03 for changeset 3c186a6d2b86 changeset b18c17608d94 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=b18c17608d94 author: cl date: Tue Oct 22 22:23:33 2013 -0700 Added tag jdk7u51-b04 for changeset 6969598640b2 changeset 1c997cdaf0f8 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=1c997cdaf0f8 author: cl date: Tue Oct 29 09:08:49 2013 -0700 Added tag jdk7u51-b05 for changeset b18c17608d94 changeset d39d92c2cab1 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=d39d92c2cab1 author: alanb date: Tue Oct 22 11:40:27 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oralce.com, mark.sheppard at oracle.com changeset 863d69d3dee0 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=863d69d3dee0 author: asaha date: Mon Nov 04 10:58:30 2013 -0800 Merge changeset 8f9d49f7e74c in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=8f9d49f7e74c author: cl date: Tue Nov 05 10:57:55 2013 -0800 Added tag jdk7u51-b06 for changeset 863d69d3dee0 changeset 77d13acb85bf in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=77d13acb85bf author: asaha date: Tue Oct 29 09:54:26 2013 -0700 Merge changeset b1548473f261 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=b1548473f261 author: msheppar date: Sat Nov 02 01:07:53 2013 +0000 8026193: Enhance CORBA stub factories Summary: modify com.sun.corba.se.impl.presenetation.rmi.StubFactoryDynamicBase inheritance structure. Reviewed-by: alanb, coffeys, ahgross changeset 0a879f00b698 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=0a879f00b698 author: msheppar date: Sat Nov 02 01:24:03 2013 +0000 8025767: Enhance IIOP Streams Summary: modify org.omg.CORBA_2_3.portable.InputStream inheritance structure. Reviewed-by: alanb, coffeys, skoivu changeset 880cc2c3ba33 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=880cc2c3ba33 author: asaha date: Tue Nov 05 12:03:01 2013 -0800 Merge changeset 3910fba40bac in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3910fba40bac author: mfang date: Thu Nov 07 12:16:35 2013 -0800 8027787: 7u51 l10n resource file translation update 1 Reviewed-by: yhuang changeset 4baf8650e2c5 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=4baf8650e2c5 author: mfang date: Thu Nov 07 12:50:44 2013 -0800 Merge changeset 3f6dfcad33ac in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3f6dfcad33ac author: coffeys date: Mon Nov 11 15:52:11 2013 +0000 8027837: JDK-8021257 causes CORBA build failure on emdedded platforms Reviewed-by: dholmes changeset 652dbc49eb47 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=652dbc49eb47 author: cl date: Tue Nov 12 08:51:29 2013 -0800 Added tag jdk7u51-b07 for changeset 3f6dfcad33ac changeset 8ce01c9da345 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=8ce01c9da345 author: mchung date: Thu Nov 07 20:48:38 2013 -0800 8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 Reviewed-by: msheppar, alanb, lancea changeset 2ef8307ce38d in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=2ef8307ce38d author: coffeys date: Mon Nov 11 15:52:11 2013 +0000 8027837: JDK-8021257 causes CORBA build failure on emdedded platforms Reviewed-by: dholmes changeset 00c7d4007a2f in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=00c7d4007a2f author: asaha date: Tue Nov 12 09:10:10 2013 -0800 Merge changeset 07177000db8f in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=07177000db8f author: cl date: Tue Nov 19 08:36:51 2013 -0800 Added tag jdk7u51-b08 for changeset 00c7d4007a2f changeset bb45667f58f5 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=bb45667f58f5 author: msheppar date: Sun Nov 24 13:09:01 2013 +0000 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung changeset eecfc296009b in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=eecfc296009b author: asaha date: Wed Nov 27 08:19:21 2013 -0800 Added tag jdk7u51-b09 for changeset bb45667f58f5 changeset a26d0e8ab102 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=a26d0e8ab102 author: katleman date: Wed Dec 04 10:10:56 2013 -0800 Added tag jdk7u51-b10 for changeset eecfc296009b changeset 55a509ccc0e4 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=55a509ccc0e4 author: katleman date: Tue Dec 10 13:15:40 2013 -0800 Added tag jdk7u51-b11 for changeset a26d0e8ab102 changeset e2f0036f712a in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=e2f0036f712a author: katleman date: Sat Dec 14 11:51:09 2013 -0800 Added tag jdk7u51-b12 for changeset 55a509ccc0e4 changeset aa24e046a2da in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=aa24e046a2da author: cl date: Mon Nov 25 11:02:17 2013 -0800 Added tag jdk7u45-b33 for changeset d641ac83157e changeset fab1423e6ab8 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=fab1423e6ab8 author: katleman date: Fri Dec 06 13:07:14 2013 -0800 Added tag jdk7u45-b34 for changeset aa24e046a2da changeset bdfd3d51d3c9 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=bdfd3d51d3c9 author: asaha date: Tue Dec 17 11:01:12 2013 -0800 Merge changeset 6563d12c48c9 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=6563d12c48c9 author: katleman date: Thu Dec 19 09:00:44 2013 -0800 Added tag jdk7u51-b13 for changeset e2f0036f712a changeset 0ad990211737 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=0ad990211737 author: asaha date: Thu Dec 19 09:31:40 2013 -0800 Merge changeset 721b1070efda in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=721b1070efda author: andrew date: Fri Jan 17 20:22:44 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 30 + .jcheck/conf | 2 - make/Makefile | 4 +- make/common/shared/Defs-java.gmk | 2 +- make/common/shared/Platform.gmk | 9 + src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java | 7 +- src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java | 8 +- src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java | 7 +- src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java | 14 +- src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java | 2 +- src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java | 8 +- src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java | 6 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java | 24 +- src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryFactoryProxyImpl.java | 17 +- src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java | 7 +- src/share/classes/com/sun/corba/se/impl/protocol/SharedCDRClientRequestDispatcherImpl.java | 35 +- src/share/classes/com/sun/corba/se/impl/resolver/INSURLOperationImpl.java | 8 +- src/share/classes/com/sun/corba/se/spi/orbutil/proxy/CompositeInvocationHandlerImpl.java | 2 + src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContexts.java | 15 +- src/share/classes/com/sun/tools/corba/se/idl/idl_ja.prp | 2 +- src/share/classes/javax/rmi/CORBA/Stub.java | 8 +- src/share/classes/javax/rmi/CORBA/Util.java | 13 +- src/share/classes/javax/rmi/PortableRemoteObject.java | 11 +- src/share/classes/org/omg/CORBA/ORB.java | 39 +- src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java | 43 ++- src/share/classes/sun/corba/EncapsInputStreamFactory.java | 153 ++++++++++ 30 files changed, 409 insertions(+), 118 deletions(-) diffs (truncated from 1219 to 500 lines): diff -r b7fb35bbe70d -r 721b1070efda .hgtags --- a/.hgtags Tue Oct 08 11:10:17 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:44 2014 +0000 @@ -50,6 +50,7 @@ b751c528c55560cf2adeaeef24b39ca1f4d1cbf7 jdk7-b73 5d0cf59a3203b9f57aceebc33ae656b884987955 jdk7-b74 0fb137085952c8e47878e240d1cb40f14de463c4 jdk7-b75 +d728db3889da23d9f74e45154b9261a43b4acd8d icedtea7-1.12 937144222e2219939101b0129d26a872a7956b13 jdk7-b76 6881f0383f623394b5ec73f27a5f329ff55d0467 jdk7-b77 a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78 @@ -63,6 +64,7 @@ 6253e28826d16cf1aecc39ce04c8de1f6bf2df5f jdk7-b86 09a41111a401d327f65e453384d976a10154d9ea jdk7-b87 39e14d2da687c7e592142137517aaf689544820f jdk7-b88 +e805b4155d76f76d40ffae36a74546f79218c539 icedtea7-1.13 bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89 56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90 bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91 @@ -111,6 +113,7 @@ 918003855fa0dba5acf4bf1fe36526d2fc4c1ba8 jdk7-b134 e0b72ae5dc5e824b342801c8d1d336a55eb54e2c jdk7-b135 48ef0c712e7cbf272f47f9224db92a3c6a9e2612 jdk7-b136 +b62418551e20fa19fbf57c49d4378b7096809e60 icedtea-1.14 a66c01d8bf895261715955df0b95545c000ed6a8 jdk7-b137 78d8cf04697e9df54f7f11e195b7da29b8e345a2 jdk7-b138 60b074ec6fcf5cdf9efce22fdfb02326ed8fa2d3 jdk7-b139 @@ -123,6 +126,7 @@ 770227a4087e4e401fe87ccd19738440111c3948 jdk7-b146 36f0efbc66ef8ace3cca8aa8d0c88f3334080f8a jdk7u1-b01 73323cb3396260d93e0ab731fd2d431096ceed0f jdk7-b147 +d034cc90ecc266d78b87d1429c426669431fcc1f icedtea-2.0-branchpoint 9515a2d034b4727c11aeea36354a549fbc469c4f jdk7u1-b02 dd71cb354c573c1addcda269a7dd9144bfce9587 jdk7u1-b03 eaee830124aa453627591d8f9eccb39d7e040876 jdk7u1-b04 @@ -141,6 +145,7 @@ 56b02f8ef70391a67c9fa71157a8faafbdff4b74 jdk7u2-b12 456ff1f14b14ef8cfe47cef95c8094f8443fa092 jdk7u2-b13 62b846b0c3259cae732e75df50a1b180a2541178 jdk7u2-b21 +ecb9fc90dea4720f5c1ba1354364ed610f463e41 icedtea-2.1-branchpoint 1b648adeeefa9b1fb022459e8e4f590b736c0fdd jdk7u3-b02 730fa05af5a9d10a3a7a1626d248b96d09f8069f jdk7u3-b03 7f7a9b1addb4925f4f6e17f6eb5cce986c3b626d jdk7u3-b04 @@ -157,6 +162,7 @@ 23777178e7eb61859be3f7240561aa1034ff9221 jdk7u4-b10 bdc37f3c09b6008667aff77432bb6d31cbae945e jdk7u4-b11 fddc26b35a31884d64315cf7c296570245e9c481 jdk7u4-b12 +9ffa2340e018131c900e9cc12c9f3a10698aa191 icedtea-2.2-branchpoint f7119745898016a98cddab3e69efb41c5a5aaf78 jdk7u4-b13 6a262c36caebb43972cbae5032cff632ce31d2cc jdk7u4-b14 d9bf21b76f093abfe451880d5db29e4932b1e72e jdk7u4-b15 @@ -191,6 +197,7 @@ 8da4015f405b0fa267cca4780d20cd012d0a9cb4 jdk7u6-b15 7674c7ed99a53a8dcf654ab8a6963199ef562a08 jdk7u6-b16 e4a676826cb3fe2f84e19105a027c15c097f98f1 jdk7u6-b17 +68c35d6e9548bc7be9c3ce73774c6d53b0d72d3b icedtea-2.3-branchpoint b3d767dbd67f518168c561e078be5e860bc60cfc jdk7u6-b18 5c046510b9308bf514f078d48fcf0112a376ad41 jdk7u6-b19 f0c51b691d34b4a06c1e22c7960be71e0d0ee84e jdk7u6-b20 @@ -258,6 +265,7 @@ 7969d5f219248de033c296ef75fff7aae7545bbd jdk7u12-b07 6f4d4c7a254d4aca3a7f2caabb75e6559a290393 jdk7u12-b08 c8c261b2220c5b966c07784682057a915defb0da jdk7u12-b09 +efbe4cef7fe2d46a197c39eb7a94e127e0bb4c5d icedtea-2.4-branchpoint 3877f9ae971eefbfbbcb16f2ff79c72ac10ac4bd jdk7u14-b10 3bd891cd98773cf841ad65f52f25e3e6fa185cef jdk7u14-b11 fbb83600db33de6211fc58ba2a2bbb6b356aa9c2 jdk7u14-b12 @@ -335,6 +343,7 @@ bfbaab73969d4d978d0280d6ad51bac8c47dbaf8 jdk7u14-b19 a921b45a1f9086a7d598a76f920639050386f996 jdk7u14-b19 54320e5d9da60df24f0e2c57c011809911dc06e1 jdk7u14-b20 +47084105fe834aa1c6f2ee2bbea01deaa05059dd icedtea-2.4.0 fb590ca4de9aaf1f6bca945be040dffc55b5e8d2 jdk7u14-b21 e5d89aa2c1a11dba841a646858dda9ea18dc8f57 jdk7u14-b22 d85df1552f877a1cc51f43bc07a42a0c48f18e0b jdk7u40-b23 @@ -345,6 +354,7 @@ c8b9201f88f4ce417df7a40efcb7fef656d94512 jdk7u40-b28 1ad0a5a3f7b1e9d95670d733d7e70714050ba6bf jdk7u40-b29 651dcadbd9774165e017f8b7d1bde7d7d280ae1d jdk7u40-b30 +23ae4e0e0cce13779c531a704bf95fda1764882b icedtea-2.4.1 3d2b811b8a798ff3b619f8330b08f551f7fdfd80 jdk7u40-b31 c5f85903c49aa716ee3cb93361dd60a3e88d866d jdk7u40-b32 1b7fbfdc31b859097d6a365ad0ba0e8ef92b4063 jdk7u40-b33 @@ -359,6 +369,7 @@ b4a480a039bc19b27bfb5fcbbbf75e651d2718b7 jdk7u40-b42 e29ea0b297e519010e661603a07bb8d48fa904a2 jdk7u40-b43 08737d863a7aa5eb39374b26c9585e1770affe92 jdk7u40-b60 +5ea58899ae9f26e8ad21d1be15f73d426e2b5fb1 icedtea-2.4.2 504acad3372298a79c231696d805f00f3beb2362 jdk7u40-b61 c9c225fb19c3aa6e1242c051833ecc69d00b7aa1 jdk7u40-b62 4f54264ca4df2fc50fbb9bb2654dad97776d10ac jdk7u45-b01 @@ -380,3 +391,22 @@ 8b8793f06c56e343962b473bc0fb79f23b8be734 jdk7u45-b17 80f65a8f58500ef5d93ddf4426d9c1909b79fadf jdk7u45-b18 a15e4a54504471f1e34a494ed66235870722a0f5 jdk7u45-b30 +8ed5df839fbccdb20f2718626402d28e5ea33542 icedtea-2.4.3 +468a4fe3400a2f6fd85f4e9023feb3b11e5edf1c icedtea-2.4.4 +b7fb35bbe70d88eced3725b6e9070ad0b5b621ad jdk7u45-b31 +d641ac83157ec86219519c0cbaf3122bdc997136 jdk7u45-b33 +aa24e046a2da95637257c9effeaabe254db0aa0b jdk7u45-b34 +b1f069eb48edfa6fb7428dc045a53e287215ef4a jdk7u51-b00 +8d884cf2e8cce92d532950de2c7283d9804f9e58 jdk7u51-b01 +327035fbb0433927c1b1af2bc0bcb84e7827f1b9 jdk7u51-b02 +3c186a6d2b86ec4c6cfb093969d5f4e4a6ef6a98 jdk7u51-b03 +6969598640b2a4731634669eb1402a6af5772b44 jdk7u51-b04 +b18c17608d944028724858e1f768fb0a59dc8220 jdk7u51-b05 +863d69d3dee00e7958ed1014e7600cc08f2655e7 jdk7u51-b06 +3f6dfcad33acb0251c60facb6b5e8dbff41a4114 jdk7u51-b07 +00c7d4007a2f22deb05753bbd2d36f0ce43ac786 jdk7u51-b08 +bb45667f58f57f96c00551db26ab281bd101e892 jdk7u51-b09 +eecfc296009b81934a329e7ce42a53484093f611 jdk7u51-b10 +a26d0e8ab1027e70ae1ded8ede0086a0a4a10256 jdk7u51-b11 +55a509ccc0e4ed49e311c7ecf2ed29a908bc1d6b jdk7u51-b12 +e2f0036f712aa636cfd55334ac21ea7ca2587a7b jdk7u51-b13 diff -r b7fb35bbe70d -r 721b1070efda .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:10:17 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r b7fb35bbe70d -r 721b1070efda make/Makefile --- a/make/Makefile Tue Oct 08 11:10:17 2013 -0700 +++ b/make/Makefile Fri Jan 17 20:22:44 2014 +0000 @@ -150,7 +150,7 @@ #----- bin.zip -BIN_ZIP_FILES = $(BUILD_DIR/lib/orb.idl $(BUILD_DIR)/lib/ir.idl +BIN_ZIP_FILES = $(BUILD_DIR)/lib/orb.idl $(BUILD_DIR)/lib/ir.idl BIN_ZIP = $(LIB_DIR)/bin.zip $(BIN_ZIP): $(BIN_ZIP_FILES) @@ -160,7 +160,7 @@ # # CORBA # -SUBDIRS = tools javax org sun com +SUBDIRS = tools sun/rmi javax org sun com build: $(SUBDIRS-loop) diff -r b7fb35bbe70d -r 721b1070efda make/common/shared/Defs-java.gmk --- a/make/common/shared/Defs-java.gmk Tue Oct 08 11:10:17 2013 -0700 +++ b/make/common/shared/Defs-java.gmk Fri Jan 17 20:22:44 2014 +0000 @@ -81,7 +81,7 @@ ifeq ($(ARCH_DATA_MODEL), 32) JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 else - JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1536 + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1664 endif JAVAC_JVM_FLAGS += $(JAVA_TOOLS_FLAGS:%=-J%) diff -r b7fb35bbe70d -r 721b1070efda make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Tue Oct 08 11:10:17 2013 -0700 +++ b/make/common/shared/Platform.gmk Fri Jan 17 20:22:44 2014 +0000 @@ -153,6 +153,9 @@ OS_VERSION := $(shell uname -r) # Arch and OS name/version mach := $(shell uname -m) + ifneq (,$(wildcard /usr/bin/dpkg-architecture)) + mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/') + endif archExpr = case "$(mach)" in \ i[3-9]86) \ echo i586 \ @@ -169,6 +172,9 @@ arm*) \ echo arm \ ;; \ + sh*) \ + echo sh \ + ;; \ *) \ echo $(mach) \ ;; \ @@ -196,6 +202,9 @@ else ARCH_DATA_MODEL=64 endif + ifeq ($(ARCH), sh) + ARCH_DATA_MODEL=32 + endif endif endif diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java --- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java Fri Jan 17 20:22:44 2014 +0000 @@ -82,11 +82,18 @@ super((ORB)orb); } - public org.omg.CORBA.portable.InputStream create_input_stream() - { - return new AnyInputStream( - (com.sun.corba.se.impl.encoding.EncapsInputStream) - super.create_input_stream()); + public org.omg.CORBA.portable.InputStream create_input_stream() { + final org.omg.CORBA.portable.InputStream is = super + .create_input_stream(); + AnyInputStream aIS = AccessController + .doPrivileged(new PrivilegedAction() { + @Override + public AnyInputStream run() { + return new AnyInputStream( + (com.sun.corba.se.impl.encoding.EncapsInputStream) is); + } + }); + return aIS; } } diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsInputStream.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -36,11 +36,10 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.logging.CORBALogDomains; - import com.sun.corba.se.impl.logging.ORBUtilSystemException; +import sun.corba.EncapsInputStreamFactory; /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -148,7 +147,7 @@ } public CDRInputStream dup() { - return new EncapsInputStream(this); + return EncapsInputStreamFactory.newEncapsInputStream(this); } protected CodeSetConversion.BTCConverter createCharBTCConverter() { diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/EncapsOutputStream.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2004, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2013, 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 @@ -39,6 +39,8 @@ import com.sun.corba.se.impl.protocol.giopmsgheaders.Message; import com.sun.corba.se.impl.orbutil.ORBConstants; +import sun.corba.EncapsInputStreamFactory; + /** * Encapsulations are supposed to explicitly define their * code sets and GIOP version. The original resolution to issue 2784 @@ -107,11 +109,11 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { freeInternalCaches(); - return new EncapsInputStream(orb(), - getByteBuffer(), - getSize(), - isLittleEndian(), - getGIOPVersion()); + return EncapsInputStreamFactory.newEncapsInputStream(orb(), + getByteBuffer(), + getSize(), + isLittleEndian(), + getGIOPVersion()); } protected CodeSetConversion.CTBConverter createCharCTBConverter() { diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeInputStream.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2013, 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 @@ -64,6 +64,8 @@ import com.sun.corba.se.impl.encoding.CDROutputStream; import com.sun.corba.se.impl.encoding.MarshalInputStream; +import sun.corba.EncapsInputStreamFactory; + public class TypeCodeInputStream extends EncapsInputStream implements TypeCodeReader { private Map typeMap = null; @@ -157,11 +159,13 @@ // create an encapsulation using the marshal buffer if (is instanceof CDRInputStream) { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length, - ((CDRInputStream)is).isLittleEndian(), - ((CDRInputStream)is).getGIOPVersion()); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length, + ((CDRInputStream) is).isLittleEndian(), + ((CDRInputStream) is).getGIOPVersion()); } else { - encap = new TypeCodeInputStream((ORB)_orb, encapBuffer, encapBuffer.length); + encap = EncapsInputStreamFactory.newTypeCodeInputStream((ORB) _orb, + encapBuffer, encapBuffer.length); } encap.setEnclosingInputStream(is); encap.makeEncapsulation(); diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java --- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java Fri Jan 17 20:22:44 2014 +0000 @@ -61,6 +61,8 @@ import java.math.BigInteger; import java.nio.ByteBuffer; +import sun.corba.EncapsInputStreamFactory; + public final class TypeCodeOutputStream extends EncapsOutputStream { private OutputStream enclosure = null; @@ -77,9 +79,9 @@ public org.omg.CORBA.portable.InputStream create_input_stream() { - //return new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian()); - TypeCodeInputStream tcis - = new TypeCodeInputStream((ORB)orb(), getByteBuffer(), getIndex(), isLittleEndian(), getGIOPVersion()); + TypeCodeInputStream tcis = EncapsInputStreamFactory + .newTypeCodeInputStream((ORB) orb(), getByteBuffer(), + getIndex(), isLittleEndian(), getGIOPVersion()); //if (TypeCodeImpl.debug) { //System.out.println("Created TypeCodeInputStream " + tcis + " with no parent"); //tcis.printBuffer(); diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java --- a/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java Fri Jan 17 20:22:44 2014 +0000 @@ -33,6 +33,8 @@ import com.sun.corba.se.spi.ior.iiop.GIOPVersion; import com.sun.corba.se.spi.logging.CORBALogDomains; +import sun.corba.EncapsInputStreamFactory; + import com.sun.corba.se.impl.corba.AnyImpl; import com.sun.corba.se.impl.encoding.EncapsInputStream; import com.sun.corba.se.impl.encoding.EncapsOutputStream; @@ -193,8 +195,9 @@ // it is turned into a FormatMismatch exception. try { - EncapsInputStream cdrIn = new EncapsInputStream( orb, data, - data.length, giopVersion ); + EncapsInputStream cdrIn = EncapsInputStreamFactory.newEncapsInputStream( orb, data, + data.length, giopVersion ); + cdrIn.consumeEndian(); diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2013, 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 @@ -370,7 +370,7 @@ * @exception IOException Any of the usual Input/Output related exceptions. * @since JDK1.1 */ - public final Object readObjectDelegate() throws IOException + public final synchronized Object readObjectDelegate() throws IOException { try { @@ -389,7 +389,7 @@ } } - final Object simpleReadObject(Class clz, + final synchronized Object simpleReadObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -461,7 +461,7 @@ return obj; } - public final void simpleSkipObject(String repositoryID, + public final synchronized void simpleSkipObject(String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender) /* throws OptionalDataException, ClassNotFoundException, IOException */ { @@ -559,7 +559,7 @@ * objects. * @since JDK1.1 */ - public final void defaultReadObjectDelegate() + final synchronized void defaultReadObjectDelegate() /* throws IOException, ClassNotFoundException, NotActiveException */ { try { @@ -988,7 +988,7 @@ } } - private Object inputObject(Class clz, + private synchronized Object inputObject(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) @@ -1317,7 +1317,7 @@ * a form of custom marshaling. * */ - private Object inputObjectUsingFVD(Class clz, + private synchronized Object inputObjectUsingFVD(Class clz, String repositoryID, com.sun.org.omg.SendingContext.CodeBase sender, int offset) diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java --- a/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java Fri Jan 17 20:22:44 2014 +0000 @@ -201,7 +201,7 @@ readObjectState.endDefaultReadObject(this); } - public abstract void defaultReadObjectDelegate(); + abstract void defaultReadObjectDelegate(); abstract void readFields(java.util.Map fieldToValueMap) throws java.io.InvalidClassException, java.io.StreamCorruptedException, diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java --- a/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -47,6 +47,8 @@ import com.sun.corba.se.impl.encoding.EncapsOutputStream ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** * This static utility class contains various utility methods for reading and * writing CDR encapsulations. @@ -108,8 +110,8 @@ static public InputStream getEncapsulationStream( InputStream is ) { byte[] data = readOctets( is ) ; - EncapsInputStream result = new EncapsInputStream( is.orb(), data, - data.length ) ; + EncapsInputStream result = EncapsInputStreamFactory.newEncapsInputStream( is.orb(), data, + data.length ) ; result.consumeEndian() ; return result ; } diff -r b7fb35bbe70d -r 721b1070efda src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java --- a/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Tue Oct 08 11:10:17 2013 -0700 +++ b/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyFactoryImpl.java Fri Jan 17 20:22:44 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2013, 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 @@ -49,6 +49,8 @@ import com.sun.corba.se.impl.logging.IORSystemException ; import com.sun.corba.se.impl.encoding.EncapsInputStream ; +import sun.corba.EncapsInputStreamFactory; + /** Based on the magic and scid, return the appropriate * ObjectKeyTemplate. Expects to be called with a valid @@ -217,7 +219,7 @@ public ObjectKey create( byte[] key ) { OctetSeqHolder osh = new OctetSeqHolder() ; - EncapsInputStream is = new EncapsInputStream( orb, key, key.length ) ; + EncapsInputStream is = EncapsInputStreamFactory.newEncapsInputStream( orb, key, key.length ); ObjectKeyTemplate oktemp = create( is, fullKey, osh ) ; From andrew at icedtea.classpath.org Fri Jan 17 12:23:50 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:23:50 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: 42 new changesets Message-ID: changeset 056494e83d15 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=056494e83d15 author: cl date: Wed Oct 09 09:34:55 2013 -0700 Added tag jdk7u45-b31 for changeset 3c34f244296e changeset d439603c2c1d in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=d439603c2c1d author: joehw date: Mon Aug 26 20:39:36 2013 -0700 8022935: Enhance Apache resolver classes Reviewed-by: alanb, mchung, skoivu changeset 821f4884bf5a in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=821f4884bf5a author: asaha date: Tue Aug 27 15:36:21 2013 -0700 Merge changeset b58b3eebb5d9 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=b58b3eebb5d9 author: asaha date: Wed Sep 04 12:28:58 2013 -0700 Merge changeset 71670df6abf8 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=71670df6abf8 author: asaha date: Wed Sep 11 15:32:33 2013 -0700 Merge changeset a21c2865342f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=a21c2865342f author: asaha date: Thu Sep 12 08:10:00 2013 -0700 Merge changeset b5cd020bcc60 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=b5cd020bcc60 author: asaha date: Wed Sep 18 11:18:34 2013 -0700 Merge changeset ed11b0eb4ce8 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=ed11b0eb4ce8 author: asaha date: Wed Sep 18 11:32:36 2013 -0700 Merge changeset 1c4467ab7019 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=1c4467ab7019 author: asaha date: Thu Sep 19 15:32:49 2013 -0700 Merge changeset ae069ad1324d in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=ae069ad1324d author: asaha date: Tue Sep 24 10:54:19 2013 -0700 Merge changeset 47eb61009d86 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=47eb61009d86 author: asaha date: Thu Sep 26 11:25:04 2013 -0700 Merge changeset 0af40df02030 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=0af40df02030 author: asaha date: Fri Sep 27 12:16:39 2013 -0700 Merge changeset 3a348ded5559 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=3a348ded5559 author: asaha date: Fri Sep 27 13:17:26 2013 -0700 Merge changeset 07fa2d34974d in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=07fa2d34974d author: asaha date: Mon Sep 30 10:59:57 2013 -0700 Added tag jdk7u51-b00 for changeset 0a8b95184728 changeset 2450ace952f4 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=2450ace952f4 author: asaha date: Mon Sep 30 11:13:54 2013 -0700 Merge changeset f3bdb445348f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=f3bdb445348f author: cl date: Tue Oct 01 08:36:47 2013 -0700 Added tag jdk7u51-b01 for changeset 2450ace952f4 changeset 7a6fa252ff6f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=7a6fa252ff6f author: asaha date: Tue Oct 08 11:55:17 2013 -0700 Merge changeset 68def851cc6b in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=68def851cc6b author: asaha date: Wed Oct 09 09:54:51 2013 -0700 Merge changeset 0df316a3b311 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=0df316a3b311 author: cl date: Thu Oct 10 10:16:38 2013 -0700 Added tag jdk7u51-b02 for changeset 68def851cc6b changeset 1f0996368d6e in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=1f0996368d6e author: cl date: Tue Oct 15 09:32:02 2013 -0700 Added tag jdk7u51-b03 for changeset 0df316a3b311 changeset 42be8e6266ab in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=42be8e6266ab author: joehw date: Tue Oct 22 12:59:33 2013 -0700 8025018: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, ahgross changeset 0655a95d1609 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=0655a95d1609 author: cl date: Tue Oct 22 22:23:52 2013 -0700 Added tag jdk7u51-b04 for changeset 42be8e6266ab changeset 13a15fc9b6bf in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=13a15fc9b6bf author: cl date: Tue Oct 29 09:09:05 2013 -0700 Added tag jdk7u51-b05 for changeset 0655a95d1609 changeset bbbfbe6d0a9f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=bbbfbe6d0a9f author: cl date: Tue Nov 05 10:58:39 2013 -0800 Added tag jdk7u51-b06 for changeset 13a15fc9b6bf changeset 9736e845a3c1 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=9736e845a3c1 author: mfang date: Thu Nov 07 12:19:09 2013 -0800 8027787: 7u51 l10n resource file translation update 1 Reviewed-by: yhuang changeset 8e4523e579bf in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=8e4523e579bf author: mfang date: Thu Nov 07 12:51:00 2013 -0800 Merge changeset b38271b28253 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=b38271b28253 author: cl date: Tue Nov 12 08:51:45 2013 -0800 Added tag jdk7u51-b07 for changeset 8e4523e579bf changeset 783ceae9b736 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=783ceae9b736 author: joehw date: Thu Nov 14 09:47:24 2013 -0800 8027201: Enhance JAX-P set up Reviewed-by: alanb, dfuchs, lancea, hawtin changeset 7875c882a751 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=7875c882a751 author: cl date: Tue Nov 19 08:37:07 2013 -0800 Added tag jdk7u51-b08 for changeset 783ceae9b736 changeset 8c288622817f in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=8c288622817f author: asaha date: Wed Nov 27 08:21:53 2013 -0800 Added tag jdk7u51-b09 for changeset 7875c882a751 changeset 394a207d1250 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=394a207d1250 author: coffeys date: Thu Nov 21 19:36:12 2013 +0000 8028111: XML readers share the same entity expansion counter Reviewed-by: joehw, robm changeset 55e8ea7085b7 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=55e8ea7085b7 author: coffeys date: Tue Nov 26 19:33:19 2013 +0000 8029038: Revise fix for XML readers share the same entity expansion counter Reviewed-by: joehw, mbankal changeset 65798d05674d in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=65798d05674d author: asaha date: Wed Nov 27 11:19:35 2013 -0800 Merge changeset 70b5691c44d2 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=70b5691c44d2 author: katleman date: Wed Dec 04 10:11:14 2013 -0800 Added tag jdk7u51-b10 for changeset 65798d05674d changeset 807946db29f4 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=807946db29f4 author: katleman date: Tue Dec 10 13:16:04 2013 -0800 Added tag jdk7u51-b11 for changeset 70b5691c44d2 changeset 114654a331e2 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=114654a331e2 author: katleman date: Sat Dec 14 11:51:26 2013 -0800 Added tag jdk7u51-b12 for changeset 807946db29f4 changeset b5a83862ed2a in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=b5a83862ed2a author: cl date: Mon Nov 25 11:02:29 2013 -0800 Added tag jdk7u45-b33 for changeset 056494e83d15 changeset 7fda9b300e07 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=7fda9b300e07 author: katleman date: Fri Dec 06 13:07:32 2013 -0800 Added tag jdk7u45-b34 for changeset b5a83862ed2a changeset 57466a32e645 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=57466a32e645 author: asaha date: Tue Dec 17 11:12:54 2013 -0800 Merge changeset 3161567adae9 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=3161567adae9 author: katleman date: Thu Dec 19 09:01:08 2013 -0800 Added tag jdk7u51-b13 for changeset 114654a331e2 changeset e85ee81daec2 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=e85ee81daec2 author: asaha date: Thu Dec 19 09:33:55 2013 -0800 Merge changeset 8fe156ad49e2 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=8fe156ad49e2 author: andrew date: Fri Jan 17 20:22:46 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 30 ++++ .jcheck/conf | 2 - src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java | 44 ++--- src/com/sun/org/apache/xalan/internal/lib/Extensions.java | 68 ++------ src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java | 3 + src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java | 24 ++- src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java | 74 ++++----- src/com/sun/org/apache/xerces/internal/impl/XMLDocumentScannerImpl.java | 2 + src/com/sun/org/apache/xerces/internal/impl/XMLEntityManager.java | 14 +- src/com/sun/org/apache/xerces/internal/impl/XMLNSDocumentScannerImpl.java | 2 +- src/com/sun/org/apache/xerces/internal/impl/msg/XMLMessages_ja.properties | 2 +- src/com/sun/org/apache/xerces/internal/utils/XMLLimitAnalyzer.java | 6 +- src/com/sun/org/apache/xerces/internal/utils/XMLSecurityManager.java | 45 ++---- src/com/sun/org/apache/xerces/internal/xni/parser/XMLDTDScanner.java | 2 + src/com/sun/org/apache/xml/internal/resolver/CatalogManager.java | 13 +- src/com/sun/org/apache/xml/internal/resolver/readers/DOMCatalogReader.java | 21 +- src/com/sun/org/apache/xml/internal/resolver/readers/SAXCatalogReader.java | 27 +-- 17 files changed, 178 insertions(+), 201 deletions(-) diffs (truncated from 952 to 500 lines): diff -r 3c34f244296e -r 8fe156ad49e2 .hgtags --- a/.hgtags Tue Oct 08 11:12:27 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:46 2014 +0000 @@ -50,6 +50,7 @@ feb05980f9f2964e6bc2b3a8532f9b3054c2289b jdk7-b73 ea7b88c676dd8b269bc858a4a17c14dc96c8aed1 jdk7-b74 555fb78ee4cebed082ca7ddabff46d2e5b4c9026 jdk7-b75 +fb68fd18eb9f9d94bd7f307097b98a5883018da8 icedtea7-1.12 233a4871d3364ec305efd4a58cfd676620a03a90 jdk7-b76 bfadab8c7b1bf806a49d3e1bc19ec919717f057a jdk7-b77 7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78 @@ -63,6 +64,7 @@ 81c0f115bbe5d3bcf59864465b5eca5538567c79 jdk7-b86 8b493f1aa136d86de0885fcba15262c4fa2b1412 jdk7-b87 d8ebd15910034f2ba50b2f129f959f86cca01419 jdk7-b88 +826bafcb6c4abbf24887bfc5a78868e13cddd068 icedtea7-1.13 d2818fd2b036f3b3154a9a7de41afcf4ac679c1b jdk7-b89 c5d932ee326d6f7fd4634b11c7185ea82d184df2 jdk7-b90 b89b2c3044a298d542f84a2e9d957202b7d8cdb9 jdk7-b91 @@ -111,6 +113,7 @@ d56b326ae0544fc16c3e0d0285876f3c82054db2 jdk7-b134 4aa9916693dc1078580c1865e6f2584046851e5a jdk7-b135 1759daa85d33800bd578853f9531f9de73f70fc7 jdk7-b136 +1c2f25bf36b1d43920e94fb82a0afdafd29b1735 icedtea-1.14 1d87f7460cde7f8f30af668490f82b52b879bfd8 jdk7-b137 be3758943770a0a3dd4be6a1cb4063507c4d7062 jdk7-b138 28c7c0ed2444607829ba11ad827f8d52197a2830 jdk7-b139 @@ -123,6 +126,7 @@ bcd31fa1e3c6f51b4fdd427ef905188cdac57164 jdk7-b146 067fb18071e3872698f6218724958bd0cebf30a3 jdk7u1-b01 fc268cd1dd5d2e903ccd4b0275e1f9c2461ed30c jdk7-b147 +b8d01501956a0d41f5587ff1bebbfe5a9b8fea5a icedtea-2.0-branchpoint 104ca42e1e7ca66b074a4619ce6420f15d8f454d jdk7u1-b02 64e323faadf65018c1ffc8bb9c97f7b664e87347 jdk7u1-b03 2256c20e66857f80cacda14ffdbc0979c929d7f8 jdk7u1-b04 @@ -141,6 +145,7 @@ 0e61ef309edd2deb71f53f2bdaf6dcff1c80bfb8 jdk7u2-b12 d9ac427e5149d1db12c6f3e4aa4280587c06aed5 jdk7u2-b13 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u2-b21 +7300d2ab9fb2068250a96ca4afc481c4beb6a42b icedtea-2.1-branchpoint 0efaf5c97fba2ee7864240efaa0df651a2635ae5 jdk7u3-b02 604dd391203960d0028fc95bc70b0ae161e09d99 jdk7u3-b03 551c076358f6691999f613db9b155c83ec9a648d jdk7u3-b04 @@ -157,6 +162,7 @@ 7a37651d304de62b18b343b3ae675ab1b08fc5fe jdk7u4-b10 3fbd87d50fbf4de3987e36ec5f3e8ce1c383ce3d jdk7u4-b11 b4e5df5b18bb75db15ed97da02e5df086d2c7930 jdk7u4-b12 +c51876b27811ba0f6ea3409ba19d357b7400908a icedtea-2.2-branchpoint 7d18bccaec3781f3d4f2d71879f91e257db2f0f7 jdk7u4-b13 82c5b3166b3194e7348b2a9d146b6760c9a77128 jdk7u4-b14 36490d49683f7be9d8fbbe1f8eefa1fe9fe550fa jdk7u5-b01 @@ -191,6 +197,7 @@ 94474d6f28284a1ef492984dd6d6f66f8787de80 jdk7u6-b15 0b329a8d325b6a58d89c6042dac62ce5852380ab jdk7u6-b16 5eb867cdd08ca299fe03b31760acd57aac2b5673 jdk7u6-b17 +445dd0b578fc2ed12c539eb6f9a71cbd40bed4f6 icedtea-2.3-branchpoint 1c4b9671de5c7ed5713f55509cb2ada38b36dffe jdk7u6-b18 3ba4c395d2cf973c8c603b2aedc846bd4ae54656 jdk7u6-b19 4f7b77cc3b252098f52a8f30a74f603783a2e0f1 jdk7u6-b20 @@ -258,6 +265,7 @@ 1b914599a6d5560e743b9fecd390924ed0bf7d15 jdk7u12-b07 427a603569db59f61721e709fcb8a73390d468ae jdk7u12-b08 366ebbf581df0134d9039b649abc315e87f23772 jdk7u12-b09 +14adb683be4ebc49ee729f0253d012795a4a2ae4 icedtea-2.4-branchpoint 23191c790e12841f81ac1cf956e7dbc0b45914ee jdk7u14-b10 825eda7553590ce19eb4fa0686c4405d97daafdb jdk7u14-b11 560e5cf5b57fc91e2bc6dd1809badd58c6eb25bd jdk7u14-b12 @@ -335,6 +343,7 @@ 331e489ecb7b19fa98c60324f7ce5d168284a8c8 jdk7u14-b19 c3c9f04cf10c2fe576b208f6a8ca3777b1d31145 jdk7u14-b19 5e1fee011646b4a3ff29b7b9cdc208e0a0577cb4 jdk7u14-b20 +7f04ed6cb0c382a16c2ffaad05c6122482e03b2e icedtea-2.4.0 d1c8bb1cbc9183fc994b5fedf26886ceda0d59f9 jdk7u14-b21 d1c6afebdfe28eb07eb2d03a6911a0f33b619165 jdk7u14-b22 0e4c549d3635122145ac88bad7b98716976ca49e jdk7u40-b23 @@ -345,6 +354,7 @@ 9186b6efd2b2eafa7fee5be1b043f59f25db12a6 jdk7u40-b28 740942c76fb668a04bf89feccf069f6958651d54 jdk7u40-b29 09b080236bc1a1a68f8b411196cbfa52475c0755 jdk7u40-b30 +5be6b670d08bb0464e0e259ef77fca6adba24b05 icedtea-2.4.1 5b31380e2e0b6f8386dcf0ca122461154f2d2704 jdk7u40-b31 75bb397c4ae26c384e1fcb75bbf4b70479f2c5f7 jdk7u40-b32 ce771024e07d2bb6521735a14ce68745a2376bd8 jdk7u40-b33 @@ -359,6 +369,7 @@ 66363323f14d85d4ab28e883a3323b9d72dea5fd jdk7u40-b42 c0bd71414ea513f54f23965936a837fca093ac91 jdk7u40-b43 91bc4534851265291bb3b16452a0968d6909979f jdk7u40-b60 +135f46e0e653be2631da1da2fd166f2d52c67aa7 icedtea-2.4.2 c500d4ec41ff2117eabfa33e640b6df2f21deb3d jdk7u40-b61 9e3f8ab9d17be6b1a4a097fcc5bc5412013d3e86 jdk7u40-b62 1a7e2024963d3a8d6cde209de0967ac43418b82a jdk7u45-b01 @@ -380,3 +391,22 @@ 2586d303503b5bb6fd39dc0ce572d6e858caf41c jdk7u45-b17 4beb90ab48f7fd46c7a9afbe66f8cccb230699ba jdk7u45-b18 a456c78a50e201a65c9f63565c8291b84a4fbd32 jdk7u45-b30 +8f220f7b51c715a204e09fa6abf326df791b1f1c icedtea-2.4.3 +44952a12fe8f55371eb317be962b4e93c13a815d icedtea-2.4.4 +3c34f244296e98d8ebb94973c752f3395612391a jdk7u45-b31 +056494e83d15cd1c546d32a3b35bdb6f670b3876 jdk7u45-b33 +b5a83862ed2ab9cc2de3719e38c72519481a4bbb jdk7u45-b34 +0a8b95184728548be4b20876e05f76e0262e4195 jdk7u51-b00 +2450ace952f45202e5a3fd4f6a8356a196fe029e jdk7u51-b01 +68def851cc6b17944756f1986734b323d8569571 jdk7u51-b02 +0df316a3b3111427500a86f3282293dd566ae936 jdk7u51-b03 +42be8e6266ab1733a890b21cf6cd6c2e1a48972d jdk7u51-b04 +0655a95d16094971df14171e1c5f841c3a6bd081 jdk7u51-b05 +13a15fc9b6bf7ac065958e038648fbe9952fd9fa jdk7u51-b06 +8e4523e579bf86e514b9c82843b440cb79606b41 jdk7u51-b07 +783ceae9b7369168216d5344475d92de910351e8 jdk7u51-b08 +7875c882a7516366147bffcaaea550c4089f2fc7 jdk7u51-b09 +65798d05674dc9453c5935c018d012b11c8697f8 jdk7u51-b10 +70b5691c44d2830efd4301856e6223fa43894462 jdk7u51-b11 +807946db29f42477e8d8390be01c7e27280bc85c jdk7u51-b12 +114654a331e2f97a048d7ed43d06d7512e20e2c1 jdk7u51-b13 diff -r 3c34f244296e -r 8fe156ad49e2 .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:12:27 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 3c34f244296e -r 8fe156ad49e2 src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java --- a/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Tue Oct 08 11:12:27 2013 -0700 +++ b/src/com/sun/org/apache/xalan/internal/lib/ExsltStrings.java Fri Jan 17 20:22:46 2014 +0000 @@ -52,6 +52,8 @@ */ public class ExsltStrings extends ExsltBase { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; + /** * The str:align function aligns a string within another string. *

@@ -225,7 +227,7 @@ token = str.substring(fromIndex); } - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { Element element = doc.createElement("token"); @@ -289,7 +291,7 @@ { StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { while (lTokenizer.hasMoreTokens()) @@ -305,7 +307,7 @@ else { - Document doc = DocumentHolder.m_doc; + Document doc = getDocument(); synchronized (doc) { for (int i = 0; i < toTokenize.length(); i++) @@ -327,31 +329,23 @@ { return tokenize(toTokenize, " \t\n\r"); } + /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static { - try - { - m_doc =DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + private static Document getDocument() + { + try + { + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } - } diff -r 3c34f244296e -r 8fe156ad49e2 src/com/sun/org/apache/xalan/internal/lib/Extensions.java --- a/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Tue Oct 08 11:12:27 2013 -0700 +++ b/src/com/sun/org/apache/xalan/internal/lib/Extensions.java Fri Jan 17 20:22:46 2014 +0000 @@ -56,6 +56,7 @@ */ public class Extensions { + static final String JDK_DEFAULT_DOM = "com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"; /** * Constructor Extensions * @@ -114,23 +115,14 @@ // This no longer will work right since the DTM. // Document myDoc = myProcessor.getContextNode().getOwnerDocument(); - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - Document myDoc = db.newDocument(); + Document myDoc = getDocument(); - Text textNode = myDoc.createTextNode(textNodeValue); - DocumentFragment docFrag = myDoc.createDocumentFragment(); + Text textNode = myDoc.createTextNode(textNodeValue); + DocumentFragment docFrag = myDoc.createDocumentFragment(); - docFrag.appendChild(textNode); + docFrag.appendChild(textNode); - return new NodeSet(docFrag); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + return new NodeSet(docFrag); } } @@ -249,8 +241,7 @@ public static NodeList tokenize(String toTokenize, String delims) { - Document doc = DocumentHolder.m_doc; - + Document doc = getDocument(); StringTokenizer lTokenizer = new StringTokenizer(toTokenize, delims); NodeSet resultSet = new NodeSet(); @@ -308,17 +299,7 @@ public static Node checkEnvironment(ExpressionContext myContext) { - Document factoryDocument; - try - { - DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); - DocumentBuilder db = dbf.newDocumentBuilder(); - factoryDocument = db.newDocument(); - } - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } + Document factoryDocument = getDocument(); Node resultNode = null; try @@ -391,30 +372,21 @@ } /** - * This class is not loaded until first referenced (see Java Language - * Specification by Gosling/Joy/Steele, section 12.4.1) - * - * The static members are created when this class is first referenced, as a - * lazy initialization not needing checking against null or any - * synchronization. - * + * @return an instance of DOM Document */ - private static class DocumentHolder - { - // Reuse the Document object to reduce memory usage. - private static final Document m_doc; - static + private static Document getDocument() + { + try { - try - { - m_doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + if (System.getSecurityManager() == null) { + return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); + } else { + return DocumentBuilderFactory.newInstance(JDK_DEFAULT_DOM, null).newDocumentBuilder().newDocument(); } - - catch(ParserConfigurationException pce) - { - throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); - } - + } + catch(ParserConfigurationException pce) + { + throw new com.sun.org.apache.xml.internal.utils.WrappedRuntimeException(pce); } } } diff -r 3c34f244296e -r 8fe156ad49e2 src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java --- a/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Tue Oct 08 11:12:27 2013 -0700 +++ b/src/com/sun/org/apache/xalan/internal/xsltc/runtime/BasisLibrary.java Fri Jan 17 20:22:46 2014 +0000 @@ -955,6 +955,9 @@ if (Double.isNaN(d) || Double.isInfinite(d)) return(Double.toString(d)); + //Convert -0.0 to +0.0 other values remains the same + d = d + 0.0; + // Use the XPath formatter to ignore locales StringBuffer result = threadLocalStringBuffer.get(); result.setLength(0); diff -r 3c34f244296e -r 8fe156ad49e2 src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java --- a/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java Tue Oct 08 11:12:27 2013 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDTDScannerImpl.java Fri Jan 17 20:22:46 2014 +0000 @@ -44,6 +44,7 @@ import com.sun.org.apache.xerces.internal.impl.XMLErrorReporter; import com.sun.org.apache.xerces.internal.impl.XMLEntityHandler; import com.sun.org.apache.xerces.internal.impl.Constants; +import com.sun.org.apache.xerces.internal.utils.XMLLimitAnalyzer; import com.sun.org.apache.xerces.internal.utils.XMLSecurityManager; import com.sun.xml.internal.stream.Entity; @@ -262,6 +263,11 @@ fEntityManager.startDTDEntity(inputSource); } // setInputSource(XMLInputSource) + + public void setLimitAnalyzer(XMLLimitAnalyzer limitAnalyzer) { + fLimitAnalyzer = limitAnalyzer; + } + /** * Scans the external subset of the document. * @@ -1625,10 +1631,10 @@ XMLString literal = fString; XMLString literal2 = fString; int countChar = 0; - if (fLimitAnalyzer == null && fSecurityManager != null) { - fLimitAnalyzer = fSecurityManager.getLimitAnalyzer(); + if (fLimitAnalyzer == null ) { + fLimitAnalyzer = new XMLLimitAnalyzer(); + } fLimitAnalyzer.startEntity(entityName); - } if (fEntityScanner.scanLiteral(quote, fString) != quote) { fStringBuffer.clear(); @@ -2145,6 +2151,8 @@ // set starting state setScannerState(SCANNER_STATE_TEXT_DECL); //new SymbolTable()); + + fLimitAnalyzer = new XMLLimitAnalyzer(); } /** @@ -2164,18 +2172,18 @@ */ private void checkLimit(String entityName, int len) { if (fLimitAnalyzer == null) { - fLimitAnalyzer = fSecurityManager.getLimitAnalyzer(); + fLimitAnalyzer = new XMLLimitAnalyzer(); } fLimitAnalyzer.addValue(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT, entityName, len); - if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT)) { - fSecurityManager.debugPrint(); + if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT, fLimitAnalyzer)) { + fSecurityManager.debugPrint(fLimitAnalyzer); reportFatalError("MaxEntitySizeLimit", new Object[]{entityName, fLimitAnalyzer.getValue(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT), fSecurityManager.getLimit(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT), fSecurityManager.getStateLiteral(XMLSecurityManager.Limit.PARAMETER_ENTITY_SIZE_LIMIT)}); } - if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT)) { - fSecurityManager.debugPrint(); + if (fSecurityManager.isOverLimit(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT, fLimitAnalyzer)) { + fSecurityManager.debugPrint(fLimitAnalyzer); reportFatalError("TotalEntitySizeLimit", new Object[]{fLimitAnalyzer.getTotalValue(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT), fSecurityManager.getLimit(XMLSecurityManager.Limit.TOTAL_ENTITY_SIZE_LIMIT), diff -r 3c34f244296e -r 8fe156ad49e2 src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java --- a/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Tue Oct 08 11:12:27 2013 -0700 +++ b/src/com/sun/org/apache/xerces/internal/impl/XMLDocumentFragmentScannerImpl.java Fri Jan 17 20:22:46 2014 +0000 @@ -569,32 +569,13 @@ // xerces features fReportCdataEvent = componentManager.getFeature(Constants.STAX_REPORT_CDATA_EVENT, true); - fSecurityManager = (XMLSecurityManager)componentManager.getProperty(Constants.SECURITY_MANAGER, null); - fLimitAnalyzer = fSecurityManager.getLimitAnalyzer(); - - fElementAttributeLimit = (fSecurityManager != null)? - fSecurityManager.getLimit(XMLSecurityManager.Limit.ELEMENT_ATTRIBUTE_LIMIT):0; - fNotifyBuiltInRefs = componentManager.getFeature(NOTIFY_BUILTIN_REFS, false); Object resolver = componentManager.getProperty(ENTITY_RESOLVER, null); fExternalSubsetResolver = (resolver instanceof ExternalSubsetResolver) ? (ExternalSubsetResolver) resolver : null; - // initialize vars - fMarkupDepth = 0; - fCurrentElement = null; - fElementStack.clear(); - fHasExternalDTD = false; - fStandaloneSet = false; - fStandalone = false; - fInScanContent = false; - //skipping algorithm - fShouldSkip = false; - fAdd = false; - fSkip = false; - //attribute fReadingAttributes = false; //xxx: external entities are supported in Xerces @@ -606,9 +587,6 @@ // setup Driver setScannerState(SCANNER_STATE_CONTENT); setDriver(fContentDriver); - fEntityStore = fEntityManager.getEntityStore(); - - dtdGrammarUtil = null; // JAXP 1.5 features and properties XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager) @@ -617,6 +595,7 @@ fStrictURI = componentManager.getFeature(STANDARD_URI_CONFORMANT, false); + resetCommon(); //fEntityManager.test(); } // reset(XMLComponentManager) @@ -630,17 +609,7 @@ fNamespaces = ((Boolean)propertyManager.getProperty(XMLInputFactory.IS_NAMESPACE_AWARE)).booleanValue(); fNotifyBuiltInRefs = false ; - // initialize vars - fMarkupDepth = 0; - fCurrentElement = null; - fShouldSkip = false; - fAdd = false; - fSkip = false; - fElementStack.clear(); //fElementStack2.clear(); - fHasExternalDTD = false; - fStandaloneSet = false; - fStandalone = false; //fReplaceEntityReferences = true; //fSupportExternalEntities = true; Boolean bo = (Boolean)propertyManager.getProperty(XMLInputFactoryImpl.IS_REPLACING_ENTITY_REFERENCES); @@ -661,20 +630,43 @@ //we dont need to do this -- nb. //setScannerState(SCANNER_STATE_CONTENT); //setDriver(fContentDriver); - fEntityStore = fEntityManager.getEntityStore(); //fEntityManager.test(); - dtdGrammarUtil = null; - // JAXP 1.5 features and properties XMLSecurityPropertyManager spm = (XMLSecurityPropertyManager) propertyManager.getProperty(XML_SECURITY_PROPERTY_MANAGER); fAccessExternalDTD = spm.getValue(XMLSecurityPropertyManager.Property.ACCESS_EXTERNAL_DTD); fSecurityManager = (XMLSecurityManager)propertyManager.getProperty(Constants.SECURITY_MANAGER); - fLimitAnalyzer = fSecurityManager.getLimitAnalyzer(); + resetCommon(); } // reset(XMLComponentManager) + void resetCommon() { + // initialize vars + fMarkupDepth = 0; + fCurrentElement = null; + fElementStack.clear(); + fHasExternalDTD = false; + fStandaloneSet = false; + fStandalone = false; + fInScanContent = false; From andrew at icedtea.classpath.org Fri Jan 17 12:24:05 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:24:05 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: 38 new changesets Message-ID: changeset e040abab3625 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=e040abab3625 author: cl date: Wed Oct 09 09:34:57 2013 -0700 Added tag jdk7u45-b31 for changeset 6802a1c098c4 changeset 39ff85cc715a in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=39ff85cc715a author: asaha date: Thu Sep 12 08:10:26 2013 -0700 Merge changeset 59955e1a7dd9 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=59955e1a7dd9 author: asaha date: Wed Sep 18 11:18:52 2013 -0700 Merge changeset e08f65847031 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=e08f65847031 author: asaha date: Wed Sep 18 11:33:05 2013 -0700 Merge changeset abc0a1824ac1 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=abc0a1824ac1 author: asaha date: Thu Sep 19 15:33:00 2013 -0700 Merge changeset f872a2c20c73 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=f872a2c20c73 author: asaha date: Tue Sep 24 10:54:36 2013 -0700 Merge changeset c89fb333a433 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=c89fb333a433 author: asaha date: Thu Sep 26 11:25:22 2013 -0700 Merge changeset 789accb40535 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=789accb40535 author: asaha date: Fri Sep 27 12:16:57 2013 -0700 Merge changeset 633d2b660dc7 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=633d2b660dc7 author: asaha date: Fri Sep 27 13:17:38 2013 -0700 Merge changeset abb36d7905e1 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=abb36d7905e1 author: asaha date: Mon Sep 30 11:00:01 2013 -0700 Added tag jdk7u51-b00 for changeset 5524cced32d3 changeset db9e3328f393 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=db9e3328f393 author: asaha date: Mon Sep 30 11:14:12 2013 -0700 Merge changeset 37c05268d345 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=37c05268d345 author: cl date: Tue Oct 01 08:36:48 2013 -0700 Added tag jdk7u51-b01 for changeset db9e3328f393 changeset 33b208594508 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=33b208594508 author: asaha date: Tue Oct 08 11:55:59 2013 -0700 Merge changeset 92a4787cb361 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=92a4787cb361 author: asaha date: Wed Oct 09 09:55:47 2013 -0700 Merge changeset 2240523feb96 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=2240523feb96 author: cl date: Thu Oct 10 10:16:39 2013 -0700 Added tag jdk7u51-b02 for changeset 92a4787cb361 changeset 50eb8741c48b in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=50eb8741c48b author: cl date: Tue Oct 15 09:32:03 2013 -0700 Added tag jdk7u51-b03 for changeset 2240523feb96 changeset d2c4d2c9fc71 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=d2c4d2c9fc71 author: mkos date: Wed Oct 16 10:23:23 2013 -0400 8010935: Better XML handling Reviewed-by: mchung, mgrebac, mullan changeset 74ebb62c1324 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=74ebb62c1324 author: mullan date: Wed Oct 16 10:26:00 2013 -0400 Merge changeset c4f7cc35e47a in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=c4f7cc35e47a author: mullan date: Thu Oct 17 17:37:46 2013 -0400 8026826: JDK 7 fix for 8010935 broke the build Reviewed-by: prr changeset f8f0617c0310 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=f8f0617c0310 author: cl date: Tue Oct 22 22:23:54 2013 -0700 Added tag jdk7u51-b04 for changeset c4f7cc35e47a changeset 49fc29e8890c in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=49fc29e8890c author: cl date: Tue Oct 29 09:09:07 2013 -0700 Added tag jdk7u51-b05 for changeset f8f0617c0310 changeset f6dd9063f3b3 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=f6dd9063f3b3 author: cl date: Tue Nov 05 10:58:41 2013 -0800 Added tag jdk7u51-b06 for changeset 49fc29e8890c changeset b0ef08d5e517 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=b0ef08d5e517 author: mkos date: Fri Nov 08 20:15:52 2013 +0100 8027224: test regression - ClassNotFoundException Summary: test regression; fix also reviewed by Filipp Zkinkin, Iaroslav Savytskyi, Alexander Fomin Reviewed-by: mgrebac changeset c3a650bee848 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=c3a650bee848 author: mkos date: Sat Nov 09 10:15:41 2013 +0100 8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue Reviewed-by: asaha changeset da128632f015 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=da128632f015 author: mkos date: Sat Nov 09 10:19:31 2013 +0100 8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 Summary: test regression; fix also reviewed by Maxim Soloviev, Alexander Fomin Reviewed-by: mgrebac changeset 71a314d55844 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=71a314d55844 author: cl date: Tue Nov 12 08:51:47 2013 -0800 Added tag jdk7u51-b07 for changeset da128632f015 changeset 1d160e2b9f7b in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=1d160e2b9f7b author: cl date: Tue Nov 19 08:37:08 2013 -0800 Added tag jdk7u51-b08 for changeset 71a314d55844 changeset 3b53d5ea0aec in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=3b53d5ea0aec author: mkos date: Thu Nov 21 11:15:32 2013 +0100 8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 Summary: test regression; fix also reviewed by Iaroslav Savytskyi, Alexander Fomin Reviewed-by: mchung changeset 53a566a724e5 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=53a566a724e5 author: asaha date: Wed Nov 27 08:22:12 2013 -0800 Added tag jdk7u51-b09 for changeset 3b53d5ea0aec changeset 708507f4795c in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=708507f4795c author: katleman date: Wed Dec 04 10:11:15 2013 -0800 Added tag jdk7u51-b10 for changeset 53a566a724e5 changeset 7c7c2ea4b680 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=7c7c2ea4b680 author: katleman date: Tue Dec 10 13:16:09 2013 -0800 Added tag jdk7u51-b11 for changeset 708507f4795c changeset 81a1b110f70c in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=81a1b110f70c author: katleman date: Sat Dec 14 11:51:29 2013 -0800 Added tag jdk7u51-b12 for changeset 7c7c2ea4b680 changeset e7df5d6b23c6 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=e7df5d6b23c6 author: cl date: Mon Nov 25 11:02:31 2013 -0800 Added tag jdk7u45-b33 for changeset e040abab3625 changeset c654ba4b2392 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=c654ba4b2392 author: katleman date: Fri Dec 06 13:07:35 2013 -0800 Added tag jdk7u45-b34 for changeset e7df5d6b23c6 changeset 6f9e7eece4ff in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=6f9e7eece4ff author: asaha date: Tue Dec 17 11:13:26 2013 -0800 Merge changeset 5dbeb9983f10 in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=5dbeb9983f10 author: katleman date: Thu Dec 19 09:01:10 2013 -0800 Added tag jdk7u51-b13 for changeset 81a1b110f70c changeset eb79f394916e in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=eb79f394916e author: asaha date: Thu Dec 19 09:34:14 2013 -0800 Merge changeset 32ea8b1ed91a in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=32ea8b1ed91a author: andrew date: Fri Jan 17 20:22:47 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 30 +++ .jcheck/conf | 2 - src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java | 10 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java | 5 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java | 12 +- src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java | 8 + src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeAnyTypeImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeElementInfoImpl.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeModelBuilder.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/RuntimeTypeInfoSetImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/Navigator.java | 10 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/nav/ReflectionNavigator.java | 38 ++- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/runtime/RuntimeTypeInfoSet.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/ElementBeanInfoImpl.java | 7 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/JAXBContextImpl.java | 11 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/ArrayProperty.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/SingleMapNodeProperty.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Accessor.java | 5 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Lister.java | 9 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/TransducedAccessor.java | 6 +- src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/fault/SOAPFaultBuilder.java | 46 ++++- src/share/jaxws_classes/com/sun/xml/internal/ws/model/RuntimeModeler.java | 13 +- src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java | 85 ++++++++++ src/share/jaxws_classes/com/sun/xml/internal/ws/model/WrapperBeanGenerator.java | 4 +- 33 files changed, 756 insertions(+), 127 deletions(-) diffs (truncated from 1619 to 500 lines): diff -r 6802a1c098c4 -r 32ea8b1ed91a .hgtags --- a/.hgtags Tue Oct 08 11:12:44 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:47 2014 +0000 @@ -50,6 +50,7 @@ 558985e26fe16f5a6ebb2edb9180a42e1c8e8202 jdk7-b73 f4466e1b608088c90e11beaa4b600f102608c6a1 jdk7-b74 fcf2b8b5d606641659419f247fcee4b284c45e6e jdk7-b75 +0dc08d528c998ca993e759b311e7b54c98e0ef28 icedtea7-1.12 765d2077d1e652e234d27fe85ba58a986b488503 jdk7-b76 5b4968c110476085225d3a71c4210fad2c1116c1 jdk7-b77 fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78 @@ -63,6 +64,7 @@ 512b0e924a5ae0c0b7ad326182cae0dc0e4d1aa8 jdk7-b86 3febd6fab2ac8ffddbaf7bed00d11290262af153 jdk7-b87 8c666f8f3565974e301ccb58b7538912551a6e26 jdk7-b88 +1661166c82dc2102f3f0364e28d1e4211f25a4cf icedtea7-1.13 bf3675aa7f20fc6f241ce95760005aef2a30ff41 jdk7-b89 ead7c4566a0017bcb44b468b3ac03b60dc5333ce jdk7-b90 cf4686bf35abd1e573f09fa43cbec66403160ae9 jdk7-b91 @@ -111,6 +113,7 @@ 545de8303fec939db3892f7c324dd7df197e8f09 jdk7-b134 d5fc61f18043765705ef22b57a68c924ab2f1a5b jdk7-b135 c81d289c9a532d6e94af3c09d856a2a20529040f jdk7-b136 +339c2d381d80dbf9b74604e6ba43ead276b8024e icedtea-1.14 ccea3282991ce8b678e188cf32a8239f76ff3bfa jdk7-b137 cc956c8a8255583535597e9a63db23c510e9a063 jdk7-b138 c025078c8362076503bb83b8e4da14ba7b347940 jdk7-b139 @@ -123,6 +126,7 @@ 05469dd4c3662c454f8a019e492543add60795cc jdk7-b146 c01bfd68d0528bc88348813c4d75d7f5c62bc4e2 jdk7u1-b01 d13b1f877bb5ed8dceb2f7ec10365d1db5f70b2d jdk7-b147 +e6cd09c7ef22bbabe31c9f2a32c7e13cfa713fd3 icedtea-2.0-branchpoint 4c24f7019ce939a452154a83151294ad7da66a9d jdk7u1-b02 272778f529d11081f548f37fcd6a7aec0b11a8dd jdk7u1-b03 48b06a6e6f46e5bcd610f4bed57cd5067cf31f8c jdk7u1-b04 @@ -141,6 +145,7 @@ 21131044a61353ac20e360bce52d8f480e08d7a2 jdk7u2-b12 9728fd833e01faa5e51484aeaf3c51d32d1175fb jdk7u2-b13 d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u2-b21 +d26ff33070cb75a0a7349d965ec4f0930ded418d icedtea-2.1-branchpoint d6db86a7ca32e6d97844f633badc0d516e55694f jdk7u3-b02 44e824502fa24440f907205ccdc3959d01bd8109 jdk7u3-b03 6e1cc321aacea944691aa06558f2bbad89baf5b3 jdk7u3-b04 @@ -157,6 +162,7 @@ 3891fe529057431278394c6341cfabaacd5061f5 jdk7u4-b10 2df5cd83fab91f050c4bac54aa06e174ecee38f4 jdk7u4-b11 4d3a9fe44f7531642bc739ec3c8efb2e6d9e08c7 jdk7u4-b12 +1854d8e2547cb18ebcf84db13c22d0987c49c274 icedtea-2.2-branchpoint c3b6659aa169b3f249246497a8d5a87baa1e798a jdk7u4-b13 0f8963feaefda21e72f84b8ea49834a289d537f3 jdk7u4-b14 61516652b59ec411678b38a232a84413652a4172 jdk7u5-b01 @@ -191,6 +197,7 @@ f1dba7ebe6a50c22ffcaf85b14b31462ce008556 jdk7u6-b15 e1d2afbb63d27600dd8c8a021eadff84a901a73c jdk7u6-b16 401bdbbf89c9187b51dc8906c0e2700ef0ffc8a3 jdk7u6-b17 +8888d2790217c31edbf13ea81d9ac06210092ad2 icedtea-2.3-branchpoint a1daf7097c61181216233e4850ef6ec56b0fe6b6 jdk7u6-b18 58c1c6ecf8f1e59db9b575ae57b2894d0152d319 jdk7u6-b19 6d17242f12edc643ecab4263e656003a1ca44c03 jdk7u6-b20 @@ -258,6 +265,7 @@ 42ba62cdc1f3c357b6d192612dd1c4b209df2662 jdk7u12-b07 66f36438f54812e44327d38129d9488e5ea59e73 jdk7u12-b08 c130f21b16a2b2e2b961362bc4baf40fde2be458 jdk7u12-b09 +a653d06d5b50cacf58aebbab8b55e7e00587cd4c icedtea-2.4-branchpoint 9207c72345c9e82d4445764df57706f7b33a7981 jdk7u14-b10 444aa84f38df2607140e9ce35a21fef0965d27a6 jdk7u14-b11 40afea757379cfaaadca13eeb7dcbc0fe195f73d jdk7u14-b12 @@ -335,6 +343,7 @@ 82be38857de3b2f6d8def98034f3e7b0827fd9f0 jdk7u14-b19 d63b21e6c3d29305400dbfc1500090cab89f25d1 jdk7u14-b19 dd695ad6c5ec797fe61db31600a3fd2dbc62247b jdk7u14-b20 +426b7a73ab43aca754c19dc21497ae90c147f91a icedtea-2.4.0 97bbac299eb801709a924fe777b3ee9c96829d8b jdk7u14-b21 6e74b3e1773cfbac99998431a5a54c70baaf1dc5 jdk7u14-b22 e9bbdf789d2b512550e0ca80629980e96f02146d jdk7u40-b23 @@ -345,6 +354,7 @@ 016957700ac905ebf3432ae8ba17d3576a51e585 jdk7u40-b28 15a82c84d9f7f6c99310380d4766fc68a3882671 jdk7u40-b29 2f8f617ecc4f0772b090a3be742780d8375c68f6 jdk7u40-b30 +c0e48fdfb6959d4024f49e99321d368810d2d7ef icedtea-2.4.1 f500fd46c18b783f7b4ab22314f64f131f50c5d5 jdk7u40-b31 83a688927f16b69690f707a6b579edbe55b01e25 jdk7u40-b32 3ceef25a8cdd9a27a7a2dea0efd8721100cfa30f jdk7u40-b33 @@ -359,6 +369,7 @@ 89f6c9663d75d9e4b672aed16f885b84232e9c93 jdk7u40-b42 3ee85b3793de16855e20272336a3565af8477b6b jdk7u40-b43 cbeef786ce489096c39ec5effee4f8f9e770b4af jdk7u40-b60 +a2ff16e5361fdfbc82764eda29a8d6c24bbd1c8e icedtea-2.4.2 4ee34d2cf2d84d0e1f5f20381ade525665ae424c jdk7u40-b61 b42a4cb742cf76f6c02d105349a7e8111ab8d68b jdk7u40-b62 000becfcb945d8592cfdef6ef1704b532af56762 jdk7u45-b01 @@ -380,3 +391,22 @@ a8baf22b5972e269a97f7b3b7eec2ad63a8c5aed jdk7u45-b17 65b0f3ccdc8bcff0d79e1b543a8cefb817529b3f jdk7u45-b18 c32c6a662d18d7195fc02125178c7543ce09bb00 jdk7u45-b30 +652eb396f959d66025120ffb1e778b606bfa68b3 icedtea-2.4.3 +942dddc2d84e28a0f79715693238a4e57016ca82 icedtea-2.4.4 +6802a1c098c48b2c8336e06f1565254759025bab jdk7u45-b31 +e040abab3625fbced33b30cba7c0307236268211 jdk7u45-b33 +e7df5d6b23c64509672d262187f51cde14db4e66 jdk7u45-b34 +5524cced32d3959d95ed414add230273bc10c38d jdk7u51-b00 +db9e3328f393313e52cbf3fee5236aa2429028d0 jdk7u51-b01 +92a4787cb3617005a329fb49247c550e8d7eb47a jdk7u51-b02 +2240523feb968d7921e22f6730c299246a4125d0 jdk7u51-b03 +c4f7cc35e47a4db7f380d62127dd2b49713f5552 jdk7u51-b04 +f8f0617c0310b638855add08df58c5b9cd7e2dcb jdk7u51-b05 +49fc29e8890c52e771beb3fd9bf3cbb9ecbf5f5e jdk7u51-b06 +da128632f015df99d0f6a53547484dbe44f722fb jdk7u51-b07 +71a314d55844bd6fe18aed56ce065b8df5c5cb82 jdk7u51-b08 +3b53d5ea0aec473b637cd0e49f227304bac848a7 jdk7u51-b09 +53a566a724e59f31bbd25a6a21f0f36adb36e82b jdk7u51-b10 +708507f4795cad1f0cf7e19ff2dc16fe9d441754 jdk7u51-b11 +7c7c2ea4b6808d0abf7fd48d11440d75b0c08d3a jdk7u51-b12 +81a1b110f70c37d2c2f0de7c0ef3bd2d04aba475 jdk7u51-b13 diff -r 6802a1c098c4 -r 32ea8b1ed91a .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:12:44 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java --- a/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/jxc/model/nav/APTNavigator.java Fri Jan 17 20:22:47 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -71,8 +71,7 @@ * * @author Kohsuke Kawaguchi (kk at kohsuke.org) */ -public class APTNavigator implements Navigator { - +public final class APTNavigator implements Navigator { private final AnnotationProcessorEnvironment env; private final PrimitiveType primitiveByte; @@ -277,8 +276,9 @@ return clazz.getPackage().getQualifiedName(); } - public TypeDeclaration findClass(String className, TypeDeclaration referencePoint) { - return env.getTypeDeclaration(className); + @Override + public TypeDeclaration loadObjectFactory(TypeDeclaration referencePoint, String packageName) { + return env.getTypeDeclaration(packageName + ".ObjectFactory"); } public boolean isBridgeMethod(MethodDeclaration method) { diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/EagerNType.java Fri Jan 17 20:22:47 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -30,7 +30,6 @@ import com.sun.codemodel.internal.JType; import com.sun.tools.internal.xjc.outline.Aspect; import com.sun.tools.internal.xjc.outline.Outline; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; /** * @author Kohsuke Kawaguchi @@ -69,6 +68,6 @@ } public String fullName() { - return Navigator.REFLECTION.getTypeName(t); + return Utils.REFLECTION_NAVIGATOR.getTypeName(t); } } diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/NavigatorImpl.java Fri Jan 17 20:22:47 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -56,7 +56,7 @@ EagerNType ent = (EagerNType) nt; if (base instanceof EagerNClass) { EagerNClass enc = (EagerNClass) base; - return create(REFLECTION.getBaseClass(ent.t, enc.c)); + return create(Utils.REFLECTION_NAVIGATOR.getBaseClass(ent.t, enc.c)); } // lazy class can never be a base type of an eager type return null; @@ -176,7 +176,7 @@ public NType getTypeArgument(NType nt, int i) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return create(REFLECTION.getTypeArgument(ent.t,i)); + return create(Utils.REFLECTION_NAVIGATOR.getTypeArgument(ent.t,i)); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -189,7 +189,7 @@ public boolean isParameterizedType(NType nt) { if (nt instanceof EagerNType) { EagerNType ent = (EagerNType) nt; - return REFLECTION.isParameterizedType(ent.t); + return Utils.REFLECTION_NAVIGATOR.isParameterizedType(ent.t); } if (nt instanceof NClassByJClass) { NClassByJClass nnt = (NClassByJClass) nt; @@ -303,8 +303,8 @@ throw new UnsupportedOperationException(); } - public NClass findClass(String className, NClass referencePoint) { - // TODO: implement this method later + @Override + public NClass loadObjectFactory(NClass referencePoint, String pkg) { throw new UnsupportedOperationException(); } diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java Fri Jan 17 20:22:47 2014 +0000 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.tools.internal.xjc.model.nav; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/reader/xmlschema/parser/SchemaConstraintChecker.java Fri Jan 17 20:22:47 2014 +0000 @@ -67,6 +67,14 @@ SchemaFactory sf = SchemaFactory.newInstance(W3C_XML_SCHEMA_NS_URI); sf.setErrorHandler(errorFilter); + try { + // By default the SchemaFactory imposes a limit of 5000 on + // xsd:sequence maxOccurs if a SecurityManager is + // installed. This breaks the specification of xjc, + // causing TCK failures. + sf.setProperty("http://apache.org/xml/properties/security-manager", null); + } catch (SAXException e) { + } if( entityResolver != null ) { sf.setResourceResolver(new LSResourceResolver() { public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) { diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/JAXBRIContext.java Fri Jan 17 20:22:47 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -45,7 +45,6 @@ import com.sun.xml.internal.bind.api.impl.NameConverter; import com.sun.xml.internal.bind.v2.ContextFactory; import com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; import com.sun.xml.internal.bind.v2.model.runtime.RuntimeTypeInfoSet; /** @@ -404,7 +403,7 @@ * @since 2.0 FCS */ public static @Nullable Type getBaseType(@NotNull Type type, @NotNull Class baseType) { - return Navigator.REFLECTION.getBaseClass(type,baseType); + return Utils.REFLECTION_NAVIGATOR.getBaseClass(type, baseType); } diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/TypeReference.java Fri Jan 17 20:22:47 2014 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2013, 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 @@ -31,8 +31,6 @@ import javax.xml.namespace.QName; -import com.sun.xml.internal.bind.v2.model.nav.Navigator; - /** * A reference to a JAXB-bound type. * @@ -104,11 +102,10 @@ // if we are to reinstitute this check, check JAXB annotations only // assert annotations.length==0; // not designed to work with adapters. - Type base = Navigator.REFLECTION.getBaseClass(type, Collection.class); + Type base = Utils.REFLECTION_NAVIGATOR.getBaseClass(type, Collection.class); if(base==null) return this; // not a collection - return new TypeReference(tagName, - Navigator.REFLECTION.getTypeArgument(base,0)); + return new TypeReference(tagName, Utils.REFLECTION_NAVIGATOR.getTypeArgument(base,0)); } } diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java Fri Jan 17 20:22:47 2014 +0000 @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2013, 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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. + */ + +package com.sun.xml.internal.bind.api; + +import com.sun.xml.internal.bind.v2.model.nav.Navigator; + +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.logging.Level; +import java.util.logging.Logger; + +/** + * Utils class. + * + * WARNING: If you are doing any changes don't forget to change other Utils classes in different packages. + * + * Has *package private* access to avoid inappropriate usage. + */ +/* package */ final class Utils { + + private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); + + /** + * static ReflectionNavigator field to avoid usage of reflection every time we use it. + */ + /* package */ static final Navigator REFLECTION_NAVIGATOR; + + static { // we statically initializing REFLECTION_NAVIGATOR property + Class refNav = null; + try { + refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + //noinspection unchecked + Method getInstance = refNav.getDeclaredMethod("getInstance"); + getInstance.setAccessible(true); + //noinspection unchecked + REFLECTION_NAVIGATOR = (Navigator) getInstance.invoke(null); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + throw new IllegalStateException("Can't find ReflectionNavigator class"); + } catch (InvocationTargetException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance throws the exception"); + } catch (NoSuchMethodException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance can't be found"); + } catch (IllegalAccessException e) { + e.printStackTrace(); + throw new IllegalStateException("ReflectionNavigator.getInstance method is inaccessible"); + } catch (SecurityException e) { + LOGGER.log(Level.FINE, "Unable to access ReflectionNavigator.getInstance", e); + throw e; + } + } + + /** + * private constructor to avoid util class instantiating + */ + private Utils() { + } +} diff -r 6802a1c098c4 -r 32ea8b1ed91a src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Tue Oct 08 11:12:44 2013 -0700 +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/ModelBuilder.java Fri Jan 17 20:22:47 2014 +0000 @@ -235,7 +235,7 @@ String pkg = nav.getPackageName(ci.getClazz()); if(!registries.containsKey(pkg)) { // insert the package's object factory - C c = loadObjectFactory(ci, pkg); + C c = nav.loadObjectFactory(clazz, pkg); if(c!=null) addRegistry(c,(Locatable)p); } @@ -264,15 +264,6 @@ return r; } - private C loadObjectFactory(ClassInfoImpl ci, String pkg) { - try { From andrew at icedtea.classpath.org Fri Jan 17 12:24:15 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:24:15 +0000 Subject: /hg/release/icedtea7-forest-2.4/langtools: 33 new changesets Message-ID: changeset ef7bdbe7f1fa in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=ef7bdbe7f1fa author: cl date: Wed Oct 09 09:35:12 2013 -0700 Added tag jdk7u45-b31 for changeset 7f5cfaedb25c changeset 591b0e947c04 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=591b0e947c04 author: asaha date: Thu Sep 12 08:13:16 2013 -0700 Merge changeset 058d55941249 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=058d55941249 author: asaha date: Wed Sep 18 11:21:00 2013 -0700 Merge changeset 7e9fe0a89f90 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=7e9fe0a89f90 author: asaha date: Wed Sep 18 11:36:33 2013 -0700 Merge changeset 83fcd22f90e4 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=83fcd22f90e4 author: asaha date: Thu Sep 19 15:33:56 2013 -0700 Merge changeset 083ce047cf94 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=083ce047cf94 author: asaha date: Tue Sep 24 10:55:57 2013 -0700 Merge changeset b1295b13534f in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=b1295b13534f author: asaha date: Thu Sep 26 11:26:46 2013 -0700 Merge changeset f8576d750234 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=f8576d750234 author: asaha date: Fri Sep 27 12:18:23 2013 -0700 Merge changeset e4db78716919 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=e4db78716919 author: asaha date: Fri Sep 27 13:18:35 2013 -0700 Merge changeset 5e8ed6530196 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=5e8ed6530196 author: asaha date: Mon Sep 30 11:00:44 2013 -0700 Added tag jdk7u51-b00 for changeset 18d1864abca9 changeset 14d1cf2630ae in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=14d1cf2630ae author: asaha date: Mon Sep 30 11:15:32 2013 -0700 Merge changeset 91fd49745ba1 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=91fd49745ba1 author: cl date: Tue Oct 01 08:37:01 2013 -0700 Added tag jdk7u51-b01 for changeset 14d1cf2630ae changeset 13cf4886911f in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=13cf4886911f author: asaha date: Tue Oct 08 12:01:54 2013 -0700 Merge changeset f0168ccf171e in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=f0168ccf171e author: asaha date: Wed Oct 09 09:59:21 2013 -0700 Merge changeset 33f986894a3e in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=33f986894a3e author: cl date: Thu Oct 10 10:16:56 2013 -0700 Added tag jdk7u51-b02 for changeset f0168ccf171e changeset 9a4b7362a592 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=9a4b7362a592 author: cl date: Tue Oct 15 09:32:17 2013 -0700 Added tag jdk7u51-b03 for changeset 33f986894a3e changeset c8d1379f16eb in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=c8d1379f16eb author: cl date: Tue Oct 22 22:24:14 2013 -0700 Added tag jdk7u51-b04 for changeset 9a4b7362a592 changeset 1e8c8518497b in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=1e8c8518497b author: cl date: Tue Oct 29 09:09:22 2013 -0700 Added tag jdk7u51-b05 for changeset c8d1379f16eb changeset 253a82945c71 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=253a82945c71 author: cl date: Tue Nov 05 10:59:13 2013 -0800 Added tag jdk7u51-b06 for changeset 1e8c8518497b changeset 60d5dc8c5c8c in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=60d5dc8c5c8c author: mfang date: Thu Nov 07 12:19:56 2013 -0800 8027787: 7u51 l10n resource file translation update 1 Reviewed-by: yhuang changeset 009a4086b2a6 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=009a4086b2a6 author: mfang date: Thu Nov 07 12:51:19 2013 -0800 Merge changeset cccd0d52003d in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=cccd0d52003d author: cl date: Tue Nov 12 08:52:01 2013 -0800 Added tag jdk7u51-b07 for changeset 009a4086b2a6 changeset d8a69a841acd in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=d8a69a841acd author: cl date: Tue Nov 19 08:37:22 2013 -0800 Added tag jdk7u51-b08 for changeset cccd0d52003d changeset 7e33fc6adc82 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=7e33fc6adc82 author: asaha date: Wed Nov 27 08:26:33 2013 -0800 Added tag jdk7u51-b09 for changeset d8a69a841acd changeset c9d8d8793d93 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=c9d8d8793d93 author: katleman date: Wed Dec 04 10:11:33 2013 -0800 Added tag jdk7u51-b10 for changeset 7e33fc6adc82 changeset 5b44df2114e4 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=5b44df2114e4 author: katleman date: Tue Dec 10 13:16:47 2013 -0800 Added tag jdk7u51-b11 for changeset c9d8d8793d93 changeset 4d0807934c30 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=4d0807934c30 author: katleman date: Sat Dec 14 11:51:46 2013 -0800 Added tag jdk7u51-b12 for changeset 5b44df2114e4 changeset bcb3e939d046 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=bcb3e939d046 author: cl date: Mon Nov 25 11:02:43 2013 -0800 Added tag jdk7u45-b33 for changeset ef7bdbe7f1fa changeset efbda7abd821 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=efbda7abd821 author: katleman date: Fri Dec 06 13:07:51 2013 -0800 Added tag jdk7u45-b34 for changeset bcb3e939d046 changeset 96d897736590 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=96d897736590 author: asaha date: Tue Dec 17 11:20:41 2013 -0800 Merge changeset ada23e55d76a in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=ada23e55d76a author: katleman date: Thu Dec 19 09:01:27 2013 -0800 Added tag jdk7u51-b13 for changeset 4d0807934c30 changeset e3d4896d52ab in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=e3d4896d52ab author: asaha date: Thu Dec 19 09:36:21 2013 -0800 Merge changeset dabd37b7e295 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=dabd37b7e295 author: andrew date: Fri Jan 17 20:22:48 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 30 ++++++++++ .jcheck/conf | 2 - make/Makefile | 4 + make/build.properties | 3 +- make/build.xml | 2 +- src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties | 4 +- src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties | 2 +- src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties | 10 +- src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties | 2 +- test/tools/javac/T5090006/broken.jar | Bin 10 files changed, 46 insertions(+), 13 deletions(-) diffs (230 lines): diff -r 7f5cfaedb25c -r dabd37b7e295 .hgtags --- a/.hgtags Tue Oct 08 11:14:47 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:48 2014 +0000 @@ -50,6 +50,7 @@ 9596dff460935f09684c11d156ce591f92584f0d jdk7-b73 1a66b08deed0459054b5b1bea3dfbead30d258fa jdk7-b74 2485f5641ed0829205aaaeb31ad711c2c2ef0de3 jdk7-b75 +83367f01297bf255f511f5291bbbbaa24a9c8459 icedtea7-1.12 8fb9b4be3cb1574302acde90549a4d333ef51e93 jdk7-b76 0398ae15b90ac76d87ee21844453e95ff8613e43 jdk7-b77 acc1e40a5874ebf32bebcb6ada565b3b40b7461c jdk7-b78 @@ -63,6 +64,7 @@ ef07347428f2198ae6b8144ac0b9086bbe39fd16 jdk7-b86 409db93d19c002333980df5b797c6b965150c7a0 jdk7-b87 f9b5d4867a26f8c4b90ad37fe2c345b721e93d6b jdk7-b88 +681f1f51926faf4c73d8905a429ff4ead6e9d622 icedtea7-1.13 6cea9a143208bc1185ced046942c0f4e45dbeba5 jdk7-b89 71c2c23a7c35b2896c87004023b9743b6d1b7758 jdk7-b90 97b6fa97b8ddb3a49394011c2a0ec5d6535e594c jdk7-b91 @@ -111,6 +113,7 @@ 3d7acdbb72cab55deedfd35f60d4732abc9d6ac4 jdk7-b134 9d0a61ac567b983da7cc8f4a7030f2245bb6dbab jdk7-b135 ed0f7f1f9511db4f9615b1426d22f8b961629275 jdk7-b136 +8e26c4aee63c04ee129bf9068f5eea47cc385177 icedtea-1.14 a15c9b058ae007d4ccb7e35ce44e4dfa977f090b jdk7-b137 53f212bed4f4304dce7f0bf0fa01c998c65bacd6 jdk7-b138 853b6bb99f9b58eb7cf8211c67d3b6e4f1228a3e jdk7-b139 @@ -123,6 +126,7 @@ 9425dd4f53d5bfcd992d9aecea0eb7d8b2d4f62b jdk7-b146 d34578643d1c6c752d4a6b5e79c6ab1b60850b4a jdk7u1-b01 58bc532d63418ac3c9b42460d89cdaf595c6f3e1 jdk7-b147 +fb7fb3071b642334520e5b9f4a87ce28717af61c icedtea-2.0-branchpoint cd2cc8b5edb045b950aed46d159b4fb8fc2fd1df jdk7u1-b02 82820a30201dbf4b80f1916f3d0f4a92ad21b61a jdk7u1-b03 baa2c13c70fea3d6e259a34f0903197fdceb64b5 jdk7u1-b04 @@ -141,6 +145,7 @@ f0802d8a0909f66ce19d3d44b33ddf4943aee076 jdk7u2-b12 f474527e77e4797d78bd6c3b31923fddcfd9d5c6 jdk7u2-b13 fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u2-b21 +58f6a950cd726220e81eddb126ca5c57e3b368f2 icedtea-2.1-branchpoint fc0769df8cd03fffc38c7a1ab6b2e2e7cc2506a8 jdk7u3-b02 0ffc4995457773085f61c39f6d33edc242b41bcf jdk7u3-b03 f6de36b195cd315646213c7affd2cc15702edbfb jdk7u3-b04 @@ -157,6 +162,7 @@ 8919b2b02fcba65f833c68374f3bfdd9bc3ba814 jdk7u4-b10 4672e092f0968d503dc37f860b15ae7e2653f8d7 jdk7u4-b11 a4bf6a1aff54a98e9ff2b3fb53c719f658bec677 jdk7u4-b12 +e3537a4f75c7fcca16c349c3175bb0cdc2fbc29c icedtea-2.2-branchpoint 56eb9150d9ffdb71c47d72871e8ecc98b5f402de jdk7u4-b13 0e55881c2ee2984048c179d1e031cefb56a36bec jdk7u4-b14 0bea057f7ce1577e1b0306f2027c057e35394398 jdk7u5-b01 @@ -191,6 +197,7 @@ 47ae28da508861d77ee6dd408d822acf507b28ec jdk7u6-b15 5c7763489f4d2727c6d9de11f4114fb8ed839042 jdk7u6-b16 66c671f28cb2840ceec5b44c44bac073fc0b4256 jdk7u6-b17 +cee31ee38a190f77b1e21c0515bb28802dcd9678 icedtea-2.3-branchpoint 6aa859ef42876c51bb1b1d7fb4db32a916a7dcaa jdk7u6-b18 474a52eeeafb1feccffda68b96f651e65415c01d jdk7u6-b19 32acb67a79531daf678577c7ef1bde1867da807d jdk7u6-b20 @@ -258,6 +265,7 @@ 382bab6d9682eefa2185a1643dfa32d65b6c20e5 jdk7u12-b07 7c0c3aeb2c603baba2cabba9adc5a0a49afb4f47 jdk7u12-b08 96c4f3ec63552a87a825baabd7f0dfafec299483 jdk7u12-b09 +85fb9d7ce4af53f0a47d2b73d983c96239f9ff33 icedtea-2.4-branchpoint e5b1403fa68abe3ac7174c031f19e6ecf77624a0 jdk7u14-b10 db94066df63468172e074d59e71d82dc874ed7cb jdk7u14-b11 f9a326e92fafc4724f0af550c2cba82fea202a31 jdk7u14-b12 @@ -335,6 +343,7 @@ 5168a2c7af619364ddb342674ff880874c3b7897 jdk7u14-b19 e8c876a77def120b5eeb26535d0777c9b9f842f8 jdk7u14-b19 86ae75a68cc375cfc0559699b5270951aab09eb0 jdk7u14-b20 +cbb9be4fb46d8dfd3a8c32dc693f9501a64b9a47 icedtea-2.4.0 c31648d7a6ac692371f1e9abe95bc2856a7dc51c jdk7u14-b21 eb1c9eacea1f07c07e7e700db624649d3573dae4 jdk7u14-b22 e84535d2c292032669ac75a6a0afc5f23c708064 jdk7u40-b23 @@ -345,6 +354,7 @@ 9f2eea2fae59c5242d1bb4cbca967bb6fbb99865 jdk7u40-b28 bfe3575143fddbf71c2e570b580afef007d171e4 jdk7u40-b29 0586afeb2caa0b4595bf5b306657a5dd1f0d121c jdk7u40-b30 +91c95fd8eea822b47bcebd7eed22fdf3c404dd62 icedtea-2.4.1 9c343668b0a95e5510f715014884e5d45df9dfb0 jdk7u40-b31 056f998e75f87a299808671ecc0d96e270f62dca jdk7u40-b32 e36d8f754801c9d17585a9469f9b33f9799167f8 jdk7u40-b33 @@ -359,6 +369,7 @@ 765bea9bfcfc8c472df0a2daced5e576095f46ac jdk7u40-b42 988ece7b686564084770e99ca26746c45ffb933f jdk7u40-b43 a67dbf96bf86989d0392cc5b66e5d4139cbceec7 jdk7u40-b60 +06ea051f7ffe0f91213c8e7064ddb045c93ba1b4 icedtea-2.4.2 b2e29b79e54e58349c1dbcf5449f67fc5d5a235a jdk7u40-b61 94ea3d062a3c28c64a837fa8f999c6b6956ff7c4 jdk7u40-b62 9bbfba4981e1db5016bbfbc23025763966021c26 jdk7u45-b01 @@ -380,3 +391,22 @@ b9aeec6b9d5aac0746f8d1764a7740f8b83334ab jdk7u45-b17 ba3ff27d4082f2cf0d06e635b2b6e01f80e78589 jdk7u45-b18 164cf7491ba2f371354ba343a604eee4c61c529d jdk7u45-b30 +3c8eb52a32ea6a119657487c40e24c21c1020e51 icedtea-2.4.3 +3d9f5aad3f497f5b2bedad6c77f5cacaf721648f icedtea-2.4.4 +7f5cfaedb25c2c2774d6839810d6ae543557ca01 jdk7u45-b31 +ef7bdbe7f1fa42fd58723e541d9cdedcacb2649a jdk7u45-b33 +bcb3e939d046d75436c7c8511600b6edce42e6da jdk7u45-b34 +18d1864abca976ca68cb71612e9b20c908455d3d jdk7u51-b00 +14d1cf2630aea549cfba9d052200c7ebcabd875c jdk7u51-b01 +f0168ccf171ed6080267fe0a7f7aed0b46bd5713 jdk7u51-b02 +33f986894a3e42686a3a9713efc075a6876dbeb7 jdk7u51-b03 +9a4b7362a592b157cd2b1c2ce15f1bb97d2792f6 jdk7u51-b04 +c8d1379f16ebe38d03581eaa6a8b1ecddfd5fc88 jdk7u51-b05 +1e8c8518497b6c4de56782224da4d27a9367e7ac jdk7u51-b06 +009a4086b2a66e263c006e237505a832fcf99ac8 jdk7u51-b07 +cccd0d52003d26f8652ef1778b3f1857c7d92ea9 jdk7u51-b08 +d8a69a841acd1d6c20e8a064d0c2bd139c50e485 jdk7u51-b09 +7e33fc6adc82176a459e6702ae03a34f789b88ec jdk7u51-b10 +c9d8d8793d9330d592190c334260ccf26c986df6 jdk7u51-b11 +5b44df2114e466da85c3816627bfcd1b59c6499d jdk7u51-b12 +4d0807934c302f2e35e6a5acc6cdc720c82b5671 jdk7u51-b13 diff -r 7f5cfaedb25c -r dabd37b7e295 .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:14:47 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 7f5cfaedb25c -r dabd37b7e295 make/Makefile --- a/make/Makefile Tue Oct 08 11:14:47 2013 -0700 +++ b/make/Makefile Fri Jan 17 20:22:48 2014 +0000 @@ -111,6 +111,10 @@ ANT_OPTIONS += -Ddebug.classfiles=true endif +ifeq ($(JAVAC_WARNINGS_FATAL), false) + ANT_OPTIONS += -Djavac.warnings.fatal= +endif + # Note: jdk/make/common/Defs.gmk uses LANGUAGE_VERSION (-source NN) # and the somewhat misnamed CLASS_VERSION (-target NN) ifdef TARGET_CLASS_VERSION diff -r 7f5cfaedb25c -r dabd37b7e295 make/build.properties --- a/make/build.properties Tue Oct 08 11:14:47 2013 -0700 +++ b/make/build.properties Fri Jan 17 20:22:48 2014 +0000 @@ -68,7 +68,8 @@ # set the following to -version to verify the versions of javac being used javac.version.opt = # in time, there should be no exceptions to -Xlint:all -javac.lint.opts = -Xlint:all,-deprecation -Werror +javac.warnings.fatal = -Werror +javac.lint.opts = -Xlint:all,-deprecation ${javac.warnings.fatal} # options for the task for javac #javadoc.jls3.url=http://java.sun.com/docs/books/jls/ diff -r 7f5cfaedb25c -r dabd37b7e295 make/build.xml --- a/make/build.xml Tue Oct 08 11:14:47 2013 -0700 +++ b/make/build.xml Fri Jan 17 20:22:48 2014 +0000 @@ -877,7 +877,7 @@ + classpath="${build.toolclasses.dir}:${build.bootstrap.dir}/classes:${ant.home}/lib/ant.jar"/> diff -r 7f5cfaedb25c -r dabd37b7e295 src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Tue Oct 08 11:14:47 2013 -0700 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Fri Jan 17 20:22:48 2014 +0000 @@ -180,6 +180,6 @@ doclet.0_and_1={0}\u3068{1} #Documentation for Enums -doclet.enum_values_doc=\n\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u542B\u3080\u914D\u5217\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\u8FD4\u3057\u307E\u3059\u3002\n\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u6B21\u306E\u3088\u3046\u306B\u3057\u3066\u5B9A\u6570\u3092\u53CD\u5FA9\u3059\u308B\u305F\u3081\u306B\n\u4F7F\u7528\u3067\u304D\u307E\u3059:\n

\nfor({0} c: {0}.values())\n  System.out.println(c);\n
\n at return\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\n\u542B\u3080\u914D\u5217 +doclet.enum_values_doc=\n\u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u542B\u3080\u914D\u5217\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\u8FD4\u3057\u307E\u3059\u3002\n\u3053\u306E\u30E1\u30BD\u30C3\u30C9\u306F\u6B21\u306E\u3088\u3046\u306B\u3057\u3066\u5B9A\u6570\u3092\u53CD\u5FA9\u3059\u308B\u305F\u3081\u306B\n\u4F7F\u7528\u3067\u304D\u307E\u3059:\n
\nfor({0} c: {0}.values())\n  System.out.println(c);\n
\n at return \u3053\u306E\u5217\u6319\u578B\u306E\u5B9A\u6570\u3092\u5BA3\u8A00\u3055\u308C\u3066\u3044\u308B\u9806\u5E8F\u3067\n\u542B\u3080\u914D\u5217 -doclet.enum_valueof_doc=\n\u6307\u5B9A\u3057\u305F\u540D\u524D\u3092\u6301\u3064\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u6587\u5B57\u5217\u306F\u3001\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u5BA3\u8A00\u3059\u308B\u306E\u306B\u4F7F\u7528\u3057\u305F\u8B58\u5225\u5B50\u3068\u6B63\u78BA\u306B\n\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n(\u4F59\u5206\u306A\u7A7A\u767D\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002)\n\n at param name\u8FD4\u3055\u308C\u308B\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\n at return\u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5217\u6319\u578B\u5B9A\u6570\n at throws IllegalArgumentException\u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5B9A\u6570\u3092\n\u3053\u306E\u5217\u6319\u578B\u304C\u6301\u3063\u3066\u3044\u306A\u3044\u5834\u5408\n at throws NullPointerException\u5F15\u6570\u304Cnull\u306E\u5834\u5408 +doclet.enum_valueof_doc=\n\u6307\u5B9A\u3057\u305F\u540D\u524D\u3092\u6301\u3064\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u8FD4\u3057\u307E\u3059\u3002\n\u6587\u5B57\u5217\u306F\u3001\u3053\u306E\u578B\u306E\u5217\u6319\u578B\u5B9A\u6570\u3092\u5BA3\u8A00\u3059\u308B\u306E\u306B\u4F7F\u7528\u3057\u305F\u8B58\u5225\u5B50\u3068\u6B63\u78BA\u306B\n\u4E00\u81F4\u3057\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002\n(\u4F59\u5206\u306A\u7A7A\u767D\u6587\u5B57\u3092\u542B\u3081\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002)\n\n at param name \u8FD4\u3055\u308C\u308B\u5217\u6319\u578B\u5B9A\u6570\u306E\u540D\u524D\n at return \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5217\u6319\u578B\u5B9A\u6570\n at throws IllegalArgumentException \u6307\u5B9A\u3055\u308C\u305F\u540D\u524D\u3092\u6301\u3064\u5B9A\u6570\u3092\n\u3053\u306E\u5217\u6319\u578B\u304C\u6301\u3063\u3066\u3044\u306A\u3044\u5834\u5408\n at throws NullPointerException \u5F15\u6570\u304Cnull\u306E\u5834\u5408 diff -r 7f5cfaedb25c -r dabd37b7e295 src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Tue Oct 08 11:14:47 2013 -0700 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Fri Jan 17 20:22:48 2014 +0000 @@ -182,4 +182,4 @@ #Documentation for Enums doclet.enum_values_doc=\n\u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F, \u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4\u3002\u8BE5\u65B9\u6CD5\u53EF\u7528\u4E8E\u8FED\u4EE3\n\u5E38\u91CF, \u5982\u4E0B\u6240\u793A:\n
\nfor ({0} c : {0}.values())\n    System.out.println(c);\n
\n at return \u6309\u7167\u58F0\u660E\u8BE5\u679A\u4E3E\u7C7B\u578B\u7684\u5E38\u91CF\u7684\u987A\u5E8F, \u8FD4\u56DE\n\u5305\u542B\u8FD9\u4E9B\u5E38\u91CF\u7684\u6570\u7EC4 -doclet.enum_valueof_doc=\n\u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u3002\n\u5B57\u7B26\u4E32\u5FC5\u987B\u4E0E\u7528\u4E8E\u58F0\u660E\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u7684\n\u6807\u8BC6\u7B26\u5B8C\u5168\u5339\u914D\u3002(\u4E0D\u5141\u8BB8\u6709\u591A\u4F59\n\u7684\u7A7A\u683C\u5B57\u7B26\u3002)\n\n at param name \u8981\u8FD4\u56DE\u7684\u679A\u4E3E\u5E38\u91CF\u7684\u540D\u79F0\u3002\n at return \u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u679A\u4E3E\u5E38\u91CF\n at throws \u5982\u679C\u8BE5\u679A\u4E3E\u7C7B\u578B\u6CA1\u6709\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u5E38\u91CF, \n\u5219\u629B\u51FA IllegalArgumentException\n at throws \u5982\u679C\u53C2\u6570\u4E3A\u7A7A\u503C, \u5219\u629B\u51FA NullPointerException +doclet.enum_valueof_doc=\n\u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u3002\n\u5B57\u7B26\u4E32\u5FC5\u987B\u4E0E\u7528\u4E8E\u58F0\u660E\u8BE5\u7C7B\u578B\u7684\u679A\u4E3E\u5E38\u91CF\u7684\n\u6807\u8BC6\u7B26\u5B8C\u5168\u5339\u914D\u3002(\u4E0D\u5141\u8BB8\u6709\u591A\u4F59\n\u7684\u7A7A\u683C\u5B57\u7B26\u3002)\n\n at param name \u8981\u8FD4\u56DE\u7684\u679A\u4E3E\u5E38\u91CF\u7684\u540D\u79F0\u3002\n at return \u8FD4\u56DE\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u679A\u4E3E\u5E38\u91CF\n at throws IllegalArgumentException \u5982\u679C\u8BE5\u679A\u4E3E\u7C7B\u578B\u6CA1\u6709\u5E26\u6709\u6307\u5B9A\u540D\u79F0\u7684\u5E38\u91CF, \n\u5219\u629B\u51FA IllegalArgumentException\n at throws NullPointerException \u5982\u679C\u53C2\u6570\u4E3A\u7A7A\u503C, \u5219\u629B\u51FA NullPointerException diff -r 7f5cfaedb25c -r dabd37b7e295 src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties --- a/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Tue Oct 08 11:14:47 2013 -0700 +++ b/src/share/classes/com/sun/tools/javac/resources/compiler_ja.properties Fri Jan 17 20:22:48 2014 +0000 @@ -555,19 +555,19 @@ # 0: name compiler.err.undef.label=\u30E9\u30D9\u30EB{0}\u306F\u672A\u5B9A\u7FA9\u3067\u3059 -compiler.err.undetermined.type={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093 +compiler.err.undetermined.type={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u8AD6\u3067\u304D\u307E\u305B\u3093 # 0: type, 1: message segment -compiler.err.undetermined.type.1={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002\n\u7406\u7531: {1} +compiler.err.undetermined.type.1={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u8AD6\u3067\u304D\u307E\u305B\u3093\u3002\n\u7406\u7531: {1} # 0: list of type, 1: message segment -compiler.err.invalid.inferred.types={0}\u306E\u63A8\u5B9A\u578B\u304C\u7121\u52B9\u3067\u3059\u3002{1} +compiler.err.invalid.inferred.types={0}\u306E\u63A8\u8AD6\u578B\u304C\u7121\u52B9\u3067\u3059\u3002{1} # 0: message segment, 1: unused compiler.err.cant.apply.diamond={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u8AD6\u3067\u304D\u307E\u305B\u3093 # 0: message segment, 1: message segment -compiler.err.cant.apply.diamond.1={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u5B9A\u3067\u304D\u307E\u305B\u3093\u3002\n\u7406\u7531: {1} +compiler.err.cant.apply.diamond.1={0}\u306E\u578B\u5F15\u6570\u3092\u63A8\u8AD6\u3067\u304D\u307E\u305B\u3093\u3002\n\u7406\u7531: {1} compiler.err.unreachable.stmt=\u3053\u306E\u6587\u306B\u5236\u5FA1\u304C\u79FB\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093 @@ -1165,7 +1165,7 @@ compiler.misc.infer.arg.length.mismatch=\u5B9F\u5F15\u6570\u30EA\u30B9\u30C8\u3068\u4EEE\u5F15\u6570\u30EA\u30B9\u30C8\u306E\u9577\u3055\u304C\u7570\u306A\u308B\u305F\u3081\u3001\u5F15\u6570\u304B\u3089\u30A4\u30F3\u30B9\u30BF\u30F3\u30B9\u3092\u4F5C\u6210\u3067\u304D\u307E\u305B\u3093 # 0: type, 1: list of type -compiler.misc.inferred.do.not.conform.to.bounds=\u63A8\u5B9A\u578B\u306F\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u63A8\u5B9A: {0}\n\u5883\u754C: {1} +compiler.misc.inferred.do.not.conform.to.bounds=\u63A8\u8AD6\u578B\u306F\u5BA3\u8A00\u3055\u308C\u305F\u5883\u754C\u306B\u9069\u5408\u3057\u307E\u305B\u3093\n\u63A8\u8AD6: {0}\n\u5883\u754C: {1} # 0: symbol compiler.misc.diamond={0}<> diff -r 7f5cfaedb25c -r dabd37b7e295 src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties --- a/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties Tue Oct 08 11:14:47 2013 -0700 +++ b/src/share/classes/com/sun/tools/javah/resources/l10n_ja.properties Fri Jan 17 20:22:48 2014 +0000 @@ -90,7 +90,7 @@ err.prefix=\u30A8\u30E9\u30FC: err.cant.use.option.for.fm=\u6307\u5B9A\u3055\u308C\u305F\u30D5\u30A1\u30A4\u30EB\u30FB\u30DE\u30CD\u30FC\u30B8\u30E3\u3067{0}\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093 err.internal.error=\u5185\u90E8\u30A8\u30E9\u30FC: {0} -err.ioerror=\u5165\u51FA\u529B\u30A8\u30E9\u30FC: {0} +err.ioerror=IO\u30A8\u30E9\u30FC: {0} err.missing.arg={0}\u306E\u5024\u304C\u3042\u308A\u307E\u305B\u3093 err.no.classes.specified=\u30AF\u30E9\u30B9\u304C\u6307\u5B9A\u3055\u308C\u3066\u3044\u307E\u305B\u3093 err.unknown.option=\u4E0D\u660E\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0} diff -r 7f5cfaedb25c -r dabd37b7e295 test/tools/javac/T5090006/broken.jar Binary file test/tools/javac/T5090006/broken.jar has changed From andrew at icedtea.classpath.org Fri Jan 17 12:24:25 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:24:25 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: 37 new changesets Message-ID: changeset c373a733d5d5 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=c373a733d5d5 author: cl date: Wed Oct 09 09:34:45 2013 -0700 Added tag jdk7u45-b31 for changeset 520b7b3d9153 changeset ca681a7f3a26 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=ca681a7f3a26 author: asaha date: Thu Sep 12 08:08:06 2013 -0700 Merge changeset 962bde0be11c in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=962bde0be11c author: coleenp date: Mon Sep 16 14:22:43 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com changeset 143a99671e52 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=143a99671e52 author: asaha date: Wed Sep 18 11:17:11 2013 -0700 Merge changeset af92fd5e046e in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=af92fd5e046e author: asaha date: Wed Sep 18 11:30:44 2013 -0700 Merge changeset ab8db063dccc in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=ab8db063dccc author: asaha date: Thu Sep 19 15:31:57 2013 -0700 Merge changeset 8e077c93ab9a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=8e077c93ab9a author: asaha date: Tue Sep 24 10:52:59 2013 -0700 Merge changeset 129a5092d628 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=129a5092d628 author: asaha date: Thu Sep 26 11:23:41 2013 -0700 Merge changeset 0d4045749f28 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=0d4045749f28 author: asaha date: Fri Sep 27 12:15:12 2013 -0700 Merge changeset 45820ef2222f in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=45820ef2222f author: asaha date: Fri Sep 27 13:16:33 2013 -0700 Merge changeset fa74e40ea420 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=fa74e40ea420 author: asaha date: Mon Sep 30 10:59:35 2013 -0700 Added tag jdk7u51-b00 for changeset 429884602206 changeset a9dcf7edc696 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=a9dcf7edc696 author: asaha date: Mon Sep 30 11:12:33 2013 -0700 Merge changeset 68f03ff066f2 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=68f03ff066f2 author: asaha date: Mon Sep 30 11:23:58 2013 -0700 8025679: Increment minor version of HSx for 7u51 and initialize the build number Reviewed-by: jcoomes changeset 68c42e105b90 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=68c42e105b90 author: cl date: Tue Oct 01 08:36:39 2013 -0700 Added tag jdk7u51-b01 for changeset 68f03ff066f2 changeset 050690eaebec in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=050690eaebec author: asaha date: Tue Oct 08 11:49:59 2013 -0700 Merge changeset 67910a581eca in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=67910a581eca author: asaha date: Wed Oct 09 09:50:59 2013 -0700 Merge changeset 4138fb11955a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=4138fb11955a author: cl date: Thu Oct 10 10:16:30 2013 -0700 Added tag jdk7u51-b02 for changeset 67910a581eca changeset 683458c333ce in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=683458c333ce author: cl date: Tue Oct 15 09:31:55 2013 -0700 Added tag jdk7u51-b03 for changeset 4138fb11955a changeset ed2db7a82229 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=ed2db7a82229 author: cl date: Tue Oct 22 22:23:42 2013 -0700 Added tag jdk7u51-b04 for changeset 683458c333ce changeset fec027762cf3 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=fec027762cf3 author: cl date: Tue Oct 29 09:08:55 2013 -0700 Added tag jdk7u51-b05 for changeset ed2db7a82229 changeset 18c14aa176b3 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=18c14aa176b3 author: cl date: Tue Nov 05 10:58:15 2013 -0800 Added tag jdk7u51-b06 for changeset fec027762cf3 changeset eb486a2ec09b in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=eb486a2ec09b author: asaha date: Wed Nov 06 14:47:39 2013 -0800 8027944: Increment hsx 24.51 build to b02 for 7u51-b07 Reviewed-by: jcoomes changeset f673c581ebf9 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=f673c581ebf9 author: aeriksso date: Thu Oct 31 16:49:53 2013 +0100 8026887: Make issues due to failed large pages allocations easier to debug Reviewed-by: stefank, mcastegr, poonam changeset b0a355aae004 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=b0a355aae004 author: cl date: Tue Nov 12 08:51:35 2013 -0800 Added tag jdk7u51-b07 for changeset f673c581ebf9 changeset 4f56f2e206fd in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=4f56f2e206fd author: cl date: Tue Nov 19 08:36:58 2013 -0800 Added tag jdk7u51-b08 for changeset b0a355aae004 changeset 1b7aaef3df78 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=1b7aaef3df78 author: asaha date: Wed Nov 27 08:20:45 2013 -0800 Added tag jdk7u51-b09 for changeset 4f56f2e206fd changeset 0cff26632b96 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=0cff26632b96 author: katleman date: Wed Dec 04 10:11:02 2013 -0800 Added tag jdk7u51-b10 for changeset 1b7aaef3df78 changeset 839100e42498 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=839100e42498 author: jrose date: Thu Dec 05 14:38:53 2013 -0800 8029507: Enhance JVM method processing 8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java fails against JPRT PIT 17891982 build 8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms Summary: update MemberName.clazz correctly in MemberName.resolve; also pass lookupClass to MethodHandles::resolve_MemberName Reviewed-by: acorn, vlivanov changeset 1f11dff734af in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=1f11dff734af author: asaha date: Mon Dec 09 13:55:59 2013 -0800 8029842: Increment hsx 24.51 build to b03 for 7u51-b11 Reviewed-by: jcoomes changeset dee2a38ef6b2 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=dee2a38ef6b2 author: katleman date: Tue Dec 10 13:15:48 2013 -0800 Added tag jdk7u51-b11 for changeset 1f11dff734af changeset 6c6a2299029a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=6c6a2299029a author: katleman date: Sat Dec 14 11:51:15 2013 -0800 Added tag jdk7u51-b12 for changeset dee2a38ef6b2 changeset 0bcb43482f2a in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=0bcb43482f2a author: cl date: Mon Nov 25 11:02:21 2013 -0800 Added tag jdk7u45-b33 for changeset c373a733d5d5 changeset 12ea8d416f10 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=12ea8d416f10 author: katleman date: Fri Dec 06 13:07:20 2013 -0800 Added tag jdk7u45-b34 for changeset 0bcb43482f2a changeset d9ac18d080af in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=d9ac18d080af author: asaha date: Tue Dec 17 11:06:52 2013 -0800 Merge changeset a398ddc79d23 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=a398ddc79d23 author: katleman date: Thu Dec 19 09:00:51 2013 -0800 Added tag jdk7u51-b13 for changeset 6c6a2299029a changeset cf4110c35afb in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=cf4110c35afb author: asaha date: Thu Dec 19 09:32:29 2013 -0800 Merge changeset 659dc7b310ea in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=659dc7b310ea author: andrew date: Fri Jan 17 20:22:50 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 34 ++ .jcheck/conf | 2 - agent/src/os/linux/Makefile | 11 +- agent/src/os/linux/libproc.h | 29 +- make/bsd/makefiles/buildtree.make | 1 + make/bsd/makefiles/vm.make | 1 + make/hotspot_version | 4 +- make/linux/makefiles/adlc.make | 2 + make/linux/makefiles/buildtree.make | 2 + make/linux/makefiles/defs.make | 52 ++- make/linux/makefiles/gcc.make | 30 +- make/linux/makefiles/jsig.make | 6 +- make/linux/makefiles/rules.make | 10 - make/linux/makefiles/saproc.make | 6 +- make/linux/makefiles/vm.make | 62 ++- make/linux/makefiles/zero.make | 4 + make/linux/platform_zero.in | 2 +- make/solaris/makefiles/adlc.make | 6 +- make/solaris/makefiles/dtrace.make | 16 + make/solaris/makefiles/gcc.make | 4 +- make/solaris/makefiles/jsig.make | 4 + make/solaris/makefiles/rules.make | 10 - make/solaris/makefiles/saproc.make | 4 + make/solaris/makefiles/vm.make | 12 + make/windows/makefiles/vm.make | 8 + src/cpu/x86/vm/c2_globals_x86.hpp | 2 +- src/cpu/zero/vm/entryFrame_zero.hpp | 4 +- src/cpu/zero/vm/frame_zero.inline.hpp | 2 +- src/cpu/zero/vm/sharedRuntime_zero.cpp | 4 +- src/os/bsd/vm/attachListener_bsd.cpp | 4 +- src/os/linux/vm/os_linux.cpp | 76 +++- src/os/linux/vm/os_linux.hpp | 1 + src/os_cpu/linux_sparc/vm/assembler_linux_sparc.cpp | 11 +- src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 2 +- src/share/vm/asm/codeBuffer.hpp | 2 +- src/share/vm/ci/ciTypeFlow.cpp | 2 +- src/share/vm/classfile/systemDictionary.cpp | 1 - src/share/vm/compiler/methodLiveness.cpp | 12 +- src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp | 2 +- src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp | 6 +- src/share/vm/gc_implementation/g1/concurrentMark.cpp | 2 +- src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp | 2 +- src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp | 2 +- src/share/vm/gc_implementation/parNew/parNewGeneration.cpp | 2 +- src/share/vm/gc_implementation/parallelScavenge/parMarkBitMap.cpp | 2 +- src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp | 4 +- src/share/vm/gc_implementation/parallelScavenge/psPermGen.cpp | 2 +- src/share/vm/interpreter/bytecodeInterpreter.hpp | 22 +- src/share/vm/memory/collectorPolicy.cpp | 18 +- src/share/vm/memory/threadLocalAllocBuffer.cpp | 2 +- src/share/vm/oops/objArrayKlass.inline.hpp | 4 +- src/share/vm/prims/jni.cpp | 2 +- src/share/vm/prims/jvmtiEnv.cpp | 3 + src/share/vm/prims/methodHandles.cpp | 107 +++++- src/share/vm/prims/methodHandles.hpp | 4 +- src/share/vm/runtime/arguments.cpp | 11 +- src/share/vm/runtime/globals.hpp | 2 +- src/share/vm/runtime/os.cpp | 6 +- src/share/vm/runtime/reflection.cpp | 2 +- src/share/vm/shark/sharkCompiler.cpp | 4 +- src/share/vm/trace/trace.dtd | 3 - src/share/vm/trace/traceEventClasses.xsl | 2 +- src/share/vm/trace/traceEventIds.xsl | 2 +- src/share/vm/trace/traceTypes.xsl | 2 +- src/share/vm/utilities/bitMap.hpp | 2 +- src/share/vm/utilities/bitMap.inline.hpp | 20 +- src/share/vm/utilities/macros.hpp | 8 + src/share/vm/utilities/ostream.cpp | 2 +- src/share/vm/utilities/vmError.cpp | 22 +- test/runtime/7020373/GenOOMCrashClass.java | 157 ++++++++++ test/runtime/7020373/Test7020373.sh | 4 + test/runtime/7020373/testcase.jar | Bin 72 files changed, 670 insertions(+), 210 deletions(-) diffs (truncated from 2250 to 500 lines): diff -r 520b7b3d9153 -r 659dc7b310ea .hgtags --- a/.hgtags Tue Oct 08 11:11:02 2013 -0700 +++ b/.hgtags Fri Jan 17 20:22:50 2014 +0000 @@ -50,6 +50,7 @@ faf94d94786b621f8e13cbcc941ca69c6d967c3f jdk7-b73 f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 jdk7-b74 d8dd291a362acb656026a9c0a9da48501505a1e7 jdk7-b75 +b4ab978ce52c41bb7e8ee86285e6c9f28122bbe1 icedtea7-1.12 9174bb32e934965288121f75394874eeb1fcb649 jdk7-b76 455105fc81d941482f8f8056afaa7aa0949c9300 jdk7-b77 e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78 @@ -87,6 +88,7 @@ 07226e9eab8f74b37346b32715f829a2ef2c3188 hs18-b01 e7e7e36ccdb5d56edd47e5744351202d38f3b7ad jdk7-b87 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b jdk7-b88 +a393ff93e7e54dd94cc4211892605a32f9c77dad icedtea7-1.13 15836273ac2494f36ef62088bc1cb6f3f011f565 jdk7-b89 4b60f23c42231f7ecd62ad1fcb6a9ca26fa57d1b hs18-b02 605c9707a766ff518cd841fc04f9bb4b36a3a30b jdk7-b90 @@ -160,6 +162,7 @@ b898f0fc3cedc972d884d31a751afd75969531cf hs21-b05 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 jdk7-b136 bd586e392d93b7ed7a1636dcc8da2b6a4203a102 hs21-b06 +591c7dc0b2ee879f87a7b5519a5388e0d81520be icedtea-1.14 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f jdk7-b137 2dbcb4a4d8dace5fe78ceb563b134f1fb296cd8f hs21-b07 0930dc920c185afbf40fed9a655290b8e5b16783 jdk7-b138 @@ -182,6 +185,7 @@ 38fa55e5e79232d48f1bb8cf27d88bc094c9375a hs21-b16 81d815b05abb564aa1f4100ae13491c949b9a07e jdk7-b147 81d815b05abb564aa1f4100ae13491c949b9a07e hs21-b17 +7693eb0fce1f6b484cce96c233ea20bdad8a09e0 icedtea-2.0-branchpoint 9b0ca45cd756d538c4c30afab280a91868eee1a5 jdk7u2-b01 0cc8a70952c368e06de2adab1f2649a408f5e577 jdk8-b01 31e253c1da429124bb87570ab095d9bc89850d0a jdk8-b02 @@ -210,6 +214,7 @@ 3ba0bb2e7c8ddac172f5b995aae57329cdd2dafa hs22-b10 f17fe2f4b6aacc19cbb8ee39476f2f13a1c4d3cd jdk7u2-b13 0744602f85c6fe62255326df595785eb2b32166d jdk7u2-b21 +f8f4d3f9b16567b91bcef4caaa8417c8de8015f0 icedtea-2.1-branchpoint a40d238623e5b1ab1224ea6b36dc5b23d0a53880 jdk7u3-b02 6986bfb4c82e00b938c140f2202133350e6e73f8 jdk7u3-b03 8e6375b46717d74d4885f839b4e72d03f357a45f jdk7u3-b04 @@ -264,6 +269,7 @@ f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 f92a171cf0071ca6c3fa8231d7d570377f8b2f4d hs23-b16 931e5f39e365a0d550d79148ff87a7f9e864d2e1 hs23-b16 +a2c5354863dcb3d147b7b6f55ef514b1bfecf920 icedtea-2.2-branchpoint efb5f2662c96c472caa3327090268c75a86dd9c0 jdk7u4-b13 82e719a2e6416838b4421637646cbfd7104c7716 jdk7u4-b14 e5f7f95411fb9e837800b4152741c962118e5d7a jdk7u5-b01 @@ -311,6 +317,7 @@ cefe884c708aa6dfd63aff45f6c698a6bc346791 jdk7u6-b16 270a40a57b3d05ca64070208dcbb895b5b509d8e hs23.2-b08 7a37cec9d0d44ae6ea3d26a95407e42d99af6843 jdk7u6-b17 +354cfde7db2f1fd46312d883a63c8a76d5381bab icedtea-2.3-branchpoint df0df4ae5af2f40b7f630c53a86e8c3d68ef5b66 jdk7u6-b18 1257f4373a06f788bd656ae1c7a953a026a285b9 jdk7u6-b19 a0c2fa4baeb6aad6f33dc87b676b21345794d61e hs23.2-b09 @@ -440,6 +447,7 @@ 4f7ad6299356bfd2cfb448ea4c11e8ce0fbf69f4 jdk7u12-b07 3bb803664f3d9c831d094cbe22b4ee5757e780c8 jdk7u12-b08 92e382c3cccc0afbc7f72fccea4f996e05b66b3e jdk7u12-b09 +6e4feb17117d21e0e4360f2d0fbc68397ed3ba80 icedtea-2.4-branchpoint 7554f9b2bcc72204ac10ba8b08b8e648459504df hs24-b29 181528fd1e74863a902f171a2ad46270a2fb15e0 jdk7u14-b10 4008cf63c30133f2fac148a39903552fe7a33cea hs24-b30 @@ -510,6 +518,7 @@ c23596bfe3b8a21076f8454a3cd6606ee7e928a5 jdk7u14-b20 d6cf0e0eee29e173b8446455991e22249da0e860 hs24-b39 3295faa5b5cc4f165c0e6798fd40ab4f5c17dd6d hs24-b40 +ed247f9fb4fee475dd6334d20e91779807522bb3 icedtea-2.4.0 3e88170d8be276660cd4f347bd514c446bb65d58 jdk7u14-b21 d90c913b810356d43c8e64f08c0f5e60f9c2ca08 hs24-b41 aa9a5e33e823df5f51e9b5d4e85ae91919424179 jdk7u14-b22 @@ -530,6 +539,7 @@ 88e43f47a8da8093743a1b6ca1ae4b79d994472a hs24-b49 24f785f94d2f5be0f5c48e80f2a6cc7f8815dd8b jdk7u40-b30 41118cf72ace4f0cee56a9ff437226e98e46e9d7 hs24-b50 +5f53e771711627b23e8c9ac53121e1e8ea9f00b4 icedtea-2.4.1 645b68762a367d82c2b55f76cae431b767bee3ac jdk7u40-b31 2417fa1acf2ba8521f480f2baef9af279ec2bf15 hs24-b51 9658c969b7cf0de256691a80f44dcfe73d72a02f jdk7u40-b32 @@ -568,6 +578,11 @@ b8d8caf6df744d5342b5d284376a005e86c0b108 hs24-b56 eceae04782438987cd747e1c76e4085f50b43a18 jdk7u40-b43 af1fc2868a2b919727bfbb0858449bd991bbee4a jdk7u40-b60 +f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 +f3f4df30a4684f077084f374abdebaf3af5618ee icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +b732355257e3452875a1a8e5a5de2c553dfa705c icedtea-2.4.2 efaa26fb6de2ecb8506fb8b785a429d040e96768 jdk7u40-b61 df6f37a7311d35072a07c1425a7aadee469a09b6 jdk7u40-b62 5fb434aa203c32b4551167b922a70e79831ffdf4 jdk7u45-b01 @@ -589,3 +604,22 @@ 0c0dc384915cafd9bfaa2fe5792a629a22d1b990 jdk7u45-b17 12374864c655a2cefb0d65caaacf215d5365ec5f jdk7u45-b18 3677c8cc3c89c0fa608f485b84396e4cf755634b jdk7u45-b30 +b59e02d9e72bb06d5cbff39605bce1d2695dbdd0 icedtea-2.4.3 +9def299ab058289926f8e1dbf86c9d5a95eb9738 icedtea-2.4.4 +520b7b3d9153c1407791325946b07c5c222cf0d6 jdk7u45-b31 +c373a733d5d5147f99eaa2b91d6b937c28214fc9 jdk7u45-b33 +0bcb43482f2ac5615437541ffb8dc0f79ece3148 jdk7u45-b34 +429884602206fcf5314c8b953c06d54d337558ca jdk7u51-b00 +68f03ff066f2341b89b52a6d6e21ae09de008351 jdk7u51-b01 +67910a581eca113847c5320c49436a9816c5d5c6 jdk7u51-b02 +4138fb11955a528e5ee5448d9c6c8e88e0e268b2 jdk7u51-b03 +683458c333ced92d515daa1b9bcdb5be679e535a jdk7u51-b04 +ed2db7a82229e7adbfe8a8166bf98f3ef4a09be5 jdk7u51-b05 +fec027762cf37d033d82d5b3725020f40c771690 jdk7u51-b06 +f673c581ebf91073b5bbdbdc5e4d4407910fa006 jdk7u51-b07 +b0a355aae00427e74cc0b89697c7c7f6fb520176 jdk7u51-b08 +4f56f2e206fd878809f70ca06f4bc21563a7c530 jdk7u51-b09 +1b7aaef3df78970c9a5ef5cc353ca927241555ee jdk7u51-b10 +1f11dff734af98f5bf11d4fceeda221ab1416971 jdk7u51-b11 +dee2a38ef6b26534c44c550ef4da2c3146c612c2 jdk7u51-b12 +6c6a2299029ad02fa2820b8ff8c61c2bbcae799c jdk7u51-b13 diff -r 520b7b3d9153 -r 659dc7b310ea .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:11:02 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 520b7b3d9153 -r 659dc7b310ea agent/src/os/linux/Makefile --- a/agent/src/os/linux/Makefile Tue Oct 08 11:11:02 2013 -0700 +++ b/agent/src/os/linux/Makefile Fri Jan 17 20:22:50 2014 +0000 @@ -23,7 +23,12 @@ # ARCH := $(shell if ([ `uname -m` = "ia64" ]) ; then echo ia64 ; elif ([ `uname -m` = "x86_64" ]) ; then echo amd64; elif ([ `uname -m` = "sparc64" ]) ; then echo sparc; else echo i386 ; fi ) -GCC = gcc + +ifndef BUILD_GCC +BUILD_GCC = gcc +endif + +GCC = $(BUILD_GCC) JAVAH = ${JAVA_HOME}/bin/javah @@ -40,7 +45,7 @@ LIBS = -lthread_db -CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) -D_FILE_OFFSET_BITS=64 +CFLAGS = -c -fPIC -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) -D_FILE_OFFSET_BITS=64 LIBSA = $(ARCH)/libsaproc.so @@ -73,7 +78,7 @@ $(GCC) -shared $(LFLAGS_LIBSA) -o $(LIBSA) $(OBJS) $(LIBS) test.o: test.c - $(GCC) -c -o test.o -g -D_GNU_SOURCE -D$(ARCH) $(INCLUDES) test.c + $(GCC) -c -o test.o -g -D_GNU_SOURCE -D_$(ARCH)_ $(if $(filter $(ARCH),alpha),,-D$(ARCH)) $(INCLUDES) test.c test: test.o $(GCC) -o test test.o -L$(ARCH) -lsaproc $(LIBS) diff -r 520b7b3d9153 -r 659dc7b310ea agent/src/os/linux/libproc.h --- a/agent/src/os/linux/libproc.h Tue Oct 08 11:11:02 2013 -0700 +++ b/agent/src/os/linux/libproc.h Fri Jan 17 20:22:50 2014 +0000 @@ -41,9 +41,34 @@ These two files define pt_regs structure differently */ #ifdef _LP64 -#include "asm-sparc64/ptrace.h" +struct pt_regs { + unsigned long u_regs[16]; /* globals and ins */ + unsigned long tstate; + unsigned long tpc; + unsigned long tnpc; + unsigned int y; + + /* We encode a magic number, PT_REGS_MAGIC, along + * with the %tt (trap type) register value at trap + * entry time. The magic number allows us to identify + * accurately a trap stack frame in the stack + * unwinder, and the %tt value allows us to test + * things like "in a system call" etc. for an arbitray + * process. + * + * The PT_REGS_MAGIC is chosen such that it can be + * loaded completely using just a sethi instruction. + */ + unsigned int magic; +}; #else -#include "asm-sparc/ptrace.h" +struct pt_regs { + unsigned long psr; + unsigned long pc; + unsigned long npc; + unsigned long y; + unsigned long u_regs[16]; /* globals and ins */ +}; #endif #endif //sparc or sparcv9 diff -r 520b7b3d9153 -r 659dc7b310ea make/bsd/makefiles/buildtree.make --- a/make/bsd/makefiles/buildtree.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/bsd/makefiles/buildtree.make Fri Jan 17 20:22:50 2014 +0000 @@ -215,6 +215,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "ZERO_BUILD = $(ZERO_BUILD)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r 520b7b3d9153 -r 659dc7b310ea make/bsd/makefiles/vm.make --- a/make/bsd/makefiles/vm.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/bsd/makefiles/vm.make Fri Jan 17 20:22:50 2014 +0000 @@ -27,6 +27,7 @@ # Common build rules. MAKEFILES_DIR=$(GAMMADIR)/make/$(Platform_os_family)/makefiles +include $(GAMMADIR)/make/defs.make include $(MAKEFILES_DIR)/rules.make include $(GAMMADIR)/make/altsrc.make diff -r 520b7b3d9153 -r 659dc7b310ea make/hotspot_version --- a/make/hotspot_version Tue Oct 08 11:11:02 2013 -0700 +++ b/make/hotspot_version Fri Jan 17 20:22:50 2014 +0000 @@ -34,8 +34,8 @@ HOTSPOT_VM_COPYRIGHT=Copyright 2013 HS_MAJOR_VER=24 -HS_MINOR_VER=45 -HS_BUILD_NUMBER=08 +HS_MINOR_VER=51 +HS_BUILD_NUMBER=03 JDK_MAJOR_VER=1 JDK_MINOR_VER=7 diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/adlc.make --- a/make/linux/makefiles/adlc.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/adlc.make Fri Jan 17 20:22:50 2014 +0000 @@ -68,7 +68,9 @@ # CFLAGS_WARN holds compiler options to suppress/enable warnings. # Compiler warnings are treated as errors +ifneq ($(COMPILER_WARNINGS_FATAL),false) CFLAGS_WARN = -Werror +endif CFLAGS += $(CFLAGS_WARN) OBJECTNAMES = \ diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/buildtree.make --- a/make/linux/makefiles/buildtree.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/buildtree.make Fri Jan 17 20:22:50 2014 +0000 @@ -57,6 +57,7 @@ # having to read the dependency files for the vm. -include $(SPEC) +include $(GAMMADIR)/make/defs.make include $(GAMMADIR)/make/scm.make include $(GAMMADIR)/make/altsrc.make @@ -208,6 +209,7 @@ echo "HOTSPOT_BUILD_USER = $(HOTSPOT_BUILD_USER)"; \ echo "HOTSPOT_VM_DISTRO = $(HOTSPOT_VM_DISTRO)"; \ echo "OPENJDK = $(OPENJDK)"; \ + echo "ZERO_BUILD = $(ZERO_BUILD)"; \ echo; \ echo "# Used for platform dispatching"; \ echo "TARGET_DEFINES = -DTARGET_OS_FAMILY_\$$(Platform_os_family)"; \ diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/defs.make --- a/make/linux/makefiles/defs.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/defs.make Fri Jan 17 20:22:50 2014 +0000 @@ -242,10 +242,14 @@ # client and server subdirectories have symbolic links to ../libjsig.so EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.$(LIBRARY_SUFFIX) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz - else - EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo + ifneq ($(ZERO_BUILD), true) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.diz + else + EXPORT_LIST += $(EXPORT_JRE_LIB_ARCH_DIR)/libjsig.debuginfo + endif + endif endif endif EXPORT_SERVER_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/server @@ -254,11 +258,13 @@ ifeq ($(findstring true, $(JVM_VARIANT_SERVER) $(JVM_VARIANT_ZERO) $(JVM_VARIANT_ZEROSHARK)), true) EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.$(LIBRARY_SUFFIX) - ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz - else - EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.diz + else + EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.debuginfo + endif endif endif endif @@ -266,11 +272,13 @@ ifeq ($(JVM_VARIANT_CLIENT),true) EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX) - ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz - else - EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz + else + EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo + endif endif endif endif @@ -282,12 +290,16 @@ ADD_SA_BINARIES/sparc = $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.$(LIBRARY_SUFFIX) \ $(EXPORT_LIB_DIR)/sa-jdi.jar ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - ifeq ($(ZIP_DEBUGINFO_FILES),1) - ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz - ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz - else - ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo - ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + ifneq ($(ZERO_BUILD), true) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.diz + else + ADD_SA_BINARIES/x86 += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + ADD_SA_BINARIES/sparc += $(EXPORT_JRE_LIB_ARCH_DIR)/libsaproc.debuginfo + endif + endif endif endif ADD_SA_BINARIES/ppc = diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/gcc.make --- a/make/linux/makefiles/gcc.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/gcc.make Fri Jan 17 20:22:50 2014 +0000 @@ -30,22 +30,21 @@ # When cross-compiling the ALT_COMPILER_PATH points # to the cross-compilation toolset ifdef CROSS_COMPILE_ARCH - CXX = $(ALT_COMPILER_PATH)/g++ - CC = $(ALT_COMPILER_PATH)/gcc - HOSTCXX = g++ - HOSTCC = gcc - STRIP = $(ALT_COMPILER_PATH)/strip + CXX ?= $(ALT_COMPILER_PATH)/g++ + CC ?= $(ALT_COMPILER_PATH)/gcc + HOSTCXX ?= g++ + HOSTCC ?= gcc + STRIP ?= $(ALT_COMPILER_PATH)/strip else - CXX = g++ - CC = gcc - HOSTCXX = $(CXX) - HOSTCC = $(CC) - STRIP = strip + CXX ?= g++ + CC ?= gcc + HOSTCXX ?= $(CXX) + HOSTCC ?= $(CC) + STRIP ?= strip endif AS = $(CC) -c endif - # -dumpversion in gcc-2.91 shows "egcs-2.91.66". In later version, it only # prints the numbers (e.g. "2.95", "3.2.1") CC_VER_MAJOR := $(shell $(CC) -dumpversion | sed 's/egcs-//' | cut -d'.' -f1) @@ -66,15 +65,16 @@ # Compiler flags # position-independent code +ifneq ($(filter parisc ppc ppc64 s390 s390x sparc sparc64 sparcv9,$(ZERO_LIBARCH)),) PICFLAG = -fPIC +else +PICFLAG = -fpic +endif VM_PICFLAG/LIBJVM = $(PICFLAG) VM_PICFLAG/AOUT = VM_PICFLAG = $(VM_PICFLAG/$(LINK_INTO)) -ifeq ($(JVM_VARIANT_ZERO), true) -CFLAGS += $(LIBFFI_CFLAGS) -endif ifeq ($(JVM_VARIANT_ZEROSHARK), true) CFLAGS += $(LIBFFI_CFLAGS) CFLAGS += $(LLVM_CFLAGS) @@ -129,7 +129,9 @@ endif # Compiler warnings are treated as errors +ifneq ($(COMPILER_WARNINGS_FATAL),false) WARNINGS_ARE_ERRORS = -Werror +endif # Except for a few acceptable ones # Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/jsig.make --- a/make/linux/makefiles/jsig.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/jsig.make Fri Jan 17 20:22:50 2014 +0000 @@ -62,8 +62,10 @@ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl $(QUIETLY) [ -f $(LIBJSIG_G) ] || { ln -s $@ $(LIBJSIG_G); } ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO) $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBJSIG_DEBUGINFO) $@ + endif ifeq ($(STRIP_POLICY),all_strip) $(QUIETLY) $(STRIP) $@ else @@ -73,10 +75,12 @@ endif endif [ -f $(LIBJSIG_G_DEBUGINFO) ] || { ln -s $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO); } - ifeq ($(ZIP_DEBUGINFO_FILES),1) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) $(ZIPEXE) -q -y $(LIBJSIG_DIZ) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) $(RM) $(LIBJSIG_DEBUGINFO) $(LIBJSIG_G_DEBUGINFO) [ -f $(LIBJSIG_G_DIZ) ] || { ln -s $(LIBJSIG_DIZ) $(LIBJSIG_G_DIZ); } + endif endif endif diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/rules.make --- a/make/linux/makefiles/rules.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/rules.make Fri Jan 17 20:22:50 2014 +0000 @@ -143,20 +143,10 @@ include $(GAMMADIR)/make/altsrc.make -# The non-PIC object files are only generated for 32 bit platforms. -ifdef LP64 %.o: %.cpp @echo Compiling $< $(QUIETLY) $(REMOVE_TARGET) $(QUIETLY) $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE) -else -%.o: %.cpp - @echo Compiling $< - $(QUIETLY) $(REMOVE_TARGET) - $(QUIETLY) $(if $(findstring $@, $(NONPIC_OBJ_FILES)), \ - $(subst $(VM_PICFLAG), ,$(COMPILE.CXX)) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE), \ - $(COMPILE.CXX) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)) -endif %.o: %.s @echo Assembling $< diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/saproc.make --- a/make/linux/makefiles/saproc.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/saproc.make Fri Jan 17 20:22:50 2014 +0000 @@ -101,8 +101,11 @@ -lthread_db $(QUIETLY) [ -f $(LIBSAPROC_G) ] || { ln -s $@ $(LIBSAPROC_G); } ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBSAPROC_DEBUGINFO) $(QUIETLY) $(OBJCOPY) --add-gnu-debuglink=$(LIBSAPROC_DEBUGINFO) $@ + [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } + endif ifeq ($(STRIP_POLICY),all_strip) $(QUIETLY) $(STRIP) $@ else @@ -111,11 +114,12 @@ # implied else here is no stripping at all endif endif - [ -f $(LIBSAPROC_G_DEBUGINFO) ] || { ln -s $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO); } ifeq ($(ZIP_DEBUGINFO_FILES),1) + ifneq ($(STRIP_POLICY),no_strip) $(ZIPEXE) -q -y $(LIBSAPROC_DIZ) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) $(RM) $(LIBSAPROC_DEBUGINFO) $(LIBSAPROC_G_DEBUGINFO) [ -f $(LIBSAPROC_G_DIZ) ] || { ln -s $(LIBSAPROC_DIZ) $(LIBSAPROC_G_DIZ); } + endif endif endif diff -r 520b7b3d9153 -r 659dc7b310ea make/linux/makefiles/vm.make --- a/make/linux/makefiles/vm.make Tue Oct 08 11:11:02 2013 -0700 +++ b/make/linux/makefiles/vm.make Fri Jan 17 20:22:50 2014 +0000 From andrew at icedtea.classpath.org Fri Jan 17 12:24:57 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:24:57 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 83 new changesets Message-ID: changeset 95d67f7d8c95 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=95d67f7d8c95 author: cl date: Wed Oct 09 09:35:01 2013 -0700 Added tag jdk7u45-b31 for changeset 8c343a783777 changeset 050746671449 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=050746671449 author: lancea date: Thu Aug 15 11:46:56 2013 -0400 8022904: Enhance JDBC Parsers Reviewed-by: alanb, skoivu changeset d6d233ee9422 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d6d233ee9422 author: weijun date: Sat Aug 17 06:51:46 2013 +0800 8022931: Enhance Kerberos exceptions Reviewed-by: xuelei, ahgross changeset c0ff56eaaa96 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=c0ff56eaaa96 author: chegar date: Fri Aug 09 13:50:13 2013 +0100 8022661: InetAddress.writeObject() performs flush() on object output stream Reviewed-by: michaelm, alanb changeset 4b7df9a8efc3 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4b7df9a8efc3 author: weijun date: Mon Aug 19 22:43:32 2013 +0800 8022945: Enhance JNDI implementation classes Reviewed-by: xuelei, ahgross, skoivu changeset f43bc2c60d21 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=f43bc2c60d21 author: erikj date: Mon Aug 19 17:51:46 2013 +0200 8015614: Update build settings Reviewed-by: tbell, dholmes, ahgross changeset 9305237ab3d4 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9305237ab3d4 author: asaha date: Tue Aug 20 10:51:24 2013 -0700 Merge changeset c7cf5b83f7dd in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=c7cf5b83f7dd author: valeriep date: Wed Aug 21 12:07:31 2013 -0700 8022927: Input validation for byte/endian conversions Summary: Add additional boundary checks Reviewed-by: ascarpino changeset 3d00b699d5d2 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3d00b699d5d2 author: asaha date: Thu Aug 22 08:54:14 2013 -0700 Merge changeset 995b32f013f5 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=995b32f013f5 author: malenkov date: Mon Sep 02 16:56:33 2013 +0400 8023245: Enhance Beans decoding Reviewed-by: art, skoivu, alanb changeset fd6170becf78 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=fd6170becf78 author: asaha date: Tue Aug 27 15:36:49 2013 -0700 Merge changeset ddd59bc77e60 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ddd59bc77e60 author: asaha date: Wed Sep 04 08:30:47 2013 -0700 Merge changeset 30e41fbd2e24 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=30e41fbd2e24 author: asaha date: Wed Sep 04 12:29:26 2013 -0700 Merge changeset d533e96c7acc in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d533e96c7acc author: xuelei date: Thu Sep 05 18:17:49 2013 -0700 8023069: Enhance TLS connections Summary: Also reviewed by Alexander Fomin and Andrew Gross Reviewed-by: wetmore changeset 1b998b8306b9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1b998b8306b9 author: sherman date: Tue Sep 10 15:39:41 2013 -0700 8022868: missing codepage Cp290 at java runtime Summary: to add cp290 and cp300 Reviewed-by: alanb, coffeys changeset eac032b93d19 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=eac032b93d19 author: asaha date: Wed Sep 11 15:33:01 2013 -0700 Merge changeset a5a90a118ce0 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=a5a90a118ce0 author: asaha date: Thu Sep 12 08:11:13 2013 -0700 Merge changeset 41dc340af6aa in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=41dc340af6aa author: sherman date: Thu Sep 12 14:41:14 2013 -0700 8024668: api/java_nio/charset/Charset/index.html#Methods JCK-runtime test fails with 7u45 b11 Summary: to add IBM290 into make/sun/nio/cs/FILES_java.gmk Reviewed-by: alanb, coffeys changeset abe1cb2d27cb in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=abe1cb2d27cb author: weijun date: Fri Sep 13 15:17:31 2013 +0800 8024306: Enhance Subject consistency Summary: Also reviewed by Alexander Fomin Reviewed-by: mullan, ahgross changeset d5f36e1c927e in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d5f36e1c927e author: weijun date: Fri Sep 13 15:22:39 2013 +0800 8023672: Enhance jar file validation Summary: Also reviewed by Chris Ries and Alexander Fomin Reviewed-by: mullan, sherman changeset 1a975041e36e in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=1a975041e36e author: vadim date: Fri Sep 13 12:52:24 2013 +0400 8023057: Enhance start up image display Reviewed-by: anthony, serb, mschoene changeset f4737bbf6ca7 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=f4737bbf6ca7 author: bae date: Fri Sep 13 19:19:55 2013 +0400 8024697: Fix for 8020983 causes Xcheck:jni warnings Reviewed-by: prr, jchen changeset 089e3a70de1d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=089e3a70de1d author: coleenp date: Mon Sep 16 14:22:17 2013 -0400 8021271: Better buffering in ObjC code Summary: Improve buffering in ObjC code Reviewed-by: serb, hseigel, coleenp Contributed-by: gerard.ziemski at oracle.com changeset 77f5558b5215 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=77f5558b5215 author: erikj date: Thu Sep 19 13:32:42 2013 +0200 8023771: when USER_RELEASE_SUFFIX is set in order to add a string to java -version, build number in the bundles names should not be changed to b00 Reviewed-by: dholmes, ihse changeset 9d29c19f1de1 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9d29c19f1de1 author: vadim date: Thu Sep 19 20:56:20 2013 +0400 8025034: Improve layout lookups Reviewed-by: mschoene, vadim, srl changeset b85c94444634 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=b85c94444634 author: erikj date: Mon Sep 23 17:38:35 2013 +0200 8025170: jdk7u51 7u-1-prebuild is failing since 9/19 Reviewed-by: tbell, ihse changeset 627abacf40db in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=627abacf40db author: asaha date: Mon Sep 30 11:45:46 2013 -0700 Merge changeset 2e35e0dbd2b6 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=2e35e0dbd2b6 author: asaha date: Mon Sep 30 11:45:09 2013 -0700 Added tag jdk7u51-b00 for changeset 3c9a6d9eafd3 changeset 48e447472911 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=48e447472911 author: asaha date: Mon Sep 30 11:51:06 2013 -0700 Merge changeset d76613074ff3 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d76613074ff3 author: asaha date: Mon Sep 30 11:59:02 2013 -0700 Merge changeset 4ef9342e2599 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4ef9342e2599 author: cl date: Tue Oct 01 08:36:52 2013 -0700 Added tag jdk7u51-b01 for changeset d76613074ff3 changeset 7f2fc6c7c6dd in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=7f2fc6c7c6dd author: weijun date: Thu Sep 19 10:40:16 2013 +0800 8024302: Clarify jar verifications 8023338: Update jarsigner to encourage timestamping Reviewed-by: mullan, ahgross changeset dc04e86b0dac in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=dc04e86b0dac author: malenkov date: Fri Oct 04 19:39:59 2013 +0400 8025448: Enhance listening events Reviewed-by: art, skoivu changeset 15c242aefefd in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=15c242aefefd author: dfuchs date: Mon Oct 07 12:09:22 2013 +0200 8024867: Enhance logging start up Reviewed-by: mchung, hawtin changeset 35644fe4a796 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=35644fe4a796 author: weijun date: Wed Oct 09 18:58:16 2013 +0800 8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris Reviewed-by: chegar Contributed-by: Artem Smotrakov changeset fb057871f094 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=fb057871f094 author: asaha date: Wed Oct 09 11:18:28 2013 -0700 Merge changeset 6be222726f6d in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=6be222726f6d author: cl date: Thu Oct 10 10:16:46 2013 -0700 Added tag jdk7u51-b02 for changeset fb057871f094 changeset 8e542d28b8ec in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8e542d28b8ec author: jfranck date: Fri Oct 11 11:22:21 2013 +0200 8023301: Enhance generic classes Reviewed-by: mchung, hawtin changeset 9fbac37835f2 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9fbac37835f2 author: weijun date: Sat Oct 12 10:22:43 2013 +0800 8026304: jarsigner output bad grammar Reviewed-by: chegar, coffeys Contributed-by: Artem Smotrakov changeset 232d21f4de76 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=232d21f4de76 author: mcherkas date: Thu Oct 03 17:32:01 2013 +0400 8023310: Thread contention in the method Beans.IsDesignTime() Reviewed-by: alexp, malenkov changeset 6b3c195c73b0 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=6b3c195c73b0 author: xuelei date: Mon Oct 14 18:35:40 2013 -0700 8025026: Enhance canonicalization Summary: Don't use cached null xmlns definition. Also reviewed by Alexander Fomin Reviewed-by: mullan, hawtin changeset 0797c957fdb9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=0797c957fdb9 author: cl date: Tue Oct 15 09:32:07 2013 -0700 Added tag jdk7u51-b03 for changeset 6b3c195c73b0 changeset aef5cd4ac081 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=aef5cd4ac081 author: prr date: Tue Oct 15 11:34:38 2013 -0700 8026176: Enhance document printing Reviewed-by: bae, jgodinez changeset 2197764aee8b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=2197764aee8b author: xuelei date: Tue Oct 15 20:15:20 2013 -0700 8026204: Enhance auth login contexts Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross changeset cd8026b9d403 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=cd8026b9d403 author: malenkov date: Wed Oct 16 14:02:44 2013 +0400 8026172: Enhance UI Management Reviewed-by: art, skoivu changeset 5c20ac773584 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5c20ac773584 author: xuelei date: Wed Oct 16 20:12:52 2013 -0700 8025758: Enhance Naming management Summary: Enforce package access control with current context. Also reviewed by Alexander Fomin Reviewed-by: weijun, ahgross changeset dd60bcc30d64 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=dd60bcc30d64 author: jchen date: Wed Oct 16 15:16:21 2013 -0700 8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test Reviewed-by: prr, vadim, serb changeset ac44ec0de12a in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ac44ec0de12a author: prr date: Sun Oct 20 06:12:08 2013 -0700 8024530: Enhance font process resilience Reviewed-by: mschoene, bae, srl, prr changeset 496c51673dec in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=496c51673dec author: sjiang date: Mon Oct 21 17:47:56 2013 +0200 7068126: Enhance SNMP statuses Reviewed-by: dfuchs, hawtin changeset 5348ecf3da7f in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5348ecf3da7f author: weijun date: Thu Oct 17 09:58:42 2013 +0800 8025014: Enhance Security Policy 6727821: Enhance JAAS Configuration Reviewed-by: xuelei, hawtin changeset cd2808b7e276 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=cd2808b7e276 author: xuelei date: Mon Jul 29 19:02:14 2013 -0700 8014618: Need to strip leading zeros in TlsPremasterSecret of DHKeyAgreement Reviewed-by: xuelei Contributed-by: Pasi Eronen changeset 96431826ae3a in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=96431826ae3a author: coffeys date: Tue Oct 22 09:23:29 2013 -0700 Merge changeset 3fd08b034937 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3fd08b034937 author: cl date: Tue Oct 22 22:23:59 2013 -0700 Added tag jdk7u51-b04 for changeset 96431826ae3a changeset 8ee582bb96a6 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8ee582bb96a6 author: xuelei date: Thu Oct 24 10:07:51 2013 -0700 8027204: Revise the update of 8026204 and 8025758 Summary: Rivise the update to use system class loader with null TCCL. Also reviewed by Alexander Fomin Reviewed-by: weijun, mchung, ahgross changeset ec12a8266386 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ec12a8266386 author: cl date: Tue Oct 29 09:09:11 2013 -0700 Added tag jdk7u51-b05 for changeset 8ee582bb96a6 changeset 07004bb53c3c in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=07004bb53c3c author: xuelei date: Wed Oct 23 21:32:52 2013 -0700 8026417: Enhance XML canonicalization Summary: Copy before use mutable byte arrays. Also reviewed by Alexander Fomin Reviewed-by: weijun, mullan, hawtin, ahgross changeset 8a60b069f9cd in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8a60b069f9cd author: asaha date: Thu Oct 31 14:40:59 2013 -0700 Merge changeset 8afbbdc15c3c in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=8afbbdc15c3c author: kshefov date: Fri Jun 21 17:53:00 2013 +0400 8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions Reviewed-by: coffeys, alanb changeset 32842dd53611 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=32842dd53611 author: aefimov date: Thu Oct 24 17:14:18 2013 +0400 8025255: (tz) Support tzdata2013g 8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing Reviewed-by: okutsu, mfang changeset 594ae80153af in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=594ae80153af author: alanb date: Thu Oct 24 19:21:52 2013 +0100 8021257: com.sun.corba.se.** should be on restricted package list Reviewed-by: chegar, coffeys, smarks Contributed-by: alan.bateman at oracle.com, mark.sheppard at oracle.com changeset 982700bf473b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=982700bf473b author: cl date: Tue Nov 05 10:58:49 2013 -0800 Added tag jdk7u51-b06 for changeset 594ae80153af changeset 9b3b76f0b195 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9b3b76f0b195 author: mfang date: Thu Nov 07 12:20:30 2013 -0800 8027787: 7u51 l10n resource file translation update 1 Reviewed-by: yhuang changeset 7b84e6514c29 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=7b84e6514c29 author: rgallard date: Fri Nov 08 13:50:04 2013 -0800 8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications Reviewed-by: weijun changeset 40fca6b57cd8 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=40fca6b57cd8 author: cl date: Tue Nov 12 08:51:51 2013 -0800 Added tag jdk7u51-b07 for changeset 7b84e6514c29 changeset 9afd02dabdf9 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9afd02dabdf9 author: cl date: Tue Nov 19 08:37:13 2013 -0800 Added tag jdk7u51-b08 for changeset 40fca6b57cd8 changeset 909ea1f47e0b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=909ea1f47e0b author: coffeys date: Thu Nov 21 13:39:01 2013 +0000 8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option Reviewed-by: sundar changeset e6160aedadd5 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e6160aedadd5 author: michaelm date: Fri Nov 01 10:40:56 2013 +0000 8011786: Better applet networking Summary: add checkListen() to client socket binds and new interpretation for port number 0 in SocketPermission Reviewed-by: chegar, alanb changeset 2bce3c0856af in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=2bce3c0856af author: michaelm date: Wed Nov 20 15:28:54 2013 +0000 8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) Reviewed-by: alanb, chegar changeset 33ae35eeb5a4 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=33ae35eeb5a4 author: msheppar date: Sun Nov 24 13:08:16 2013 +0000 8028215: ORB.init fails with SecurityException if properties select the JDK default ORB Summary: check for default ORBImpl and ORBSingleton set via properties or System properties Reviewed-by: alanb, coffeys, mchung changeset 216138d587a7 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=216138d587a7 author: asaha date: Wed Nov 27 08:24:31 2013 -0800 Added tag jdk7u51-b09 for changeset 33ae35eeb5a4 changeset e935cd4139c6 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e935cd4139c6 author: michaelm date: Fri Nov 22 00:08:17 2013 +0000 8028293: Check local configuration for actual ephemeral port range Reviewed-by: alanb, chegar, smarks changeset 4a6e31d94b29 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=4a6e31d94b29 author: michaelm date: Fri Nov 22 01:15:32 2013 +0000 8028823: java/net/Makefile tabs converted to spaces Reviewed-by: mduigou changeset 41c4df1de66a in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=41c4df1de66a author: katleman date: Wed Dec 04 10:11:21 2013 -0800 Added tag jdk7u51-b10 for changeset 4a6e31d94b29 changeset f0425ecbbb0c in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=f0425ecbbb0c author: aefimov date: Fri Nov 15 13:31:41 2013 +0400 8027370: Support tzdata2013h Reviewed-by: sherman, coffeys changeset f5eee4f1d5b4 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=f5eee4f1d5b4 author: katleman date: Tue Dec 10 13:16:24 2013 -0800 Added tag jdk7u51-b11 for changeset f0425ecbbb0c changeset d19a89fdfb9b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=d19a89fdfb9b author: katleman date: Sat Dec 14 11:51:34 2013 -0800 Added tag jdk7u51-b12 for changeset f5eee4f1d5b4 changeset 402d54c7d8ce in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=402d54c7d8ce author: mcherkas date: Thu Oct 03 17:32:01 2013 +0400 8023310: Thread contention in the method Beans.IsDesignTime() Reviewed-by: alexp, malenkov changeset 34e8f9f26ae6 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=34e8f9f26ae6 author: cl date: Mon Nov 25 11:02:34 2013 -0800 Added tag jdk7u45-b33 for changeset 402d54c7d8ce changeset 0cf7bf25b314 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=0cf7bf25b314 author: katleman date: Fri Dec 06 13:07:39 2013 -0800 Added tag jdk7u45-b34 for changeset 34e8f9f26ae6 changeset 107c98c89f70 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=107c98c89f70 author: asaha date: Tue Dec 17 11:14:41 2013 -0800 Merge changeset ef58b2b9a9a1 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=ef58b2b9a9a1 author: katleman date: Thu Dec 19 09:01:16 2013 -0800 Added tag jdk7u51-b13 for changeset d19a89fdfb9b changeset 5bca0d0969b1 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=5bca0d0969b1 author: asaha date: Thu Dec 19 09:34:48 2013 -0800 Merge changeset 53ebbd107ffa in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=53ebbd107ffa author: andrew date: Fri Jan 17 20:23:01 2014 +0000 Merge jdk7u51-b31 diffstat: .hgtags | 37 + .jcheck/conf | 2 - make/com/sun/java/pack/Makefile | 7 +- make/com/sun/nio/sctp/Makefile | 2 + make/common/Defs-linux.gmk | 23 +- make/common/Library.gmk | 40 +- make/common/Program.gmk | 80 +- make/common/Release.gmk | 24 +- make/common/shared/Compiler-gcc.gmk | 76 +- make/common/shared/Defs-java.gmk | 11 +- make/common/shared/Defs-versions.gmk | 2 +- make/common/shared/Defs.gmk | 2 +- make/common/shared/Platform.gmk | 9 + make/common/shared/Sanity.gmk | 8 + make/docs/Makefile | 6 +- make/java/Makefile | 4 - make/java/net/FILES_c.gmk | 36 +- make/java/net/Makefile | 29 +- make/java/net/mapfile-vers | 156 +- make/java/nio/Makefile | 226 +- make/java/security/Makefile | 12 +- make/java/sun_nio/Makefile | 2 +- make/java/version/Makefile | 5 + make/javax/sound/SoundDefs.gmk | 52 + make/jdk_generic_profile.sh | 89 +- make/sun/awt/FILES_c_unix.gmk | 10 + make/sun/awt/Makefile | 2 +- make/sun/awt/mawt.gmk | 39 +- make/sun/cmm/lcms/FILES_c_unix.gmk | 7 +- make/sun/cmm/lcms/Makefile | 8 +- make/sun/font/Makefile | 6 +- make/sun/javazic/tzdata/VERSION | 2 +- make/sun/javazic/tzdata/africa | 108 +- make/sun/javazic/tzdata/antarctica | 35 +- make/sun/javazic/tzdata/asia | 99 +- make/sun/javazic/tzdata/australasia | 39 +- make/sun/javazic/tzdata/backward | 20 +- make/sun/javazic/tzdata/etcetera | 12 +- make/sun/javazic/tzdata/europe | 134 +- make/sun/javazic/tzdata/factory | 8 +- make/sun/javazic/tzdata/iso3166.tab | 18 +- make/sun/javazic/tzdata/leapseconds | 78 +- make/sun/javazic/tzdata/northamerica | 150 +- make/sun/javazic/tzdata/pacificnew | 8 +- make/sun/javazic/tzdata/solar87 | 8 +- make/sun/javazic/tzdata/solar88 | 8 +- make/sun/javazic/tzdata/solar89 | 8 +- make/sun/javazic/tzdata/southamerica | 80 +- make/sun/javazic/tzdata/systemv | 8 +- make/sun/javazic/tzdata/zone.tab | 43 +- make/sun/jawt/Makefile | 7 + make/sun/jpeg/FILES_c.gmk | 6 +- make/sun/jpeg/Makefile | 11 +- make/sun/lwawt/FILES_c_macosx.gmk | 6 + make/sun/lwawt/Makefile | 7 +- make/sun/native2ascii/Makefile | 2 +- make/sun/net/FILES_java.gmk | 4 +- make/sun/nio/cs/Makefile | 2 +- make/sun/security/Makefile | 11 +- make/sun/security/krb5/internal/ccache/Makefile | 49 + make/sun/security/pkcs11/mapfile-vers | 4 +- make/sun/splashscreen/FILES_c.gmk | 78 +- make/sun/splashscreen/Makefile | 35 +- make/sun/xawt/FILES_c_unix.gmk | 20 + make/sun/xawt/Makefile | 62 +- make/tools/Makefile | 9 + make/tools/freetypecheck/Makefile | 2 +- make/tools/generate_nimbus/Makefile | 1 + make/tools/src/build/tools/buildmetaindex/BuildMetaIndex.java | 22 +- make/tools/src/build/tools/compileproperties/CompileProperties.java | 9 +- make/tools/src/build/tools/dirdiff/DirDiff.java | 4 +- make/tools/src/build/tools/dtdbuilder/DTDBuilder.java | 34 +- make/tools/src/build/tools/dtdbuilder/DTDInputStream.java | 6 +- make/tools/src/build/tools/dtdbuilder/DTDParser.java | 44 +- make/tools/src/build/tools/dtdbuilder/PublicMapping.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/CharSet.java | 16 +- make/tools/src/build/tools/generatebreakiteratordata/DictionaryBasedBreakIteratorBuilder.java | 8 +- make/tools/src/build/tools/generatebreakiteratordata/GenerateBreakIteratorData.java | 6 +- make/tools/src/build/tools/generatebreakiteratordata/RuleBasedBreakIteratorBuilder.java | 201 +- make/tools/src/build/tools/generatebreakiteratordata/SupplementaryCharacterData.java | 6 +- make/tools/src/build/tools/generatecharacter/GenerateCharacter.java | 4 +- make/tools/src/build/tools/generatecharacter/SpecialCaseMap.java | 147 +- make/tools/src/build/tools/generatecharacter/UnicodeSpec.java | 22 +- make/tools/src/build/tools/generatecurrencydata/GenerateCurrencyData.java | 4 +- make/tools/src/build/tools/hasher/Hasher.java | 38 +- make/tools/src/build/tools/jarsplit/JarSplit.java | 5 +- make/tools/src/build/tools/javazic/Gen.java | 14 +- make/tools/src/build/tools/javazic/GenDoc.java | 16 +- make/tools/src/build/tools/javazic/Main.java | 3 +- make/tools/src/build/tools/javazic/Simple.java | 23 +- make/tools/src/build/tools/javazic/Time.java | 10 +- make/tools/src/build/tools/javazic/Zoneinfo.java | 18 +- make/tools/src/build/tools/jdwpgen/AbstractCommandNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractGroupNode.java | 7 +- make/tools/src/build/tools/jdwpgen/AbstractNamedNode.java | 14 +- make/tools/src/build/tools/jdwpgen/AbstractTypeListNode.java | 26 +- make/tools/src/build/tools/jdwpgen/AltNode.java | 4 +- make/tools/src/build/tools/jdwpgen/CommandSetNode.java | 11 +- make/tools/src/build/tools/jdwpgen/ConstantSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/ErrorSetNode.java | 9 +- make/tools/src/build/tools/jdwpgen/Node.java | 25 +- make/tools/src/build/tools/jdwpgen/OutNode.java | 14 +- make/tools/src/build/tools/jdwpgen/RootNode.java | 10 +- make/tools/src/build/tools/jdwpgen/SelectNode.java | 10 +- make/tools/src/build/tools/makeclasslist/MakeClasslist.java | 15 +- make/tools/src/build/tools/stripproperties/StripProperties.java | 4 +- src/bsd/doc/man/jarsigner.1 | 2468 ++--- src/linux/doc/man/ja/jarsigner.1 | 3010 +++---- src/linux/doc/man/jarsigner.1 | 2470 ++--- src/macosx/classes/com/apple/laf/resources/aqua_ko.properties | 2 +- src/macosx/native/sun/awt/splashscreen/splashscreen_sys.m | 4 +- src/share/bin/java.c | 8 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_de.properties | 2 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_es.properties | 2 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_fr.properties | 2 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_it.properties | 2 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_pt_BR.properties | 2 +- src/share/classes/com/sun/accessibility/internal/resources/accessibility_sv.properties | 2 +- src/share/classes/com/sun/beans/decoder/DocumentHandler.java | 9 + src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java | 7 +- src/share/classes/com/sun/crypto/provider/TlsRsaPremasterSecretGenerator.java | 18 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java | 2 +- src/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java | 2 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java | 3 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKLookAndFeel.java | 10 +- src/share/classes/com/sun/java/swing/plaf/gtk/GTKStyle.java | 5 +- src/share/classes/com/sun/java/swing/plaf/gtk/resources/gtk_de.properties | 2 +- src/share/classes/com/sun/java/swing/plaf/motif/resources/motif_ko.properties | 4 +- src/share/classes/com/sun/jmx/remote/security/MBeanServerFileAccessController.java | 2 + src/share/classes/com/sun/jmx/snmp/agent/SnmpMibEntry.java | 12 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibGroup.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibNode.java | 21 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibOid.java | 16 +- src/share/classes/com/sun/jmx/snmp/agent/SnmpMibTable.java | 30 +- src/share/classes/com/sun/jmx/snmp/daemon/SnmpRequestHandler.java | 3 - src/share/classes/com/sun/jndi/dns/DnsContextFactory.java | 2 +- src/share/classes/com/sun/naming/internal/FactoryEnumeration.java | 18 +- src/share/classes/com/sun/naming/internal/ResourceManager.java | 42 +- src/share/classes/com/sun/naming/internal/VersionHelper12.java | 50 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer11.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315.java | 3 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/Canonicalizer20010315Excl.java | 2 +- src/share/classes/com/sun/org/apache/xml/internal/security/c14n/implementations/CanonicalizerBase.java | 88 +- src/share/classes/com/sun/rowset/RowSetResourceBundle_ko.properties | 6 +- src/share/classes/com/sun/rowset/internal/XmlReaderContentHandler.java | 4 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java | 2 +- src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java | 8 +- src/share/classes/com/sun/script/javascript/RhinoTopLevel.java | 3 +- src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_ko.properties | 4 +- src/share/classes/com/sun/swing/internal/plaf/metal/resources/metal_sv.properties | 4 +- src/share/classes/java/awt/color/ICC_Profile.java | 4 +- src/share/classes/java/beans/ThreadGroupContext.java | 18 +- src/share/classes/java/beans/WeakIdentityMap.java | 139 +- src/share/classes/java/io/InputStream.java | 2 +- src/share/classes/java/lang/SecurityManager.java | 8 +- src/share/classes/java/net/Socket.java | 4 + src/share/classes/java/net/SocketPermission.java | 106 +- src/share/classes/java/net/SocksSocketImpl.java | 4 +- src/share/classes/java/security/Policy.java | 1 - src/share/classes/java/util/jar/JarVerifier.java | 4 +- src/share/classes/java/util/logging/LogManager.java | 18 + src/share/classes/javax/crypto/Cipher.java | 172 +- src/share/classes/javax/print/SimpleDoc.java | 5 +- src/share/classes/javax/security/auth/Policy.java | 56 +- src/share/classes/javax/security/auth/Subject.java | 4 + src/share/classes/javax/security/auth/login/Configuration.java | 47 +- src/share/classes/javax/security/auth/login/LoginContext.java | 114 +- src/share/classes/javax/sql/rowset/spi/SyncFactory.java | 26 +- src/share/classes/javax/swing/JComponent.java | 13 +- src/share/classes/javax/swing/JDialog.java | 3 +- src/share/classes/javax/swing/JEditorPane.java | 11 +- src/share/classes/javax/swing/JFrame.java | 10 +- src/share/classes/javax/swing/JInternalFrame.java | 6 +- src/share/classes/javax/swing/JPopupMenu.java | 10 +- src/share/classes/javax/swing/MenuSelectionManager.java | 5 +- src/share/classes/javax/swing/PopupFactory.java | 14 +- src/share/classes/javax/swing/SwingUtilities.java | 8 +- src/share/classes/javax/swing/SwingWorker.java | 2 +- src/share/classes/javax/swing/event/EventListenerList.java | 5 +- src/share/classes/javax/swing/plaf/basic/BasicComboBoxUI.java | 6 +- src/share/classes/javax/swing/plaf/basic/BasicListUI.java | 5 +- src/share/classes/javax/swing/plaf/basic/BasicPopupMenuUI.java | 16 +- src/share/classes/javax/swing/plaf/basic/BasicTableUI.java | 8 +- src/share/classes/javax/swing/plaf/basic/BasicTreeUI.java | 3 +- src/share/classes/javax/swing/plaf/synth/ImagePainter.java | 5 +- src/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java | 3 +- src/share/classes/javax/swing/text/JTextComponent.java | 6 +- src/share/classes/org/jcp/xml/dsig/internal/dom/DOMHMACSignatureMethod.java | 2 - src/share/classes/sun/applet/AppletPanel.java | 10 +- src/share/classes/sun/applet/AppletViewerPanel.java | 18 +- src/share/classes/sun/awt/image/JPEGImageDecoder.java | 2 +- src/share/classes/sun/java2d/cmm/lcms/LCMS.java | 2 +- src/share/classes/sun/launcher/resources/launcher_fr.properties | 2 +- src/share/classes/sun/launcher/resources/launcher_ja.properties | 6 +- src/share/classes/sun/launcher/resources/launcher_ko.properties | 5 +- src/share/classes/sun/launcher/resources/launcher_pt_BR.properties | 2 +- src/share/classes/sun/misc/SharedSecrets.java | 7 +- src/share/classes/sun/misc/Version.java.template | 58 +- src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java | 4 + src/share/classes/sun/nio/ch/SocketChannelImpl.java | 4 + src/share/classes/sun/print/resources/serviceui_es.properties | 12 +- src/share/classes/sun/print/resources/serviceui_fr.properties | 16 +- src/share/classes/sun/print/resources/serviceui_it.properties | 6 +- src/share/classes/sun/print/resources/serviceui_pt_BR.properties | 22 +- src/share/classes/sun/print/resources/serviceui_sv.properties | 12 +- src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java | 21 +- src/share/classes/sun/reflect/misc/ReflectUtil.java | 35 + src/share/classes/sun/rmi/registry/RegistryImpl.java | 19 +- src/share/classes/sun/rmi/server/LoaderHandler.java | 2 +- src/share/classes/sun/rmi/server/UnicastServerRef.java | 2 +- src/share/classes/sun/rmi/server/resources/rmid_ko.properties | 2 +- src/share/classes/sun/security/internal/spec/TlsRsaPremasterSecretParameterSpec.java | 53 +- src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java | 96 +- src/share/classes/sun/security/pkcs11/Config.java | 3 + src/share/classes/sun/security/pkcs11/P11Digest.java | 185 +- src/share/classes/sun/security/pkcs11/P11KeyAgreement.java | 4 +- src/share/classes/sun/security/pkcs11/P11RSACipher.java | 27 +- src/share/classes/sun/security/pkcs11/P11Signature.java | 7 +- src/share/classes/sun/security/pkcs11/P11TlsRsaPremasterSecretGenerator.java | 44 +- src/share/classes/sun/security/pkcs11/P11Util.java | 16 +- src/share/classes/sun/security/pkcs11/SunPKCS11.java | 23 +- src/share/classes/sun/security/pkcs11/wrapper/PKCS11.java | 377 +- src/share/classes/sun/security/provider/ByteArrayAccess.java | 51 +- src/share/classes/sun/security/provider/certpath/OCSP.java | 18 +- src/share/classes/sun/security/rsa/RSAPadding.java | 50 +- src/share/classes/sun/security/ssl/Handshaker.java | 88 +- src/share/classes/sun/security/ssl/RSAClientKeyExchange.java | 151 +- src/share/classes/sun/security/ssl/SSLEngineImpl.java | 11 + src/share/classes/sun/security/tools/JarSigner.java | 107 +- src/share/classes/sun/security/tools/JarSignerResources.java | 12 +- src/share/classes/sun/security/tools/JarSignerResources_ja.java | 12 +- src/share/classes/sun/security/tools/JarSignerResources_zh_CN.java | 12 +- src/share/classes/sun/security/util/KeyUtil.java | 21 +- src/share/classes/sun/security/util/ObjectIdentifier.java | 2 +- src/share/classes/sun/security/util/Resources_de.java | 2 +- src/share/classes/sun/security/util/Resources_fr.java | 8 +- src/share/classes/sun/security/util/Resources_zh_CN.java | 2 +- src/share/classes/sun/security/util/Resources_zh_TW.java | 2 +- src/share/classes/sun/security/util/SecurityConstants.java | 2 +- src/share/classes/sun/swing/DefaultLookup.java | 3 +- src/share/classes/sun/swing/SwingUtilities2.java | 17 +- src/share/classes/sun/tools/jar/Main.java | 2 +- src/share/classes/sun/tools/jar/resources/jar_de.properties | 2 +- src/share/classes/sun/tools/jar/resources/jar_es.properties | 4 +- src/share/classes/sun/tools/jar/resources/jar_fr.properties | 2 +- src/share/classes/sun/tools/jar/resources/jar_it.properties | 4 +- src/share/classes/sun/tools/jar/resources/jar_ja.properties | 4 +- src/share/classes/sun/tools/jar/resources/jar_ko.properties | 6 +- src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties | 6 +- src/share/classes/sun/tools/jar/resources/jar_sv.properties | 2 +- src/share/classes/sun/tools/jar/resources/jar_zh_CN.properties | 2 +- src/share/classes/sun/tools/jar/resources/jar_zh_TW.properties | 2 +- src/share/classes/sun/tools/native2ascii/Main.java | 9 +- src/share/classes/sun/util/calendar/ZoneInfoFile.java | 41 +- src/share/classes/sun/util/resources/TimeZoneNames.java | 28 +- src/share/classes/sun/util/resources/TimeZoneNames_de.java | 74 +- src/share/classes/sun/util/resources/TimeZoneNames_es.java | 54 +- src/share/classes/sun/util/resources/TimeZoneNames_fr.java | 66 +- src/share/classes/sun/util/resources/TimeZoneNames_it.java | 70 +- src/share/classes/sun/util/resources/TimeZoneNames_ja.java | 84 +- src/share/classes/sun/util/resources/TimeZoneNames_ko.java | 84 +- src/share/classes/sun/util/resources/TimeZoneNames_pt_BR.java | 84 +- src/share/classes/sun/util/resources/TimeZoneNames_sv.java | 82 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java | 84 +- src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java | 84 +- src/share/demo/jvmti/gctest/sample.makefile.txt | 6 +- src/share/demo/jvmti/heapTracker/sample.makefile.txt | 19 +- src/share/demo/jvmti/heapViewer/sample.makefile.txt | 5 +- src/share/demo/jvmti/hprof/sample.makefile.txt | 6 +- src/share/demo/jvmti/minst/sample.makefile.txt | 19 +- src/share/demo/jvmti/mtrace/sample.makefile.txt | 20 +- src/share/demo/jvmti/versionCheck/sample.makefile.txt | 6 +- src/share/demo/jvmti/waiters/sample.makefile.txt | 8 +- src/share/lib/security/java.policy | 69 +- src/share/lib/security/java.security-linux | 9 +- src/share/lib/security/java.security-macosx | 9 +- src/share/lib/security/java.security-solaris | 9 +- src/share/lib/security/java.security-windows | 9 +- src/share/lib/security/nss.cfg.in | 5 + src/share/lib/security/sunpkcs11-solaris.cfg | 14 +- src/share/native/com/sun/java/util/jar/pack/unpack.cpp | 1 - src/share/native/com/sun/media/sound/SoundDefs.h | 9 + src/share/native/java/util/zip/Deflater.c | 46 +- src/share/native/java/util/zip/Inflater.c | 6 +- src/share/native/sun/awt/image/awt_ImageRep.c | 2 +- src/share/native/sun/awt/image/jpeg/README | 385 - src/share/native/sun/awt/image/jpeg/imageioJPEG.c | 12 +- src/share/native/sun/awt/image/jpeg/jcapimin.c | 284 - src/share/native/sun/awt/image/jpeg/jcapistd.c | 165 - src/share/native/sun/awt/image/jpeg/jccoefct.c | 453 - src/share/native/sun/awt/image/jpeg/jccolor.c | 462 - src/share/native/sun/awt/image/jpeg/jcdctmgr.c | 391 - src/share/native/sun/awt/image/jpeg/jchuff.c | 913 -- src/share/native/sun/awt/image/jpeg/jchuff.h | 51 - src/share/native/sun/awt/image/jpeg/jcinit.c | 76 - src/share/native/sun/awt/image/jpeg/jcmainct.c | 297 - src/share/native/sun/awt/image/jpeg/jcmarker.c | 682 - src/share/native/sun/awt/image/jpeg/jcmaster.c | 594 - src/share/native/sun/awt/image/jpeg/jcomapi.c | 110 - src/share/native/sun/awt/image/jpeg/jconfig.h | 43 - src/share/native/sun/awt/image/jpeg/jcparam.c | 614 - src/share/native/sun/awt/image/jpeg/jcphuff.c | 837 -- src/share/native/sun/awt/image/jpeg/jcprepct.c | 358 - src/share/native/sun/awt/image/jpeg/jcsample.c | 523 - src/share/native/sun/awt/image/jpeg/jctrans.c | 392 - src/share/native/sun/awt/image/jpeg/jdapimin.c | 399 - src/share/native/sun/awt/image/jpeg/jdapistd.c | 279 - src/share/native/sun/awt/image/jpeg/jdcoefct.c | 740 - src/share/native/sun/awt/image/jpeg/jdcolor.c | 398 - src/share/native/sun/awt/image/jpeg/jdct.h | 180 - src/share/native/sun/awt/image/jpeg/jddctmgr.c | 273 - src/share/native/sun/awt/image/jpeg/jdhuff.c | 655 - src/share/native/sun/awt/image/jpeg/jdhuff.h | 205 - src/share/native/sun/awt/image/jpeg/jdinput.c | 385 - src/share/native/sun/awt/image/jpeg/jdmainct.c | 516 - src/share/native/sun/awt/image/jpeg/jdmarker.c | 1384 --- src/share/native/sun/awt/image/jpeg/jdmaster.c | 561 - src/share/native/sun/awt/image/jpeg/jdmerge.c | 404 - src/share/native/sun/awt/image/jpeg/jdphuff.c | 672 - src/share/native/sun/awt/image/jpeg/jdpostct.c | 294 - src/share/native/sun/awt/image/jpeg/jdsample.c | 482 - src/share/native/sun/awt/image/jpeg/jdtrans.c | 147 - src/share/native/sun/awt/image/jpeg/jerror.c | 272 - src/share/native/sun/awt/image/jpeg/jerror.h | 295 - src/share/native/sun/awt/image/jpeg/jfdctflt.c | 172 - src/share/native/sun/awt/image/jpeg/jfdctfst.c | 228 - src/share/native/sun/awt/image/jpeg/jfdctint.c | 287 - src/share/native/sun/awt/image/jpeg/jidctflt.c | 246 - src/share/native/sun/awt/image/jpeg/jidctfst.c | 372 - src/share/native/sun/awt/image/jpeg/jidctint.c | 393 - src/share/native/sun/awt/image/jpeg/jidctred.c | 402 - src/share/native/sun/awt/image/jpeg/jinclude.h | 95 - src/share/native/sun/awt/image/jpeg/jmemmgr.c | 1124 -- src/share/native/sun/awt/image/jpeg/jmemnobs.c | 113 - src/share/native/sun/awt/image/jpeg/jmemsys.h | 202 - src/share/native/sun/awt/image/jpeg/jmorecfg.h | 378 - src/share/native/sun/awt/image/jpeg/jpeg-6b/README | 385 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapimin.c | 284 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcapistd.c | 165 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jccoefct.c | 453 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jccolor.c | 462 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcdctmgr.c | 391 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.c | 913 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jchuff.h | 51 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcinit.c | 76 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmainct.c | 297 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmarker.c | 682 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcmaster.c | 594 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcomapi.c | 110 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jconfig.h | 43 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcparam.c | 614 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcphuff.c | 837 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jcprepct.c | 358 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jcsample.c | 523 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jctrans.c | 392 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapimin.c | 399 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdapistd.c | 279 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcoefct.c | 740 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdcolor.c | 398 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdct.h | 180 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jddctmgr.c | 273 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.c | 655 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdhuff.h | 205 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdinput.c | 385 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmainct.c | 516 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmarker.c | 1384 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmaster.c | 561 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdmerge.c | 404 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdphuff.c | 672 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdpostct.c | 294 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdsample.c | 482 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jdtrans.c | 147 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.c | 272 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jerror.h | 295 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctflt.c | 172 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctfst.c | 228 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jfdctint.c | 287 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctflt.c | 246 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctfst.c | 372 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctint.c | 393 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jidctred.c | 402 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jinclude.h | 95 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemmgr.c | 1124 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemnobs.c | 113 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmemsys.h | 202 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jmorecfg.h | 378 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jpegint.h | 396 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jpeglib.h | 1100 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant1.c | 860 ++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jquant2.c | 1314 +++ src/share/native/sun/awt/image/jpeg/jpeg-6b/jutils.c | 183 + src/share/native/sun/awt/image/jpeg/jpeg-6b/jversion.h | 18 + src/share/native/sun/awt/image/jpeg/jpegdecoder.c | 2 +- src/share/native/sun/awt/image/jpeg/jpegint.h | 396 - src/share/native/sun/awt/image/jpeg/jpeglib.h | 1100 -- src/share/native/sun/awt/image/jpeg/jquant1.c | 860 -- src/share/native/sun/awt/image/jpeg/jquant2.c | 1314 --- src/share/native/sun/awt/image/jpeg/jutils.c | 183 - src/share/native/sun/awt/image/jpeg/jversion.h | 18 - src/share/native/sun/awt/splashscreen/splashscreen_gif.c | 11 +- src/share/native/sun/awt/splashscreen/splashscreen_impl.c | 24 +- src/share/native/sun/awt/splashscreen/splashscreen_jpeg.c | 7 +- src/share/native/sun/awt/splashscreen/splashscreen_png.c | 2 +- src/share/native/sun/font/freetypeScaler.c | 7 +- src/share/native/sun/font/layout/AlternateSubstSubtables.cpp | 2 +- src/share/native/sun/font/layout/AnchorTables.cpp | 44 +- src/share/native/sun/font/layout/AnchorTables.h | 15 +- src/share/native/sun/font/layout/ArabicLayoutEngine.cpp | 10 +- src/share/native/sun/font/layout/ArabicShaping.cpp | 3 +- src/share/native/sun/font/layout/CanonShaping.cpp | 2 +- src/share/native/sun/font/layout/CharSubstitutionFilter.h | 4 +- src/share/native/sun/font/layout/ClassDefinitionTables.h | 2 + src/share/native/sun/font/layout/ContextualSubstSubtables.cpp | 227 +- src/share/native/sun/font/layout/ContextualSubstSubtables.h | 45 +- src/share/native/sun/font/layout/CoverageTables.cpp | 30 +- src/share/native/sun/font/layout/CoverageTables.h | 6 +- src/share/native/sun/font/layout/CursiveAttachmentSubtables.cpp | 14 +- src/share/native/sun/font/layout/DeviceTables.cpp | 9 +- src/share/native/sun/font/layout/DeviceTables.h | 2 +- src/share/native/sun/font/layout/ExtensionSubtables.cpp | 1 - src/share/native/sun/font/layout/ExtensionSubtables.h | 3 +- src/share/native/sun/font/layout/GDEFMarkFilter.cpp | 4 +- src/share/native/sun/font/layout/GDEFMarkFilter.h | 2 +- src/share/native/sun/font/layout/GlyphIterator.cpp | 3 +- src/share/native/sun/font/layout/GlyphIterator.h | 2 +- src/share/native/sun/font/layout/GlyphPosnLookupProc.cpp | 16 +- src/share/native/sun/font/layout/GlyphSubstLookupProc.cpp | 4 +- src/share/native/sun/font/layout/IndicLayoutEngine.cpp | 11 +- src/share/native/sun/font/layout/KernTable.cpp | 16 +- src/share/native/sun/font/layout/LEFontInstance.h | 8 +- src/share/native/sun/font/layout/LEGlyphFilter.h | 2 +- src/share/native/sun/font/layout/LEGlyphStorage.cpp | 3 +- src/share/native/sun/font/layout/LEGlyphStorage.h | 1 - src/share/native/sun/font/layout/LEScripts.h | 13 +- src/share/native/sun/font/layout/LEStandalone.h | 3 + src/share/native/sun/font/layout/LETableReference.h | 312 +- src/share/native/sun/font/layout/LETypes.h | 27 +- src/share/native/sun/font/layout/LayoutEngine.cpp | 33 +- src/share/native/sun/font/layout/LayoutEngine.h | 4 +- src/share/native/sun/font/layout/LigatureSubstSubtables.cpp | 16 +- src/share/native/sun/font/layout/LookupProcessor.cpp | 22 +- src/share/native/sun/font/layout/Lookups.cpp | 2 +- src/share/native/sun/font/layout/MarkArrays.cpp | 20 +- src/share/native/sun/font/layout/MarkArrays.h | 5 +- src/share/native/sun/font/layout/MarkToBasePosnSubtables.cpp | 28 +- src/share/native/sun/font/layout/MarkToLigaturePosnSubtables.cpp | 19 +- src/share/native/sun/font/layout/MarkToMarkPosnSubtables.cpp | 20 +- src/share/native/sun/font/layout/MultipleSubstSubtables.cpp | 9 +- src/share/native/sun/font/layout/OpenTypeLayoutEngine.cpp | 5 + src/share/native/sun/font/layout/OpenTypeUtilities.h | 5 +- src/share/native/sun/font/layout/PairPositioningSubtables.cpp | 70 +- src/share/native/sun/font/layout/PairPositioningSubtables.h | 3 +- src/share/native/sun/font/layout/ScriptAndLanguage.cpp | 3 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.cpp | 8 +- src/share/native/sun/font/layout/ScriptAndLanguageTags.h | 8 +- src/share/native/sun/font/layout/SegmentArrayProcessor2.cpp | 13 +- src/share/native/sun/font/layout/SinglePositioningSubtables.cpp | 4 +- src/share/native/sun/font/layout/SingleSubstitutionSubtables.cpp | 4 +- src/share/native/sun/font/layout/TibetanReordering.h | 2 +- src/share/native/sun/font/layout/ValueRecords.cpp | 40 +- src/share/native/sun/font/layout/ValueRecords.h | 8 +- src/share/native/sun/java2d/loops/TransformHelper.c | 11 +- src/share/native/sun/java2d/opengl/OGLBlitLoops.c | 7 +- src/share/native/sun/security/pkcs11/wrapper/pkcs11wrapper.h | 6 +- src/solaris/classes/sun/awt/X11/XWM.java | 26 +- src/solaris/classes/sun/awt/X11/XWindowPeer.java | 2 + src/solaris/classes/sun/net/PortConfig.java | 89 + src/solaris/classes/sun/nio/ch/SctpChannelImpl.java | 4 + src/solaris/doc/sun/man/man1/ja/jarsigner.1 | 3010 +++---- src/solaris/doc/sun/man/man1/jarsigner.1 | 2470 ++--- src/solaris/native/common/deps/cups_fp.c | 104 + src/solaris/native/common/deps/cups_fp.h | 61 + src/solaris/native/common/deps/fontconfig2/fontconfig/fontconfig.h | 302 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.c | 188 + src/solaris/native/common/deps/fontconfig2/fontconfig_fp.h | 161 + src/solaris/native/common/deps/gconf2/gconf/gconf-client.h | 41 + src/solaris/native/common/deps/gconf2/gconf_fp.c | 76 + src/solaris/native/common/deps/gconf2/gconf_fp.h | 48 + src/solaris/native/common/deps/glib2/gio/gio_typedefs.h | 65 + src/solaris/native/common/deps/glib2/gio_fp.c | 109 + src/solaris/native/common/deps/glib2/gio_fp.h | 61 + src/solaris/native/common/deps/glib2/glib_fp.h | 41 + src/solaris/native/common/deps/gtk2/gtk/gtk.h | 567 + src/solaris/native/common/deps/gtk2/gtk_fp.c | 398 + src/solaris/native/common/deps/gtk2/gtk_fp.h | 469 + src/solaris/native/common/deps/syscalls_fp.c | 122 + src/solaris/native/common/deps/syscalls_fp.h | 79 + src/solaris/native/java/lang/java_props_md.c | 7 +- src/solaris/native/java/net/net_util_md.c | 9 +- src/solaris/native/java/net/net_util_md.h | 3 + src/solaris/native/java/util/TimeZone_md.c | 64 + src/solaris/native/sun/awt/CUPSfuncs.c | 137 +- src/solaris/native/sun/awt/awt_GraphicsEnv.c | 2 +- src/solaris/native/sun/awt/awt_UNIXToolkit.c | 20 +- src/solaris/native/sun/awt/fontconfig.h | 941 -- src/solaris/native/sun/awt/fontpath.c | 400 +- src/solaris/native/sun/awt/gtk2_interface.c | 988 +- src/solaris/native/sun/awt/gtk2_interface.h | 580 +- src/solaris/native/sun/awt/splashscreen/splashscreen_sys.c | 4 +- src/solaris/native/sun/awt/sun_awt_X11_GtkFileDialogPeer.c | 68 +- src/solaris/native/sun/awt/swing_GTKEngine.c | 76 +- src/solaris/native/sun/awt/swing_GTKStyle.c | 20 +- src/solaris/native/sun/net/portconfig.c | 122 + src/solaris/native/sun/net/spi/DefaultProxySelector.c | 465 +- src/solaris/native/sun/nio/ch/EPollArrayWrapper.c | 1 - src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c | 94 +- src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c | 50 +- src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c | 111 +- src/solaris/native/sun/security/krb5/internal/ccache/krb5ccache.c | 113 + src/solaris/native/sun/xawt/awt_Desktop.c | 103 +- src/windows/classes/sun/net/PortConfig.java | 65 + src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java | 23 +- src/windows/native/sun/net/portconfig.c | 106 + test/Makefile | 6 + test/ProblemList.txt | 3 + test/com/oracle/security/ucrypto/TestAES.java | 118 +- test/com/oracle/security/ucrypto/TestDigest.java | 24 +- test/com/oracle/security/ucrypto/TestRSA.java | 276 +- test/com/oracle/security/ucrypto/UcryptoTest.java | 28 +- test/com/sun/corba/se/impl/orb/SetDefaultORBTest.java | 61 + test/com/sun/crypto/provider/Cipher/UTIL/TestUtil.java | 13 +- test/com/sun/crypto/provider/TLS/TestLeadingZeroes.java | 420 + test/java/awt/Component/PrintAllXcheckJNI/PrintAllXcheckJNI.java | 9 + test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.html | 8 +- test/java/awt/DataFlavor/MissedHtmlAndRtfBug/MissedHtmlAndRtfBug.java | 15 +- test/java/awt/event/KeyEvent/KeyReleasedInAppletTest/KeyReleasedInAppletTest.java | 11 +- test/java/lang/SecurityManager/CheckPackageAccess.java | 5 +- test/java/net/URL/TestHttps.java | 34 + test/java/nio/MappedByteBuffer/Basic.java | 91 +- test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/linux-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-i586/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparc/libLauncher.so | Bin test/java/nio/channels/spi/SelectorProvider/inheritedChannel/lib/solaris-sparcv9/libLauncher.so | Bin test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java | 9 +- test/java/rmi/activation/rmidViaInheritedChannel/RmidViaInheritedChannel.java | 20 +- test/java/rmi/registry/readTest/readTest.sh | 24 +- test/java/rmi/testlibrary/TestLibrary.java | 14 +- test/java/util/Locale/data/deflocale.rhel5 | 3924 ---------- test/java/util/Locale/data/deflocale.rhel5.fmtasdefault | 3924 ---------- test/java/util/Locale/data/deflocale.sol10 | 1725 ---- test/java/util/Locale/data/deflocale.sol10.fmtasdefault | 1725 ---- test/java/util/Locale/data/deflocale.win7 | 1494 --- test/java/util/Locale/data/deflocale.win7.fmtasdefault | 1494 --- test/javax/script/GetInterfaceTest.java | 4 +- test/sun/management/jmxremote/bootstrap/linux-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-i586/launcher | Bin test/sun/management/jmxremote/bootstrap/solaris-sparc/launcher | Bin test/sun/management/windows/revokeall.exe | Bin test/sun/net/InetAddress/nameservice/dns/cname.sh | 2 +- test/sun/net/idn/nfscis.spp | Bin test/sun/net/idn/nfscsi.spp | Bin test/sun/net/idn/nfscss.spp | Bin test/sun/net/idn/nfsmxp.spp | Bin test/sun/net/idn/nfsmxs.spp | Bin test/sun/net/www/protocol/file/DirPermissionDenied.sh | 1 + test/sun/security/pkcs11/MessageDigest/TestCloning.java | 141 + test/sun/security/pkcs11/nss/lib/linux-amd64/libfreebl3.chk | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libfreebl3.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.chk | Bin test/sun/security/pkcs11/nss/lib/linux-amd64/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/linux-i586/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-amd64/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libfreebl3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-i586/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.chk | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libfreebl_hybrid_3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libsoftokn3.chk | Bin test/sun/security/pkcs11/nss/lib/solaris-sparc/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnspr4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnss3.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libnssckbi.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libplc4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libplds4.so | Bin test/sun/security/pkcs11/nss/lib/solaris-sparcv9/libsoftokn3.so | Bin test/sun/security/pkcs11/nss/lib/windows-i586/libnspr4.dll | Bin test/sun/security/pkcs11/nss/lib/windows-i586/libplc4.dll | Bin test/sun/security/pkcs11/nss/lib/windows-i586/libplds4.dll | Bin test/sun/security/pkcs11/nss/lib/windows-i586/nss3.dll | Bin test/sun/security/pkcs11/nss/lib/windows-i586/nssckbi.dll | Bin test/sun/security/pkcs11/nss/lib/windows-i586/softokn3.dll | Bin test/sun/security/pkcs11/tls/TestLeadingZeroesP11.java | 410 + test/sun/security/tools/jarsigner/TimestampCheck.java | 22 +- test/sun/security/tools/jarsigner/concise_jarsigner.sh | 4 - test/sun/security/tools/jarsigner/ts.sh | 4 +- test/sun/security/tools/jarsigner/warnings.sh | 119 + test/sun/tools/native2ascii/NativeErrors.java | 4 +- test/sun/util/resources/TimeZone/Bug6317929.java | 44 +- test/tools/launcher/RunpathTest.java | 84 + test/tools/pack200/MemoryAllocatorTest.java | 369 + 614 files changed, 41029 insertions(+), 53218 deletions(-) diffs (truncated from 110324 to 500 lines): diff -r 8c343a783777 -r 53ebbd107ffa .hgtags --- a/.hgtags Tue Oct 08 11:13:19 2013 -0700 +++ b/.hgtags Fri Jan 17 20:23:01 2014 +0000 @@ -50,6 +50,7 @@ f708138c9aca4b389872838fe6773872fce3609e jdk7-b73 eacb36e30327e7ae33baa068e82ddccbd91eaae2 jdk7-b74 8885b22565077236a927e824ef450742e434a230 jdk7-b75 +fb2ee5e96b171ae9db67274d87ffaba941e8bfa6 icedtea7-1.12 8fb602395be0f7d5af4e7e93b7df2d960faf9d17 jdk7-b76 e6a5d095c356a547cf5b3c8885885aca5e91e09b jdk7-b77 1143e498f813b8223b5e3a696d79da7ff7c25354 jdk7-b78 @@ -63,6 +64,7 @@ eae6e9ab26064d9ba0e7665dd646a1fd2506fcc1 jdk7-b86 2cafbbe9825e911a6ca6c17d9a18eb1f0bf0873c jdk7-b87 b3c69282f6d3c90ec21056cd1ab70dc0c895b069 jdk7-b88 +2017795af50aebc00f500e58f708980b49bc7cd1 icedtea7-1.13 4a6abb7e224cc8d9a583c23c5782e4668739a119 jdk7-b89 7f90d0b9dbb7ab4c60d0b0233e4e77fb4fac597c jdk7-b90 08a31cab971fcad4695e913d0f3be7bde3a90747 jdk7-b91 @@ -111,6 +113,7 @@ 554adcfb615e63e62af530b1c10fcf7813a75b26 jdk7-b134 d8ced728159fbb2caa8b6adb477fd8efdbbdf179 jdk7-b135 aa13e7702cd9d8aca9aa38f1227f966990866944 jdk7-b136 +1571aa7abe47a54510c62a5b59a8c343cdaf67cb icedtea-1.14 29296ea6529a418037ccce95903249665ef31c11 jdk7-b137 60d3d55dcc9c31a30ced9caa6ef5c0dcd7db031d jdk7-b138 d80954a89b49fda47c0c5cace65a17f5a758b8bd jdk7-b139 @@ -123,6 +126,7 @@ 539e576793a8e64aaf160e0d6ab0b9723cd0bef0 jdk7-b146 69e973991866c948cf1808b06884ef2d28b64fcb jdk7u1-b01 f097ca2434b1412b12ab4a5c2397ce271bf681e7 jdk7-b147 +7ec1845521edfb1843cad3868217983727ece53d icedtea-2.0-branchpoint 2baf612764d215e6f3a5b48533f74c6924ac98d7 jdk7u1-b02 a4781b6d9cfb6901452579adee17c9a17c1b584c jdk7u1-b03 b223ed9a5fdf8ce3af42adfa8815975811d70eae jdk7u1-b04 @@ -141,6 +145,7 @@ 79c8c4608f60e1f981b17ba4077dfcaa2ed67be4 jdk7u2-b12 fb2980d7c9439e3d62ab12f40506a2a2db2df0f4 jdk7u2-b13 24e42f1f9029f9f5a9b1481d523facaf09452e5b jdk7u2-b21 +a75913596199fbb8583f9d74021f54dc76f87b14 icedtea-2.1-branchpoint e3790f3ce50aa4e2a1b03089ac0bcd48f9d1d2c2 jdk7u3-b02 7e8351342f0b22b694bd3c2db979643529f32e71 jdk7u3-b03 fc6b7b6ac837c9e867b073e13fc14e643f771028 jdk7u3-b04 @@ -157,6 +162,7 @@ 6485e842d7f736b6ca3d7e4a7cdc5de6bbdd870c jdk7u4-b10 d568e85567ccfdd75f3f0c42aa0d75c440422827 jdk7u4-b11 16781e84dcdb5f82c287a3b5387dde9f8aaf74e0 jdk7u4-b12 +907555f6191a0cd84886b07c4c40bc6ce498b8b1 icedtea-2.2-branchpoint c929e96aa059c8b79ab94d5b0b1a242ca53a5b32 jdk7u4-b13 09f612bac047b132bb9bf7d4aa8afe6ea4d5b938 jdk7u4-b14 9e15d1f3fa4b35b8c950323c76b9ed094d434b97 jdk7u5-b01 @@ -191,6 +197,7 @@ e50c9a5f001c61f49e7e71b25b97ed4095d3557b jdk7u6-b15 966e21feb7f088e318a35b069c1a61ff6363e554 jdk7u6-b16 aa0ad405f70bc7a7af95fef109f114ceecf31232 jdk7u6-b17 +8ff5fca08814f1f0eeda40aaec6f2936076b7444 icedtea-2.3-branchpoint 4a6917092af80481c1fa5b9ec8ccae75411bb72c jdk7u6-b18 a263f787ced5bc7c14078ae552c82de6bd011611 jdk7u6-b19 09145b546a2b6ae1f44d5c8a7d2a37d48e4b39e2 jdk7u6-b20 @@ -258,6 +265,7 @@ cb81ee79a72d84f99b8e7d73b5ae73124b661fe7 jdk7u12-b07 b5e180ef18a0c823675bcd32edfbf2f5122d9722 jdk7u12-b08 2e7fe0208e9c928f2f539fecb6dc8a1401ecba9e jdk7u12-b09 +b171007921c3d01066848c88cbcb6a376df3f01c icedtea-2.4-branchpoint e012aace90500a88f51ce83fcd27791f5dbf493f jdk7u14-b10 9eb82fb221f3b34a5df97e7db3c949fdb0b6fee0 jdk7u14-b11 ee3ab2ed2371dd72ad5a75ebb6b6b69071e29390 jdk7u14-b12 @@ -318,6 +326,7 @@ eb4807b899c84c92959b66f888f8cc8b028c7665 jdk7u14-b19 a249c45148c51dc53250c5d0c3d506ec5f9b88ab jdk7u14-b19 bb8764ec11c2c4ca318bcf6aabdabd29c70b2cd1 jdk7u14-b20 +d1563025e086a464f05414267b84a6408f7b377d icedtea-2.4.0 0a00f10abb2df203f13a723be158fb759e54b19b jdk7u14-b21 d4bf5c15837c47d179c71f6df8716ad9bef53ef9 jdk7u14-b22 a76a886dc057582bf332e60a023d8f8a35526217 jdk7u40-b23 @@ -328,6 +337,7 @@ 2043900095890e676f5ed0f959f470e2138c2a9a jdk7u40-b28 d3186a0676dbc7ab80e00fa67f952b67933d5a35 jdk7u40-b29 60d52db33828bf0355a94be2a82df90c901592f3 jdk7u40-b30 +65d95818d79e340d042457ee1a8155d7658e86b6 icedtea-2.4.1 c2522d149ff6663ed1d3602c88c286cff25a43a7 jdk7u40-b31 b9f86896cd0aa9b83e472a90b20ae7c253fba633 jdk7u40-b32 419939ecee8311c8a38ff624ae67e473f8c60e51 jdk7u40-b33 @@ -342,6 +352,14 @@ b479996d5c924128c3490165b592bf66a3034932 jdk7u40-b42 fb25cdef17e9610db5cb89fc35c0c4abef5ad781 jdk7u40-b43 ed444a09a5fd32237deaef6e43804e20ba4f6352 jdk7u40-b60 +e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 +e2cdb919c0eed11b1603711bcb066a9bac79709d icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +e4526d518dacc59adc253c7a6f49a79441d4e3d9 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +0000000000000000000000000000000000000000 icedtea-2.4.2 +4bf5ac86e0e46f1d8eafa18fa64c442666975f6a icedtea-2.4.2 e045f6a3ad1d9f7b8982418addb3803ab63458f2 jdk7u40-b61 26cc60a250a0d333b1d5d7a9acb233ad62b2fb0b jdk7u40-b62 55f01444cf58c8004df9a9634c1bd7ff87caa370 jdk7u25-b32 @@ -364,3 +382,22 @@ 3a65c1b0c6d15fb24298bcd133d7ab4baa741ae2 jdk7u45-b17 c5ca4daec23b5e7f99ac8d684f5016ff8bfebbb0 jdk7u45-b18 4797f984f6c93c433aa797e9b2d8f904cf083f96 jdk7u45-b30 +7958751eb9efc3029e97c2fcbe062567504b8c66 icedtea-2.4.3 +8619fc74e1966d99c0c0c85da9a0a904f23a971d icedtea-2.4.4 +8c343a783777b8728cb819938f387db0acf7f3ac jdk7u45-b31 +402d54c7d8ce95f3945cc3d698e528e4adec7b9b jdk7u45-b33 +34e8f9f26ae612ebac36357eecbe70ea20e0233c jdk7u45-b34 +3c9a6d9eafd31be44b0ade0354e60f5078b417a4 jdk7u51-b00 +d76613074ff357d0664b97b4aaf99fbb65dcec47 jdk7u51-b01 +fb057871f094ebe4906ad6856326768b01a62c45 jdk7u51-b02 +6b3c195c73b051ee3c4a0ac44f050011414ab08b jdk7u51-b03 +96431826ae3a927008c56aeefa1397a33bda3e70 jdk7u51-b04 +8ee582bb96a6b79311d55a7170f42844af77a269 jdk7u51-b05 +594ae80153afaeced6acedff5d37f889a9821690 jdk7u51-b06 +7b84e6514c297861d85ed9457b2260805311d9e8 jdk7u51-b07 +40fca6b57cd81114d4aace3d0469e20274f015c3 jdk7u51-b08 +33ae35eeb5a4c04a4d05351ff68d4021e4cad752 jdk7u51-b09 +4a6e31d94b29c7115235824a6e317289819bb00f jdk7u51-b10 +f0425ecbbb0ca9d8c87c250c19e8f9524b38833d jdk7u51-b11 +f5eee4f1d5b4a1e19febc9c26c863ae853ed6d2e jdk7u51-b12 +d19a89fdfb9b959b8638441d9d396685d6c7ab7b jdk7u51-b13 diff -r 8c343a783777 -r 53ebbd107ffa .jcheck/conf --- a/.jcheck/conf Tue Oct 08 11:13:19 2013 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -project=jdk7 -bugids=dup diff -r 8c343a783777 -r 53ebbd107ffa make/com/sun/java/pack/Makefile --- a/make/com/sun/java/pack/Makefile Tue Oct 08 11:13:19 2013 -0700 +++ b/make/com/sun/java/pack/Makefile Fri Jan 17 20:23:01 2014 +0000 @@ -75,7 +75,7 @@ OTHER_CXXFLAGS += $(ZINCLUDE) LDDFLAGS += $(ZIPOBJS) else - LDDFLAGS += $(ZLIB_LIBS) + OTHER_LDLIBS += $(ZLIB_LIBS) OTHER_CXXFLAGS += $(ZLIB_CFLAGS) -DSYSTEM_ZLIB endif else @@ -99,8 +99,7 @@ RES = $(OBJDIR)/$(PGRM).res else LDOUTPUT = -o #Have a space - LDDFLAGS += -lc - OTHER_LDLIBS += $(LIBCXX) + OTHER_LDLIBS += -lc $(LIBCXX) # setup the list of libraries to link in... ifeq ($(PLATFORM), linux) ifeq ("$(CC_VER_MAJOR)", "3") @@ -157,7 +156,7 @@ $(prep-target) $(RM) $(TEMPDIR)/mapfile-vers $(CP) mapfile-vers-unpack200 $(TEMPDIR)/mapfile-vers - $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) + $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(OTHER_LDLIBS) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) ifdef MT $(MT) /manifest $(OBJDIR)/unpack200$(EXE_SUFFIX).manifest /outputresource:$(TEMPDIR)/unpack200$(EXE_SUFFIX);#1 endif diff -r 8c343a783777 -r 53ebbd107ffa make/com/sun/nio/sctp/Makefile --- a/make/com/sun/nio/sctp/Makefile Tue Oct 08 11:13:19 2013 -0700 +++ b/make/com/sun/nio/sctp/Makefile Fri Jan 17 20:23:01 2014 +0000 @@ -60,7 +60,9 @@ -I$(CLASSHDRDIR)/../../../../java/java.nio/nio/CClassHeaders ifeq ($(PLATFORM), linux) +ifneq ($(COMPILER_WARNINGS_FATAL),false) COMPILER_WARNINGS_FATAL=true +endif #OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -ljava -lnet -lpthread -ldl OTHER_LDLIBS += -L$(LIBDIR)/$(LIBARCH) -lnio -lnet -lpthread -ldl endif diff -r 8c343a783777 -r 53ebbd107ffa make/common/Defs-linux.gmk --- a/make/common/Defs-linux.gmk Tue Oct 08 11:13:19 2013 -0700 +++ b/make/common/Defs-linux.gmk Fri Jan 17 20:23:01 2014 +0000 @@ -188,15 +188,26 @@ # We need this frame pointer to make it easy to walk the stacks. # This should be the default on X86, but ia64 and amd64 may not have this # as the default. +CFLAGS_REQUIRED_alpha += -mieee -D_LITTLE_ENDIAN CFLAGS_REQUIRED_amd64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_arm += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_hppa += CFLAGS_REQUIRED_i586 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ia64 += -fno-omit-frame-pointer -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_m68k += +CFLAGS_REQUIRED_mips += +CFLAGS_REQUIRED_mipsel += -D_LITTLE_ENDIAN +CFLAGS_REQUIRED_ppc += -m32 +CFLAGS_REQUIRED_ppc64 += -m64 +CFLAGS_REQUIRED_s390 += +CFLAGS_REQUIRED_s390x += -m64 CFLAGS_REQUIRED_sparcv9 += -m64 -mcpu=v9 LDFLAGS_COMMON_sparcv9 += -m64 -mcpu=v9 CFLAGS_REQUIRED_sparc += -m32 -mcpu=v9 LDFLAGS_COMMON_sparc += -m32 -mcpu=v9 CFLAGS_REQUIRED_arm += -fsigned-char -D_LITTLE_ENDIAN CFLAGS_REQUIRED_ppc += -fsigned-char -D_BIG_ENDIAN +CFLAGS_REQUIRED_sh += -mieee ifeq ($(ZERO_BUILD), true) CFLAGS_REQUIRED = $(ZERO_ARCHFLAG) ifeq ($(ZERO_ENDIANNESS), little) @@ -286,11 +297,15 @@ CPP_ARCH_FLAGS = -DARCH='"$(ARCH)"' -# Alpha arch does not like "alpha" defined (potential general arch cleanup issue here) -ifneq ($(ARCH),alpha) +# Alpha and sh archs do not like "alpha" or "sh" defined (potential general arch cleanup issue here) +ifeq ($(ARCH),alpha) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else +ifeq ($(ARCH),sh) + CPP_ARCH_FLAGS += -D_$(ARCH)_ +else CPP_ARCH_FLAGS += -D$(ARCH) -else - CPP_ARCH_FLAGS += -D_$(ARCH)_ +endif endif CPPFLAGS_COMMON = $(CPP_ARCH_FLAGS) -DLINUX $(VERSION_DEFINES) \ diff -r 8c343a783777 -r 53ebbd107ffa make/common/Library.gmk --- a/make/common/Library.gmk Tue Oct 08 11:13:19 2013 -0700 +++ b/make/common/Library.gmk Fri Jan 17 20:23:01 2014 +0000 @@ -269,6 +269,7 @@ ifneq ($(PLATFORM), macosx) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS),1) + ifneq ($(STRIP_POLICY),no_strip) ifeq ($(PLATFORM), solaris) # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from @@ -279,19 +280,20 @@ # # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. - (set -e ; \ - $(CD) $(@D) ; \ - $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ - ) + (set -e ; \ + $(CD) $(@D) ; \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(ADD_GNU_DEBUGLINK) $(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ + ) else # PLATFORM != solaris - (set -e ; \ - $(CD) $(@D) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ - ) - endif # PLATFORM == solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(OBJCOPY) --add-gnu-debuglink=$(LIB_PREFIX)$(LIBRARY).debuginfo $(@F) ; \ + ) + endif # PLATFORM == solaris + endif # STRIP_POLICY != no_strip ifeq ($(STRIP_POLICY),all_strip) $(STRIP) $@ else @@ -305,12 +307,14 @@ # implied else here is no stripping at all endif endif - ifeq ($(ZIP_DEBUGINFO_FILES),1) - (set -e ; \ - $(CD) $(@D) ; \ - $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ - ) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + (set -e ; \ + $(CD) $(@D) ; \ + $(ZIPEXE) -q $(LIB_PREFIX)$(LIBRARY).diz $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + $(RM) $(LIB_PREFIX)$(LIBRARY).debuginfo ; \ + ) + endif endif endif # LIBRARY_SUPPORTS_FULL_DEBUG_SYMBOLS endif # ENABLE_FULL_DEBUG_SYMBOLS diff -r 8c343a783777 -r 53ebbd107ffa make/common/Program.gmk --- a/make/common/Program.gmk Tue Oct 08 11:13:19 2013 -0700 +++ b/make/common/Program.gmk Fri Jan 17 20:23:01 2014 +0000 @@ -62,12 +62,14 @@ program: $(ACTUAL_PROGRAM) # Work-around for missing processor specific mapfiles +ifneq (,$(filter $(ARCH), amd64 i586 sparc sparcv9)) ifndef CROSS_COMPILE_ARCH # reuse the mapfiles in the launcher's directory, the same should # be applicable to the tool launchers as well. FILES_m = $(BUILDDIR)/java/main/java/mapfile-$(ARCH) include $(BUILDDIR)/common/Mapfile-vers.gmk endif +endif include $(JDK_TOPDIR)/make/common/Rules.gmk @@ -123,6 +125,26 @@ endif # PLATFORM # +# Applications expect to be able to link against libjawt without invoking +# System.loadLibrary("jawt") first. This was the behaviour described in the +# devloper documentation of JAWT and what worked with OpenJDK6. +# +ifeq ($(PLATFORM), solaris) + ifeq ($(ARCH_DATA_MODEL), 32) + LDFLAGS += -R \$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -R \$$ORIGIN/../jre/lib/$(LIBARCH) + else # ! ARCH_DATA_MODEL 64-bit + LDFLAGS += -R \$$ORIGIN/../../lib/$(LIBARCH) + LDFLAGS += -R \$$ORIGIN/../../jre/lib/$(LIBARCH) + endif # ARCH_DATA_MODEL +endif # PLATFORM SOLARIS +ifeq ($(PLATFORM), linux) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../lib/$(LIBARCH) + LDFLAGS += -Wl,-rpath -Wl,\$$ORIGIN/../jre/lib/$(LIBARCH) +endif # PLATFORM LINUX + + +# # Launcher specific files. # FILES_o = $(OBJDIR)/main.$(OBJECT_SUFFIX) @@ -247,7 +269,8 @@ ifneq ($(PLATFORM), macosx) ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ifeq ($(PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS),1) - ifeq ($(PLATFORM), solaris) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(PLATFORM), solaris) # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set. # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from # empty section headers until a fixed $(OBJCOPY) is available. @@ -257,19 +280,20 @@ # # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections. # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available. - (set -e ; \ - $(CD) $(@D) ; \ - $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ - $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \ - ) - else # PLATFORM != solaris - (set -e ; \ - $(CD) $(@D) ; \ - $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ - $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \ - ) - endif # PLATFORM == solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(FIX_EMPTY_SEC_HDR_FLAGS) $(@F) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ + $(ADD_GNU_DEBUGLINK) $(@F).debuginfo $(@F) ; \ + ) + else # PLATFORM != solaris + (set -e ; \ + $(CD) $(@D) ; \ + $(OBJCOPY) --only-keep-debug $(@F) $(@F).debuginfo ; \ + $(OBJCOPY) --add-gnu-debuglink=$(@F).debuginfo $(@F) ; \ + ) + endif # PLATFORM == solaris + endif ifeq ($(STRIP_POLICY),all_strip) $(STRIP) $@ else @@ -283,17 +307,19 @@ # implied else here is no stripping at all endif endif - ifeq ($(ZIP_DEBUGINFO_FILES),1) - (set -e ; \ - $(CD) $(@D) ; \ - $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \ - $(RM) $(@F).debuginfo ; \ - ) - # save ZIP'ed debug info with rest of the program's build artifacts - $(MV) $@.diz $(OBJDIR) - else - # save debug info with rest of the program's build artifacts - $(MV) $@.debuginfo $(OBJDIR) + ifneq ($(STRIP_POLICY),no_strip) + ifeq ($(ZIP_DEBUGINFO_FILES),1) + (set -e ; \ + $(CD) $(@D) ; \ + $(ZIPEXE) -q $(@F).diz $(@F).debuginfo ; \ + $(RM) $(@F).debuginfo ; \ + ) + # save ZIP'ed debug info with rest of the program's build artifacts + $(MV) $@.diz $(OBJDIR) + else + # save debug info with rest of the program's build artifacts + $(MV) $@.debuginfo $(OBJDIR) + endif endif endif # PROGRAM_SUPPORTS_FULL_DEBUG_SYMBOLS endif # ENABLE_FULL_DEBUG_SYMBOLS @@ -360,7 +386,9 @@ OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 endif # SYSTEM_ZLIB else # PLATFORM !MACOSX - OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + ifneq ($(SYSTEM_ZLIB), true) + OTHER_INCLUDES += -I$(SHARE_SRC)/native/java/util/zip/zlib-1.1.3 + endif endif OTHER_CPPFLAGS += -DPROGNAME='"$(PROGRAM)"' diff -r 8c343a783777 -r 53ebbd107ffa make/common/Release.gmk --- a/make/common/Release.gmk Tue Oct 08 11:13:19 2013 -0700 +++ b/make/common/Release.gmk Fri Jan 17 20:23:01 2014 +0000 @@ -852,10 +852,6 @@ $(BOOT_JAVA_CMD) -jar $(BUILDMETAINDEX_JARFILE) \ -o meta-index *.jar @$(CD) $(JRE_IMAGE_DIR)/lib/ext && $(java-vm-cleanup) -ifeq ($(PLATFORM), macosx) - @#install jobjc, apple mac only - $(CP) $(OUTPUTDIR)/JObjC.build/JObjC.jar $(JRE_IMAGE_DIR)/lib/JObjC.jar -endif # macosx ifeq ($(PLATFORM), windows) @# Remove certain *.lib files $(CD) $(JRE_IMAGE_DIR)/lib && \ @@ -1121,13 +1117,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - -T $(ABS_TEMPDIR)/src-files.list ) \ @@ -1138,13 +1130,9 @@ for d in $(SOURCE_DIRS); do \ $(RM) $(ABS_TEMPDIR)/src-files.list; \ ($(CD) $$d && \ - for sd in $(SOURCES) ; do \ - if [ -d $$sd ] ; then \ - $(FIND) $$sd $(SOURCE_FILES_filter) \ - -name '*.java' -print \ - >> $(ABS_TEMPDIR)/src-files.list ; \ - fi; \ - done ; \ + $(FIND) . $(SOURCE_FILES_filter) \ + -name '*.java' -print \ + >> $(ABS_TEMPDIR)/src-files.list ; \ ) ; \ if [ -f $(ABS_TEMPDIR)/src-files.list ] ; then \ ($(CD) $$d && $(TAR) cf - `$(CAT) $(ABS_TEMPDIR)/src-files.list`) \ diff -r 8c343a783777 -r 53ebbd107ffa make/common/shared/Compiler-gcc.gmk --- a/make/common/shared/Compiler-gcc.gmk Tue Oct 08 11:13:19 2013 -0700 +++ b/make/common/shared/Compiler-gcc.gmk Fri Jan 17 20:23:01 2014 +0000 @@ -53,18 +53,84 @@ ifeq ($(PLATFORM), linux) + ifndef BUILD_GCC + BUILD_GCC=$(COMPILER_PATH)gcc + endif + + ifndef BUILD_CPP + BUILD_CPP=$(COMPILER_PATH)g++ + endif + # Settings specific to Linux - CC = $(COMPILER_PATH)gcc - CPP = $(COMPILER_PATH)gcc -E + CC = $(BUILD_GCC) + CPP = $(BUILD_GCC) -E # statically link libstdc++ before C++ ABI is stablized on Linux - STATIC_CXX = true + ifneq ($(STATIC_CXX),false) + STATIC_CXX = true + endif ifeq ($(STATIC_CXX),true) # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++" # We need to use gcc to statically link the C++ runtime. gcc and g++ use # the same subprocess to compile C++ files, so it is OK to build using gcc. - CXX = $(COMPILER_PATH)gcc + CXX = $(BUILD_GCC) else - CXX = $(COMPILER_PATH)g++ + CXX = $(BUILD_CPP) + endif From andrew at icedtea.classpath.org Fri Jan 17 12:30:11 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 20:30:11 +0000 Subject: /hg/icedtea6-hg: 29 new changesets Message-ID: changeset eeeac5962554 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=eeeac5962554 author: Andrew John Hughes date: Mon Dec 09 22:28:23 2013 +0000 Use b29 tarball. 2013-12-09 Andrew John Hughes * Makefile.am: (OPENJDK_DATE): Set to date of b29. (OPENJDK_SHA256SUM): Add b29 SHA256 checksum. changeset 7c63c22bfa05 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7c63c22bfa05 author: Andrew John Hughes date: Wed Dec 18 13:56:16 2013 +0000 PR1290: Ensure unlimited crypto policy is in place. 2013-06-05 Andrew John Hughes PR1290: Ensure unlimited crypto policy is in place. * Makefile.am: (CRYPTO_CHECK_BUILD_DIR): New variable. (CRYPTO_CHECK_SRCS): Likewise. (EXTRA_DIST): Add crypto check sources. (.PHONY): Add new clean targets. (icedtea-against-icedtea): Depend on check-crypto. (clean-icedtea-against-icedtea): Depend on clean-check-crypto. (icedtea-debug-against-icedtea): Depend on check-crypto-debug. (clean-icedtea-debug-against-icedtea): Depend on clean-check-crypto-debug. (check-crypto): Run the crypto checker on a normal stage 2 build. (clean-check-crypto): Delete the check-crypto stamp. (check-crypto-debug): Run the crypto checker on a debug stage 2 build. (clean-check-crypto-debug): Delete the check-crypto-debug stamp. (icedtea-against-ecj): Depend on check-crypto-boot. (clean-icedtea-against-ecj): Depend on clean-check-crypto-boot. (check-crypto-boot): Run the crypto checker on the stage 1 build. (clean-check-crypto-boot): Delete the check-crypto-boot stamp. (cryptocheck): Build the crypto checker. (clean-cryptocheck): Revert cryptocheck. * NEWS: Updated. * TestCryptoLevel.java: Checks whether the unlimited crypto policy is in place or not. changeset 7e1b45672b18 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7e1b45672b18 author: Andrew John Hughes date: Wed Dec 18 13:59:03 2013 +0000 Make clean-crypto targets depend on JDK being built. 2013-06-05 Andrew John Hughes * Makefile.am: (check-crypto): Depend on icedtea.stamp. (check-crypto-debug): Depend on icedtea-debug.stamp. (clean-crypto-boot): Depend on icedtea-ecj.stamp. changeset be0e350adea7 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=be0e350adea7 author: Andrew John Hughes date: Wed Dec 18 14:01:07 2013 +0000 Actually invoke clean-cryptocheck. 2013-06-06 Andrew John Hughes * Makefile.am: (.PHONY): Add clean-cryptocheck. (clean-local): Likewise. changeset 7fe7d93cc7e1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=7fe7d93cc7e1 author: Andrew John Hughes date: Wed Dec 18 15:21:01 2013 +0000 PR1361: Check for /usr/lib64 JVMs and generic JPackage alternative 2013-06-06 Andrew John Hughes * INSTALL: Synchronise list of VMs with macro in acinclude.m4. * acinclude.m4: Provide separate output for user specified JDKs and the checking process. Extend the list of JVMs to include more from Fedora & RHEL and the newer Gentoo variants. * NEWS: Updated. 2013-03-21 Michal Vyskocil PR1360: Check for /usr/lib64 JVMs and generic JPackage alternative * INSTALL: Add /etc/alternatives/java_sdk_openjdk. * acinclude.m4: Likewise. changeset a81a87c1a918 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a81a87c1a918 author: Andrew John Hughes date: Wed Dec 18 15:22:58 2013 +0000 PR1627: JDK check should depend on bootstrapping check 2013-12-18 Andrew John Hughes PR1627: JDK check should depend on bootstrapping check * acinclude.m4: (IT_CHECK_IF_BOOTSTRAPPING): Define only once. (IT_CHECK_FOR_JDK): Define only once and require IT_CHECK_IF_BOOTSTRAPPING for setting of enable_bootstrap variable. * configure.ac: Don't invoke IT_CHECK_IF_BOOTSTRAPPING explicitly. * NEWS: Updated. changeset c2dbf00e2536 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c2dbf00e2536 author: Andrew John Hughes date: Wed Dec 18 16:26:14 2013 +0000 PR1376: Backport javac detection / usability test from IcedTea 2.x 2013-12-18 Andrew John Hughes * NEWS: Mention PR1376. changeset 0c68fe8b2ced in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0c68fe8b2ced author: Andrew John Hughes date: Wed Dec 18 17:50:01 2013 +0000 PR1501: Backport IcedTea 2.x library removal script 2013-12-18 Andrew John Hughes PR1501: Backport IcedTea 2.x library removal script * patches/openjdk/7002766-parfait-jpeg.patch: Moved to... * patches/openjdk/libjpeg/7002766-parfait-jpeg.patch: ... here. * Makefile.am: (ICEDTEA_PATCHES): Drop 7002766 for the time being, until an option to build with bundled libjpeg is added. (extract): Depend on remove-intree-libraries. (clean-extract): Depend on clean-remove-intree-libraries. (remove-intree-libraries): Run new script. (clean-remove-intree-libraries): Remove stamp. * patches/libraries.patch: Regenerated without removal of entire files, which is now done by the script. * patches/openjdk/6989774-imageio_compiler_warnings.patch: Split libjpeg changes into... * patches/openjdk/libjpeg/6989774-imageio_compiler_warnings.patch: ... this patch (currently unapplied as above). * remove-intree-libraries.sh: Script to delete bundled libjpeg, giflib, libpng & zlib. * NEWS: Updated. changeset 8572b7f3f51f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8572b7f3f51f author: Andrew John Hughes date: Wed Dec 18 17:51:12 2013 +0000 Update AUTHORS with Michal. 2013-06-06 Andrew John Hughes * AUTHORS: Updated with Michal. changeset c6f899bcf3f4 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c6f899bcf3f4 author: Andrew John Hughes date: Wed Dec 18 17:52:21 2013 +0000 Put PR1290 in correct NEWS section. 2013-12-18 Andrew John Hughes * NEWS: Move PR1290 to new features list, not bug fixes. changeset 3d60006909d8 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=3d60006909d8 author: Andrew John Hughes date: Wed Dec 18 18:27:02 2013 +0000 Update NEWS with b29 changes not released in earlier versions. 2013-12-18 Andrew John Hughes * NEWS: Include changes new to b29. changeset 97ed56b5fc9e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=97ed56b5fc9e author: Andrew John Hughes date: Fri Dec 20 02:51:08 2013 +0000 PR1502: Allow use of system LCMS 2 2013-12-19 Andrew John Hughes PR1502: Allow use of system LCMS 2 * patches/openjdk/lcms2/8007925-improve_cmsstagealloclabv2tov4curves.patch, * patches/openjdk/lcms2/8007927-improve_cmsallocprofilesequencedescription.patch, * patches/openjdk/lcms2/8007929-improve_curvesalloc.patch, * patches/openjdk/lcms2/8009654-cmsnamed_stability.patch: Moved to... * patches/openjdk/lcms2/bundled/8007925-improve_cmsstagealloclabv2tov4curves.patch, * patches/openjdk/lcms2/bundled/8007927-improve_cmsallocprofilesequencedescription.patch, * patches/openjdk/lcms2/bundled/8007929-improve_curvesalloc.patch, * patches/openjdk/lcms2/bundled/8009654-cmsnamed_stability.patch: ...here. * Makefile.am: (ICEDTEA_PATCHES): Apply certain LCMS patches only when not building using the system library. * patches/ecj/icedtea.patch: Only rename header if it exists. * patches/openjdk/lcms2/6523398-writing_tags.patch, * patches/openjdk/lcms2/7042594-tck_failure.patch, * patches/openjdk/lcms2/7053526-lcms_2.4.patch: Move patches to bundled LCMS 2 into... * patches/openjdk/lcms2/bundled/6523398-writing_tags.patch, * patches/openjdk/lcms2/bundled/7042594-tck_failure.patch, * patches/openjdk/lcms2/bundled/7053526-lcms_2.4.patch: ...these files. * NEWS: Updated. 2011-05-04 Andrew John Hughes * remove-intree-libraries.sh: Renamed. * INSTALL: Updated with new option. * Makefile.am: (ICEDTEA_ENV): Set USE_SYSTEM_LCMS, LCMS_LIBS and LCMS_CFLAGS if building with system LCMS. * acinclude.m4: (IT_CHECK_FOR_LCMS): Provide the --enable-system-lcms option, enabled by default. * configure.ac: Call IT_CHECK_FOR_LCMS. * remove-intree-libraries.sh.in: Delete LCMS source code only if system version is being used. changeset 74aaf8c87752 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=74aaf8c87752 author: Xerxes Ranby date: Fri Dec 20 11:06:38 2013 +0100 JamVM: Fix intermittent crash with Dacapo xalan benchmark; Update to 2013-11-18 revision. 2013-12-20 Xerxes Ranby Robert Lougher JamVM * NEWS: Updated. Removed note about JSR 355 for IcedTea 1. JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. * Makefile.am (JAMVM_VERSION): Updated JamVM to 2013-11-18 revision. (JAMVM_SHA256SUM): Updated. changeset 8d60be81626f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8d60be81626f author: Andrew John Hughes date: Thu Dec 26 10:26:22 2013 +0000 PR1630: Make system JPEG/Zlib/PNG/GIF support optional 2013-12-24 Andrew John Hughes PR1630: Make system JPEG/Zlib/PNG/GIF support optional * patches/alternative_krb5_cache_fixup.patch: Replace USE_SYSTEM_LCMS with SYSTEM_LCMS. * patches/libraries-gif.patch: Split out from libraries.patch. * patches/libraries-jpeg.patch: Likewise. * patches/libraries-png.patch: Likewise. * patches/libraries-splashscreen.patch: Rewritten using SYSTEM_{PNG,GIF,ZLIB,JPEG} flags. * patches/libraries-zlib.patch: Split out from libraries.patch. * patches/linker-libs-order-zlib.patch: Split out from linker-libs-order.patch. Only applies if system zlib is being used. * patches/linker-libs-order.patch: Move system-zlib-specific parts to separate file. * patches/openjdk/lcms2/system_lcms2.patch: Replace USE_SYSTEM_LCMS with SYSTEM_LCMS. * patches/rh661505-jpeg-nosys.patch: New version that uses function calls appropriate for the in-tree version. * patches/security/20130618/8009071-improve_shape_handling.patch: Regenerated as now applied before libraries-gif.patch, which may or may not be applied. 2011-09-06 Andrew John Hughes * patches/libraries.patch: Split into parts for individual libraries. Splashscreen parts rewritten. * Makefile.am: (ICEDTEA_PATCHES): Replace libraries.patch with libraries-splashscreen.patch. Apply other library patches depending on which system libraries are used and which aren't. Use a different version of the RH661505 patch, depending on whether the system or in-tree JPEG library is used. (ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS, SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS, SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS, SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS, SYSTEM_GIF. Replace USE_SYSTEM_LCMS with SYSTEM_LCMS for consistency. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_ZLIB): New macro to check for zlib. (IT_CHECK_FOR_JPEG): Likewise for libjpeg. (IT_CHECK_FOR_PNG): Likewise for libpng. (IT_CHECK_FOR_GIF): Likewise for giflib. * configure.ac: Remove old AC_CHECK_LIB calls for jpeg, gif and zlib and PKG_CHECK_MODULES call for libpng. Add calls to new macros above. * remove-intree-libraries.sh.in: Make removal of zlib, libpng, giflib and libjpeg files dependent on whether or not the system versions are used (the default). changeset a87a9bd497fd in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=a87a9bd497fd author: Andrew John Hughes date: Thu Dec 26 10:46:18 2013 +0000 Touch $@ instead of explicit stamp name throughout. 2013-12-26 Andrew John Hughes * Makefile.am: (hgforest): Use $@ for stamp name. (download-openjdk): Likewise. (download-hotspot): Likewise. (download): Likewise. (extract-openjdk): Likewise. (extract-jamvm): Likewise. (replace-hotspot): Likewise. (ports): Likewise. (remove-intree-libraries): Likewise. (generated): Likewise. (fonts): Likewise. (patch-fsg): Likewise. (patch): Likewise. (overlay): Likewise. (extract-ecj): Likewise. (patch-ecj): Likewise. (native-ecj): Likewise. (bootstrap-directory-ecj): Likewise. (bootstrap-directory): Likewise. (bootstrap-directory-symlink-ecj): Likewise. (bootstrap-directory-symlink): Likewise. (icedtea): Likewise. (icedtea-debug): Likewise. (icedtea-against-icedtea): Likewise. (icedtea-debug-against-icedtea): Likewise. (add-systemtap): Likewise. (add-systemtap-debug): Likewise. (add-pulseaudio): Likewise. (add-pulseaudio-debug): Likewise. (add-nss): Likewise. (add-nss-debug): Likewise. (add-tzdata-support): Likewise. (add-tzdata-support-debug): Likewise. (add-archive): Likewise. (add-archive-debug): Likewise. (check-crypto-debug): Add missing stamp. (icedtea-ecj): Use $@ for stamp name. (icedtea-against-ecj): Likewise. (add-systemtap-ecj): Likewise. (add-pulseaudio-ecj): Likewise. (add-nss-ecj): Likewise. (add-tzdata-support-ecj): Likewise. (add-archive-ecj): Likewise. (pulse-java): Likewise. (pulse-java-jar): Likewise. (pulse-java-class): Likewise. (pulse-java-headers): Likewise. (rewriter): Likewise. (rewrite-rhino): Likewise. (rt-class-files): Likewise. (rt): Likewise. changeset 21b6a3bc507d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=21b6a3bc507d author: Andrew John Hughes date: Fri Sep 20 14:13:18 2013 +0100 Enable system LCMS only if 2.5 or above is available. 2013-07-24 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Turn system LCMS on by default if the version is 2.5 or above with the latest security fixes. changeset ce7127f0a2f4 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=ce7127f0a2f4 author: Andrew John Hughes date: Fri Sep 20 14:18:18 2013 +0100 Make LCMS error message mention version required. 2013-09-11 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Make error message mention version. changeset d090d5e3c4aa in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d090d5e3c4aa author: Andrew John Hughes date: Thu Dec 26 10:53:52 2013 +0000 Always quote using '[' and ']' in macro calls. 2011-09-27 Andrew John Hughes * acinclude.m4: Always quote using '[' and ']' in macro calls. (IT_CHECK_FOR_GIF): Replace quotation marks with '[' and ']'. * configure.ac: Same for CUPS and X.org checks. changeset 58bdfe3bc688 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=58bdfe3bc688 author: Andrew John Hughes date: Thu Dec 26 11:24:46 2013 +0000 Add a fallback to the old way of checking for zlib for older systems. 2013-12-26 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_ZLIB): Add a fallback to the old way of checking for zlib for older systems. changeset da280d788a9e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=da280d788a9e author: Andrew John Hughes date: Thu Dec 26 11:58:53 2013 +0000 Only default to using system libraries on GNU/Linux systems. 2013-12-26 Andrew John Hughes * acinclude.m4: (IT_SET_ARCH_SETTINGS): Use target, not host. (IT_SET_OS_DIRS): Likewise. (IT_CHECK_FOR_LCMS): Only default to system LCMS is using GNU/Linux. (IT_CHECK_FOR_ZLIB): Likewise. (IT_CHECK_FOR_JPEG): Likewise. (IT_CHECK_FOR_PNG): Likewise. (IT_CHECK_FOR_GIF): Likewise. * configure.ac: Add AC_CANONICAL_TARGET after AC_CANONICAL_HOST and move earlier in file, before Automake initialisation. changeset 6fd523a02ef8 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=6fd523a02ef8 author: Andrew John Hughes date: Thu Dec 26 12:24:07 2013 +0000 Add Windows fixes following 6585765 backport. 2013-12-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patches. * AUTHORS: Add Alex Kasko. 2013-07-21 Alex Kasko * patches/windows-awt.patch, * patches/windows-jdk-sizecalc.patch: Fix Windows build following backport of 6585765. changeset 8b6b7d640684 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8b6b7d640684 author: Andrew John Hughes date: Thu Dec 26 12:27:55 2013 +0000 Backport EliminateNestedLocks definition for Shark from 8003868 in OpenJDK 8. 2013-12-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add patch. * patches/shark_fixes_from_8003868.patch: Backport EliminateNestedLocks definition for Shark from 8003868 in OpenJDK 8. changeset dc90cfc3e8a1 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=dc90cfc3e8a1 author: Andrew John Hughes date: Thu Dec 26 14:05:20 2013 +0000 Fix test in 8003992 to build on OpenJDK 6. 2013-12-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add patch. * patches/8003992_support_6.patch: Fix test in 8003992 to build on OpenJDK 6 by removing multi-catch and NIO2. changeset 4072a64e3f8e in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=4072a64e3f8e author: Andrew John Hughes date: Thu Dec 26 14:30:15 2013 +0000 Drop extra argument to compile_method, removed in 7083786, from sharkCompiler.cpp. 2013-12-26 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add patch. * patches/shark-drop_compile_method_arg_following_7083786.patch: Drop extra argument to compile_method from sharkCompiler.cpp which was removed in 7083786. * NEWS: Updated. changeset 0770fe4c0105 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=0770fe4c0105 author: Andrew John Hughes date: Thu Dec 26 15:02:14 2013 +0000 Prepare for 1.13.0 release. 2013-12-26 Andrew John Hughes * NEWS: Set release date. * configure.ac: Set to 1.13.0. changeset d861fc8da01f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=d861fc8da01f author: Andrew John Hughes date: Thu Dec 26 18:25:03 2013 +0000 Added tag icedtea6-1.13 for changeset 0770fe4c0105 changeset 23cf01dc1f20 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=23cf01dc1f20 author: Andrew John Hughes date: Thu Dec 26 18:42:21 2013 +0000 Start 1.14.0 release cycle. 2013-12-26 Andrew John Hughes * NEWS: Add 1.14.0 section. * configure.ac: Set to 1.14.0pre. changeset 82ae31817e05 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=82ae31817e05 author: Andrew John Hughes date: Thu Dec 26 18:42:44 2013 +0000 Added tag icedtea6-1.13-branchpoint for changeset d861fc8da01f changeset 01270eb80f98 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=01270eb80f98 author: Andrew John Hughes date: Thu Dec 26 19:03:54 2013 +0000 Fix usage of JEP and add key. 2013-12-26 Andrew John Hughes * NEWS: Fix usage of JEP and add key. diffstat: .hgtags | 2 + AUTHORS | 2 + ChangeLog | 390 + INSTALL | 21 +- Makefile.am | 278 +- NEWS | 31 +- TestCryptoLevel.java | 78 + acinclude.m4 | 180 +- configure.ac | 39 +- patches/8003992_support_6.patch | 41 + patches/alternative_krb5_cache_fixup.patch | 2 +- patches/ecj/icedtea.patch | 4 +- patches/libraries-gif.patch | 12 + patches/libraries-jpeg.patch | 917 + patches/libraries-png.patch | 12 + patches/libraries-splashscreen.patch | 104 + patches/libraries-zlib.patch | 253 + patches/libraries.patch | 25590 ----- patches/linker-libs-order-zlib.patch | 33 + patches/linker-libs-order.patch | 30 - patches/openjdk/6989774-imageio_compiler_warnings.patch | 130 - patches/openjdk/7002766-parfait-jpeg.patch | 42 - patches/openjdk/lcms2/6523398-writing_tags.patch | 50131 ---------- patches/openjdk/lcms2/7042594-tck_failure.patch | 15 - patches/openjdk/lcms2/7053526-lcms_2.4.patch | 10081 -- patches/openjdk/lcms2/8007925-improve_cmsstagealloclabv2tov4curves.patch | 30 - patches/openjdk/lcms2/8007927-improve_cmsallocprofilesequencedescription.patch | 23 - patches/openjdk/lcms2/8007929-improve_curvesalloc.patch | 28 - patches/openjdk/lcms2/8009654-cmsnamed_stability.patch | 38 - patches/openjdk/lcms2/bundled/6523398-writing_tags.patch | 48703 +++++++++ patches/openjdk/lcms2/bundled/7042594-tck_failure.patch | 15 + patches/openjdk/lcms2/bundled/7053526-lcms_2.4.patch | 10043 ++ patches/openjdk/lcms2/bundled/8007925-improve_cmsstagealloclabv2tov4curves.patch | 30 + patches/openjdk/lcms2/bundled/8007927-improve_cmsallocprofilesequencedescription.patch | 23 + patches/openjdk/lcms2/bundled/8007929-improve_curvesalloc.patch | 28 + patches/openjdk/lcms2/bundled/8009654-cmsnamed_stability.patch | 38 + patches/openjdk/lcms2/system_lcms2.patch | 4 +- patches/openjdk/libjpeg/6989774-imageio_compiler_warnings.patch | 130 + patches/openjdk/libjpeg/7002766-parfait-jpeg.patch | 42 + patches/rh661505-jpeg-nosys.patch | 16 + patches/security/20130618/8009071-improve_shape_handling.patch | 128 +- patches/shark-drop_compile_method_arg_following_7083786.patch | 11 + patches/shark_fixes_from_8003868.patch | 27 + patches/windows-awt.patch | 130 + patches/windows-jdk-sizecalc.patch | 14 + remove-intree-libraries.sh.in | 122 + 46 files changed, 61710 insertions(+), 86331 deletions(-) diffs (truncated from 149152 to 500 lines): diff -r 544700099253 -r 01270eb80f98 .hgtags --- a/.hgtags Fri Dec 06 17:10:00 2013 +0000 +++ b/.hgtags Thu Dec 26 19:03:54 2013 +0000 @@ -22,3 +22,5 @@ 21f2a8d158545a161ba0d997c13bdba1e6166394 icedtea6-1.10-branchpoint 24c5bd2e7d574441813bfb8f9e4636e50c5d7c28 icedtea6-1.11-branchpoint 5a1e1b39664409e9a0945ba49b558f25ef976c58 icedtea6-1.12-branchpoint +0770fe4c010590f293d189c83af2c49ac0c2268d icedtea6-1.13 +d861fc8da01fee3927fcb159e4ca0e257a9b2f91 icedtea6-1.13-branchpoint diff -r 544700099253 -r 01270eb80f98 AUTHORS --- a/AUTHORS Fri Dec 06 17:10:00 2013 +0000 +++ b/AUTHORS Thu Dec 26 19:03:54 2013 +0000 @@ -20,6 +20,7 @@ Tomas Hurka Ioana Ivan C. K. Jester-Young (cky944 at gmail.com) +Alex Kasko (alex.kasko.lists at gmail.com) Matthias Klose Francis Kung Denis Lila @@ -42,6 +43,7 @@ Christian Thalinger Dalibor Topic Arnaud Vandyck +Michal Vyskocil Torsten Werner (mail.twerner at googlemail.com) Mark Wielaard Yi Zhan diff -r 544700099253 -r 01270eb80f98 ChangeLog --- a/ChangeLog Fri Dec 06 17:10:00 2013 +0000 +++ b/ChangeLog Thu Dec 26 19:03:54 2013 +0000 @@ -1,3 +1,393 @@ +2013-12-26 Andrew John Hughes + + * NEWS: Fix usage of JEP and add key. + +2013-12-26 Andrew John Hughes + + * NEWS: Add 1.14.0 section. + * configure.ac: Set to 1.14.0pre. + +2013-12-26 Andrew John Hughes + + * NEWS: Set release date. + * configure.ac: Set to 1.13.0. + +2013-12-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add patch. + * patches/shark-drop_compile_method_arg_following_7083786.patch: + Drop extra argument to compile_method, removed + in 7083786, from sharkCompiler.cpp. + * NEWS: Updated. + +2013-12-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add patch. + * patches/8003992_support_6.patch: + Fix test in 8003992 to build on OpenJDK 6 + by removing multi-catch and NIO2. + +2013-12-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add patch. + * patches/shark_fixes_from_8003868.patch: + Backport EliminateNestedLocks definition + for Shark from 8003868 in OpenJDK 8. + +2013-12-26 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patches. + * AUTHORS: Add Alex Kasko. + +2013-07-21 Alex Kasko + + * patches/windows-awt.patch, + * patches/windows-jdk-sizecalc.patch: + Fix Windows build following backport of 6585765. + +2013-12-26 Andrew John Hughes + + * acinclude.m4: + (IT_SET_ARCH_SETTINGS): Use target, not host. + (IT_SET_OS_DIRS): Likewise. + (IT_CHECK_FOR_LCMS): Only default to system LCMS + is using GNU/Linux. + (IT_CHECK_FOR_ZLIB): Likewise. + (IT_CHECK_FOR_JPEG): Likewise. + (IT_CHECK_FOR_PNG): Likewise. + (IT_CHECK_FOR_GIF): Likewise. + * configure.ac: + Add AC_CANONICAL_TARGET after AC_CANONICAL_HOST + and move earlier in file, before Automake + initialisation. + +2013-12-26 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_ZLIB): Add a fallback to the old + way of checking for zlib for older systems. + +2011-09-27 Andrew John Hughes + + * acinclude.m4: + Always quote using '[' and ']' in macro calls. + (IT_CHECK_FOR_GIF): Replace quotation marks + with '[' and ']'. + * configure.ac: + Same for CUPS and X.org checks. + +2013-09-11 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Make error message mention + version. + +2013-07-24 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Turn system LCMS on by + default if the version is 2.5 or above with the + latest security fixes. + +2013-12-26 Andrew John Hughes + + * Makefile.am: + (hgforest): Use $@ for stamp name. + (download-openjdk): Likewise. + (download-hotspot): Likewise. + (download): Likewise. + (extract-openjdk): Likewise. + (extract-jamvm): Likewise. + (replace-hotspot): Likewise. + (ports): Likewise. + (remove-intree-libraries): Likewise. + (generated): Likewise. + (fonts): Likewise. + (patch-fsg): Likewise. + (patch): Likewise. + (overlay): Likewise. + (extract-ecj): Likewise. + (patch-ecj): Likewise. + (native-ecj): Likewise. + (bootstrap-directory-ecj): Likewise. + (bootstrap-directory): Likewise. + (bootstrap-directory-symlink-ecj): Likewise. + (bootstrap-directory-symlink): Likewise. + (icedtea): Likewise. + (icedtea-debug): Likewise. + (icedtea-against-icedtea): Likewise. + (icedtea-debug-against-icedtea): Likewise. + (add-systemtap): Likewise. + (add-systemtap-debug): Likewise. + (add-pulseaudio): Likewise. + (add-pulseaudio-debug): Likewise. + (add-nss): Likewise. + (add-nss-debug): Likewise. + (add-tzdata-support): Likewise. + (add-tzdata-support-debug): Likewise. + (add-archive): Likewise. + (add-archive-debug): Likewise. + (check-crypto-debug): Add missing stamp. + (icedtea-ecj): Use $@ for stamp name. + (icedtea-against-ecj): Likewise. + (add-systemtap-ecj): Likewise. + (add-pulseaudio-ecj): Likewise. + (add-nss-ecj): Likewise. + (add-tzdata-support-ecj): Likewise. + (add-archive-ecj): Likewise. + (pulse-java): Likewise. + (pulse-java-jar): Likewise. + (pulse-java-class): Likewise. + (pulse-java-headers): Likewise. + (rewriter): Likewise. + (rewrite-rhino): Likewise. + (rt-class-files): Likewise. + (rt): Likewise. + +2013-12-24 Andrew John Hughes + + PR1630: Make system JPEG/Zlib/PNG/GIF support + optional + * patches/alternative_krb5_cache_fixup.patch: + Replace USE_SYSTEM_LCMS with SYSTEM_LCMS. + * patches/libraries-gif.patch: Split out + from libraries.patch. + * patches/libraries-jpeg.patch: Likewise. + * patches/libraries-png.patch: Likewise. + * patches/libraries-splashscreen.patch: + Rewritten using SYSTEM_{PNG,GIF,ZLIB,JPEG} flags. + * patches/libraries-zlib.patch: + Split out from libraries.patch. + * patches/linker-libs-order-zlib.patch: + Split out from linker-libs-order.patch. Only + applies if system zlib is being used. + * patches/linker-libs-order.patch: + Move system-zlib-specific parts to separate file. + * patches/openjdk/lcms2/system_lcms2.patch: + Replace USE_SYSTEM_LCMS with SYSTEM_LCMS. + * patches/rh661505-jpeg-nosys.patch: + New version that uses function calls appropriate for + the in-tree version. + * patches/security/20130618/8009071-improve_shape_handling.patch: + Regenerated as now applied before libraries-gif.patch, + which may or may not be applied. + +2011-09-06 Andrew John Hughes + + * patches/libraries.patch: + Split into parts for individual libraries. + Splashscreen parts rewritten. + * Makefile.am: + (ICEDTEA_PATCHES): Replace libraries.patch + with libraries-splashscreen.patch. Apply + other library patches depending on which + system libraries are used and which aren't. + Use a different version of the RH661505 + patch, depending on whether the system + or in-tree JPEG library is used. + (ICEDTEA_ENV): Set ZLIB_LIBS, ZLIB_CFLAGS, + SYSTEM_ZLIB, JPEG_LIBS, JPEG_CFLAGS, + SYSTEM_JPEG, PNG_LIBS, PNG_CFLAGS, + SYSTEM_PNG, GIF_LIBS, GIF_CFLAGS, + SYSTEM_GIF. Replace USE_SYSTEM_LCMS with + SYSTEM_LCMS for consistency. + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_ZLIB): New macro to check for zlib. + (IT_CHECK_FOR_JPEG): Likewise for libjpeg. + (IT_CHECK_FOR_PNG): Likewise for libpng. + (IT_CHECK_FOR_GIF): Likewise for giflib. + * configure.ac: + Remove old AC_CHECK_LIB calls for jpeg, gif + and zlib and PKG_CHECK_MODULES call for libpng. + Add calls to new macros above. + * remove-intree-libraries.sh.in: + Make removal of zlib, libpng, giflib and libjpeg + files dependent on whether or not the system versions + are used (the default). + +2013-12-20 Xerxes R??nby + Robert Lougher + + JamVM + * NEWS: Updated. Removed note about JSR 355 for IcedTea 1. + JSR 335 is only enabled for IcedTea 3 / OpenJDK 8 builds. + * Makefile.am + (JAMVM_VERSION): Updated JamVM to 2013-11-18 revision. + (JAMVM_SHA256SUM): Updated. + +2013-12-19 Andrew John Hughes + + PR1502: Allow use of system LCMS 2 + * patches/openjdk/lcms2/8007925-improve_cmsstagealloclabv2tov4curves.patch, + * patches/openjdk/lcms2/8007927-improve_cmsallocprofilesequencedescription.patch, + * patches/openjdk/lcms2/8007929-improve_curvesalloc.patch, + * patches/openjdk/lcms2/8009654-cmsnamed_stability.patch: + Moved to... + * patches/openjdk/lcms2/bundled/8007925-improve_cmsstagealloclabv2tov4curves.patch, + * patches/openjdk/lcms2/bundled/8007927-improve_cmsallocprofilesequencedescription.patch, + * patches/openjdk/lcms2/bundled/8007929-improve_curvesalloc.patch, + * patches/openjdk/lcms2/bundled/8009654-cmsnamed_stability.patch: + ...here. + * Makefile.am: + (ICEDTEA_PATCHES): Apply certain LCMS patches only when + not building using the system library. + * patches/ecj/icedtea.patch: Only rename header if it + exists. + * patches/openjdk/lcms2/6523398-writing_tags.patch, + * patches/openjdk/lcms2/7042594-tck_failure.patch, + * patches/openjdk/lcms2/7053526-lcms_2.4.patch: + Move patches to bundled LCMS 2 into... + * patches/openjdk/lcms2/bundled/6523398-writing_tags.patch, + * patches/openjdk/lcms2/bundled/7042594-tck_failure.patch, + * patches/openjdk/lcms2/bundled/7053526-lcms_2.4.patch: + ...these files. + * NEWS: Updated. + +2011-05-04 Andrew John Hughes + + * remove-intree-libraries.sh: Renamed. + * INSTALL: Updated with new option. + * Makefile.am: + (ICEDTEA_ENV): Set USE_SYSTEM_LCMS, LCMS_LIBS + and LCMS_CFLAGS if building with system LCMS. + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Provide the --enable-system-lcms + option, enabled by default. + * configure.ac: + Call IT_CHECK_FOR_LCMS. + * remove-intree-libraries.sh.in: + Delete LCMS source code only if system version is + being used. + +2013-12-18 Andrew John Hughes + + * NEWS: Include changes new to b29. + +2013-12-18 Andrew John Hughes + + * NEWS: Move PR1290 to new features list, + not bug fixes. + +2013-06-06 Andrew John Hughes + + * AUTHORS: Updated with Michal. + +2013-12-18 Andrew John Hughes + + PR1501: Backport IcedTea 2.x library removal script + * patches/openjdk/7002766-parfait-jpeg.patch: Moved to... + * patches/openjdk/libjpeg/7002766-parfait-jpeg.patch: ... here. + * Makefile.am: + (ICEDTEA_PATCHES): Drop 7002766 for the time being, until + an option to build with bundled libjpeg is added. + (extract): Depend on remove-intree-libraries. + (clean-extract): Depend on clean-remove-intree-libraries. + (remove-intree-libraries): Run new script. + (clean-remove-intree-libraries): Remove stamp. + * patches/libraries.patch: + Regenerated without removal of entire files, which is now + done by the script. + * patches/openjdk/6989774-imageio_compiler_warnings.patch: + Split libjpeg changes into... + * patches/openjdk/libjpeg/6989774-imageio_compiler_warnings.patch: + ... this patch (currently unapplied as above). + * remove-intree-libraries.sh: Script to delete bundled + libjpeg, giflib, libpng & zlib. + * NEWS: Updated. + +2013-12-18 Andrew John Hughes + + * NEWS: Mention PR1376. + +2013-12-18 Andrew John Hughes + + PR1627: JDK check should depend on bootstrapping check + * acinclude.m4: + (IT_CHECK_IF_BOOTSTRAPPING): Define only once. + (IT_CHECK_FOR_JDK): Define only once and require + IT_CHECK_IF_BOOTSTRAPPING for setting of + enable_bootstrap variable. + * configure.ac: Don't invoke IT_CHECK_IF_BOOTSTRAPPING + explicitly. + * NEWS: Updated. + +2013-06-06 Andrew John Hughes + + * INSTALL: + Synchronise list of VMs with macro in acinclude.m4. + * acinclude.m4: Provide separate output for user + specified JDKs and the checking process. Extend + the list of JVMs to include more from Fedora & + RHEL and the newer Gentoo variants. + * NEWS: Updated. + +2013-03-21 Michal Vyskocil + + PR1360: Check for /usr/lib64 JVMs and generic JPackage alternative + * INSTALL: Add /etc/alternatives/java_sdk_openjdk. + * acinclude.m4: Likewise. + +2013-06-06 Andrew John Hughes + + * Makefile.am: + (.PHONY): Add clean-cryptocheck. + (clean-local): Likewise. + +2013-06-05 Andrew John Hughes + + * Makefile.am: + (check-crypto): Depend on icedtea.stamp. + (check-crypto-debug): Depend on icedtea-debug.stamp. + (clean-crypto-boot): Depend on icedtea-ecj.stamp. + +2013-06-05 Andrew John Hughes + + PR1290: Ensure unlimited crypto policy is in place. + * Makefile.am: + (CRYPTO_CHECK_BUILD_DIR): New variable. + (CRYPTO_CHECK_SRCS): Likewise. + (EXTRA_DIST): Add crypto check sources. + (.PHONY): Add new clean targets. + (icedtea-against-icedtea): Depend on check-crypto. + (clean-icedtea-against-icedtea): Depend on + clean-check-crypto. + (icedtea-debug-against-icedtea): Depend on + check-crypto-debug. + (clean-icedtea-debug-against-icedtea): Depend on + clean-check-crypto-debug. + (check-crypto): Run the crypto checker on a normal + stage 2 build. + (clean-check-crypto): Delete the check-crypto stamp. + (check-crypto-debug): Run the crypto checker on a + debug stage 2 build. + (clean-check-crypto-debug): Delete the + check-crypto-debug stamp. + (icedtea-against-ecj): Depend on + check-crypto-boot. + (clean-icedtea-against-ecj): Depend on + clean-check-crypto-boot. + (check-crypto-boot): Run the crypto checker on + the stage 1 build. + (clean-check-crypto-boot): Delete the + check-crypto-boot stamp. + (cryptocheck): Build the crypto checker. + (clean-cryptocheck): Revert cryptocheck. + * NEWS: Updated. + * TestCryptoLevel.java: + Checks whether the unlimited crypto policy is in + place or not. + +2013-12-09 Andrew John Hughes + + * Makefile.am: + (OPENJDK_DATE): Set to date of b29. + (OPENJDK_SHA256SUM): Add b29 SHA256 checksum. + 2013-11-21 Andrew John Hughes * Makefile.am: diff -r 544700099253 -r 01270eb80f98 INSTALL --- a/INSTALL Fri Dec 06 17:10:00 2013 +0000 +++ b/INSTALL Thu Dec 26 19:03:54 2013 +0000 @@ -44,26 +44,25 @@ ./configure make -The following locations are checked for a JDK: +The following locations are checked for a JDK on all builds: * /usr/lib/jvm/java-gcj * /usr/lib/jvm/gcj-jdk * /usr/lib/jvm/cacao - * /usr/lib/jvm/java-openjdk + * /usr/lib/jvm/icedtea-6 * /usr/lib/jvm/icedtea6 * /usr/lib/jvm/java-6-openjdk + * /usr/lib/jvm/java-1.6.0-openjdk.x86_64 + * /usr/lib64/jvm/java-1.6.0-openjdk + * /usr/lib/jvm/java-1.6.0 + * /usr/lib/jvm/java-openjdk * /usr/lib/jvm/openjdk * /usr/lib/jvm/java-icedtea + * /etc/alternatives/java_sdk_openjdk in that order. A quick build can be performed by passing --disable-bootstrap. -This requires a recent version of IcedTea6 as the boot JDK. -The following locations are checked for IcedTea6: - * /usr/lib/jvm/java-openjdk - * /usr/lib/jvm/icedtea6 - * /usr/lib/jvm/java-6-openjdk - * /usr/lib/jvm/openjdk - * /usr/lib/jvm/java-icedtea - +This requires a recent version of IcedTea6 as the boot JDK, so +the first three JDKs above are not searched for. Note that IcedTea7 can not be used to build IcedTea6. @@ -89,6 +88,8 @@ * --disable-optimizations: Build with -O0. * --enable-hg: Checkout the OpenJDK tree from Mercurial, rather than downloading and extracting a tarball. +* --enable-system-lcms: Build using the system installation of LCMS2, not + the version in-tree. * --with-gcj: Compile ecj to native code with gcj prior to building. * --disable-bootstrap: Perform a quick build using an installed copy of IcedTea6. If a directory is not specified, a check against diff -r 544700099253 -r 01270eb80f98 Makefile.am --- a/Makefile.am Fri Dec 06 17:10:00 2013 +0000 +++ b/Makefile.am Thu Dec 26 19:03:54 2013 +0000 @@ -1,7 +1,7 @@ # Dependencies -OPENJDK_DATE = 04_oct_2013 -OPENJDK_SHA256SUM = ac4fceed060ad61dab938c41181455fb0910f58f6944f820f0637b0f0c64bf75 +OPENJDK_DATE = 05_dec_2013 +OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b OPENJDK_VERSION = b29 OPENJDK_URL = https://java.net/downloads/openjdk6/ @@ -11,8 +11,8 @@ CACAO_URL = $(CACAO_BASE_URL)/$(CACAO_VERSION).tar.gz CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz -JAMVM_VERSION = ac22c9948434e528ece451642b4ebde40953ee7e -JAMVM_SHA256SUM = 4662da1fe3e0e11d8fa685c7f2fc748576b9f3d3e37dc56b798dd6a5bd6b61e7 +JAMVM_VERSION = ec18fb9e49e62dce16c5094ef1527eed619463aa +JAMVM_SHA256SUM = 31810266666c23822942aac62a78019c2c4589e1c5ee48329cbf42652d4437bc JAMVM_BASE_URL = http://icedtea.classpath.org/download/drops/jamvm JAMVM_URL = $(JAMVM_BASE_URL)/jamvm-$(JAMVM_VERSION).tar.gz JAMVM_SRC_ZIP = jamvm-$(JAMVM_VERSION).tar.gz @@ -39,6 +39,7 @@ FONTCONFIG_PATH = openjdk/jdk/src/solaris/classes/sun/awt/fontconfigs REWRITER_BUILD_DIR = $(abs_top_builddir)/rewriter.build From aazores at redhat.com Fri Jan 17 13:08:23 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 17 Jan 2014 16:08:23 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D95FB7.2020709@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> Message-ID: <52D99BC7.40009@redhat.com> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >> This is why I was launching PolicyTool in a new process in the first >> place, actually. In all its >> wisdom, PolicyTool exits the JVM when its window closes. > > It should not be so hard - > By refelction get 'tw' field, and remove the only (nasty words) > WindowListener it have - the one responsible for system.exit and > nothing else:-/ > > Unluckily, this listener is added in > PolicyTool.main in tw.displayToolWindow(args); > > So you have to work on it a bit more. But again, nothing hard, and no > copy pasting;) > > Not sure if we will backport this, but probably yes.. Depends on final > compelxiity. 'tw' isn't a field though, it's just a local variable within main(), so we can't just grab it via reflection. I've got the hackiest hack ever with reflection to get around this, and it is *seriously* ugly. System.exit(0) is also called by PolicyTool indirectly in other places. I've removed the ToolWindowListener so that hitting the window close button on PolicyTool doesn't exit the JVM, but File>Exit still exits the JVM. This case comes from ToolDialog#userSaveContinue I believe, and I don't see a way to work around this, really. We're going to need to do some extend/override voodoo to get rid of this, unless we start introducing runtime code injection/modification in itweb-settings control panel :) either that, or get some patches into the JDK to fix PolicyTool. The attached patch is the super crazy ugly hack that at least makes the window close button behave nicely, but I feel like a monster for even having written this. Be warned. Oh, and try this - launch itweb-settings from terminal. Open policytool from itweb-settings. Close policytool with the window close button. Press Ok in itweb-settings. The itweb-settings process doesn't even exit! Wonderful! I'm not really sure what's keeping it open. Something else I noticed while testing this is that policytool prompts you if you want to save your changes if you select File>Exit, but simply closing the window does not prompt you. This is without the reflection patch applied. Ugh. PolicyTool is really in need of a serious overhaul... > ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. > Also please fix the closing of window asap (as new chngeset) > > > Good work! > J. 1.4 doesn't have DirectoryValidator... what should we do here then? Also backport DirectoryValidator? Or just let the 1.4 backport have less of a guarantee that the policy tool will be able to successfully launch, and try to provide useful errors if not? Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-incredible-hack.diff Type: text/x-patch Size: 5435 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140117/f2cf7d29/custompolicy-incredible-hack.diff From andrew at icedtea.classpath.org Fri Jan 17 14:21:55 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 22:21:55 +0000 Subject: /hg/icedtea6-hg: Adapt to upstream b30 changes. Message-ID: changeset c8b979a2134a in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=c8b979a2134a author: Andrew John Hughes date: Fri Jan 17 22:21:40 2014 +0000 Adapt to upstream b30 changes. 2014-01-17 Andrew John Hughes * patches/openjdk/6763340-corba_memory_leak.patch, * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, * patches/openjdk/6980681-corba_deadlock.patch, * patches/openjdk/7162902-corba_fixes.patch, * patches/openjdk/8009530-icu_kern_table_support_broken.patch: Remove upstreamed fixes. * Makefile.am: (ICEDTEA_PATCHES): Drop above. * patches/hotspot/hs23/update-bootclasspath.patch, * patches/openjdk/p11cipher-6812738-native_cleanup.patch: Regenerated against upstream. diffstat: ChangeLog | 14 + Makefile.am | 5 - patches/hotspot/hs23/update-bootclasspath.patch | 12 +- patches/openjdk/6763340-corba_memory_leak.patch | 409 - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 - patches/openjdk/6980681-corba_deadlock.patch | 69 - patches/openjdk/7162902-corba_fixes.patch | 2258 ----------- patches/openjdk/8009530-icu_kern_table_support_broken.patch | 332 - patches/openjdk/p11cipher-6812738-native_cleanup.patch | 67 +- 9 files changed, 49 insertions(+), 3351 deletions(-) diffs (truncated from 3557 to 500 lines): diff -r 01270eb80f98 -r c8b979a2134a ChangeLog --- a/ChangeLog Thu Dec 26 19:03:54 2013 +0000 +++ b/ChangeLog Fri Jan 17 22:21:40 2014 +0000 @@ -1,3 +1,17 @@ +2014-01-17 Andrew John Hughes + + * patches/openjdk/6763340-corba_memory_leak.patch, + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, + * patches/openjdk/6980681-corba_deadlock.patch, + * patches/openjdk/7162902-corba_fixes.patch, + * patches/openjdk/8009530-icu_kern_table_support_broken.patch: + Remove upstreamed fixes. + * Makefile.am: + (ICEDTEA_PATCHES): Drop above. + * patches/hotspot/hs23/update-bootclasspath.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch: + Regenerated against upstream. + 2013-12-26 Andrew John Hughes * NEWS: Fix usage of JEP and add key. diff -r 01270eb80f98 -r c8b979a2134a Makefile.am --- a/Makefile.am Thu Dec 26 19:03:54 2013 +0000 +++ b/Makefile.am Fri Jan 17 22:21:40 2014 +0000 @@ -498,9 +498,6 @@ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch \ patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch \ patches/merge_fix.patch \ - patches/openjdk/6763340-corba_memory_leak.patch \ - patches/openjdk/6980681-corba_deadlock.patch \ - patches/openjdk/7162902-corba_fixes.patch \ patches/traceable.patch \ patches/pr1319-support_giflib_5.patch \ patches/openjdk/6718364-inference_failure.patch \ @@ -510,7 +507,6 @@ patches/openjdk/7003595-incompatibleclasschangeerror.patch \ patches/openjdk/6500343-bad_code_from_conditionals.patch \ patches/jaxws-tempfiles-ioutils-6.patch \ - patches/openjdk/8009530-icu_kern_table_support_broken.patch \ patches/jtreg-LayoutGetCharacterCount.patch \ patches/jtreg-LayoutLimits.patch \ patches/jtreg-ComponentOrientationTests.patch \ @@ -571,7 +567,6 @@ patches/hotspot/original/jvmtiEnv.patch \ patches/sparc-trapsfix.patch \ patches/print_lsb_release.patch \ - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ patches/alternative_krb5_cache.patch \ patches/alternative_krb5_cache_fixup.patch \ patches/openjdk/8014469-tzdata2013c.patch \ diff -r 01270eb80f98 -r c8b979a2134a patches/hotspot/hs23/update-bootclasspath.patch --- a/patches/hotspot/hs23/update-bootclasspath.patch Thu Dec 26 19:03:54 2013 +0000 +++ b/patches/hotspot/hs23/update-bootclasspath.patch Fri Jan 17 22:21:40 2014 +0000 @@ -1,10 +1,10 @@ diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2013-06-04 18:47:35.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2013-08-15 11:53:40.989493660 +0100 -@@ -1105,6 +1105,9 @@ - #ifdef __APPLE__ - "%/lib/JObjC.jar:" - #endif +--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:29:13.006436284 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:49:55.908779782 +0000 +@@ -1102,6 +1102,9 @@ + "%/lib/jce.jar:" + "%/lib/charsets.jar:" + "%/lib/jfr.jar:" + "%/lib/netx.jar:" + "%/lib/plugin.jar:" + "%/lib/rhino.jar:" diff -r 01270eb80f98 -r c8b979a2134a patches/openjdk/6763340-corba_memory_leak.patch --- a/patches/openjdk/6763340-corba_memory_leak.patch Thu Dec 26 19:03:54 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,409 +0,0 @@ -# HG changeset patch -# User robm -# Date 1289846868 28800 -# Node ID cff5a173ec1e89013359e804a3e31736ef6fb462 -# Parent f642c9ec81a07b88a5566ea1dc4f1a9068c7d251 -6763340: memory leak in com.sun.corba.se.* classes -6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 -Summary: Reviewed by Ken Cavanaugh -Reviewed-by: coffeys - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -@@ -74,6 +74,7 @@ - import com.sun.corba.se.spi.ior.iiop.GIOPVersion; - import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.transport.CorbaContactInfo; - import com.sun.corba.se.spi.transport.CorbaContactInfoList; - import com.sun.corba.se.spi.transport.CorbaContactInfoListIterator; -@@ -110,7 +111,7 @@ - - // The current retry request status. True if this request is being - // retried and this info object is to be reused, or false otherwise. -- private boolean retryRequest; -+ private RetryType retryRequest; - - // The number of times this info object has been (re)used. This is - // incremented every time a request is retried, and decremented every -@@ -163,7 +164,8 @@ - - // Please keep these in the same order that they're declared above. - -- retryRequest = false; -+ // 6763340 -+ retryRequest = RetryType.NONE; - - // Do not reset entryCount because we need to know when to pop this - // from the stack. -@@ -824,14 +826,15 @@ - /** - * Set or reset the retry request flag. - */ -- void setRetryRequest( boolean retryRequest ) { -+ void setRetryRequest( RetryType retryRequest ) { - this.retryRequest = retryRequest; - } - - /** - * Retrieve the current retry request status. - */ -- boolean getRetryRequest() { -+ RetryType getRetryRequest() { -+ // 6763340 - return this.retryRequest; - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -@@ -70,6 +70,7 @@ - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; - import com.sun.corba.se.spi.protocol.ForwardException; - import com.sun.corba.se.spi.protocol.PIHandler; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.logging.CORBALogDomains; - - import com.sun.corba.se.impl.logging.InterceptorsSystemException; -@@ -372,9 +373,24 @@ - } - } - -- public Exception invokeClientPIEndingPoint( -- int replyStatus, Exception exception ) -- { -+ // Needed when an error forces a retry AFTER initiateClientPIRequest -+ // but BEFORE invokeClientPIStartingPoint. -+ public Exception makeCompletedClientRequest( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, false ) ; -+ } -+ -+ public Exception invokeClientPIEndingPoint( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, true ) ; -+ } -+ -+ public Exception handleClientPIEndingPoint( -+ int replyStatus, Exception exception, boolean invokeEndingPoint ) { - if( !hasClientInterceptors ) return exception; - if( !isClientPIEnabledForThisThread() ) return exception; - -@@ -388,24 +404,31 @@ - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); - info.setReplyStatus( piReplyStatus ); - info.setException( exception ); -- interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -- piReplyStatus = info.getReplyStatus(); -+ -+ if (invokeEndingPoint) { -+ // 6763340 -+ interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -+ piReplyStatus = info.getReplyStatus(); -+ } - - // Check reply status: - if( (piReplyStatus == LOCATION_FORWARD.value) || -- (piReplyStatus == TRANSPORT_RETRY.value) ) -- { -+ (piReplyStatus == TRANSPORT_RETRY.value) ) { - // If this is a forward or a retry, reset and reuse - // info object: - info.reset(); -- info.setRetryRequest( true ); -+ -+ // fix for 6763340: -+ if (invokeEndingPoint) { -+ info.setRetryRequest( RetryType.AFTER_RESPONSE ) ; -+ } else { -+ info.setRetryRequest( RetryType.BEFORE_RESPONSE ) ; -+ } - - // ... and return a RemarshalException so the orb internals know - exception = new RemarshalException(); -- } -- else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -- (piReplyStatus == USER_EXCEPTION.value) ) -- { -+ } else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -+ (piReplyStatus == USER_EXCEPTION.value) ) { - exception = info.getException(); - } - -@@ -421,18 +444,21 @@ - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - ClientRequestInfoImpl info = null; -- if( !infoStack.empty() ) info = -- (ClientRequestInfoImpl)infoStack.peek(); - -- if( !diiRequest && (info != null) && info.isDIIInitiate() ) { -+ if (!infoStack.empty() ) { -+ info = (ClientRequestInfoImpl)infoStack.peek(); -+ } -+ -+ if (!diiRequest && (info != null) && info.isDIIInitiate() ) { - // In RequestImpl.doInvocation we already called - // initiateClientPIRequest( true ), so ignore this initiate. - info.setDIIInitiate( false ); -- } -- else { -+ } else { - // If there is no info object or if we are not retrying a request, - // push a new ClientRequestInfoImpl on the stack: -- if( (info == null) || !info.getRetryRequest() ) { -+ -+ // 6763340: don't push unless this is not a retry -+ if( (info == null) || !info.getRetryRequest().isRetry() ) { - info = new ClientRequestInfoImpl( orb ); - infoStack.push( info ); - printPush(); -@@ -442,9 +468,15 @@ - // Reset the retry request flag so that recursive calls will - // push a new info object, and bump up entry count so we know - // when to pop this info object: -- info.setRetryRequest( false ); -+ info.setRetryRequest( RetryType.NONE ); - info.incrementEntryCount(); - -+ // KMC 6763340: I don't know why this wasn't set earlier, -+ // but we do not want a retry to pick up the previous -+ // reply status, so clear it here. Most likely a new -+ // info was pushed before, so that this was not a problem. -+ info.setReplyStatus( RequestInfoImpl.UNINITIALIZED ) ; -+ - // If this is a DII request, make sure we ignore the next initiate. - if( diiRequest ) { - info.setDIIInitiate( true ); -@@ -457,25 +489,34 @@ - if( !isClientPIEnabledForThisThread() ) return; - - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); -+ RetryType rt = info.getRetryRequest() ; - -- // If the replyStatus has not yet been set, this is an indication -- // that the ORB threw an exception before we had a chance to -- // invoke the client interceptor ending points. -- // -- // _REVISIT_ We cannot handle any exceptions or ForwardRequests -- // flagged by the ending points here because there is no way -- // to gracefully handle this in any of the calling code. -- // This is a rare corner case, so we will ignore this for now. -- short replyStatus = info.getReplyStatus(); -- if( replyStatus == info.UNINITIALIZED ) { -- invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -- wrapper.unknownRequestInvoke( -- CompletionStatus.COMPLETED_MAYBE ) ) ; -+ // fix for 6763340 -+ if (!rt.equals( RetryType.BEFORE_RESPONSE )) { -+ -+ // If the replyStatus has not yet been set, this is an indication -+ // that the ORB threw an exception before we had a chance to -+ // invoke the client interceptor ending points. -+ // -+ // _REVISIT_ We cannot handle any exceptions or ForwardRequests -+ // flagged by the ending points here because there is no way -+ // to gracefully handle this in any of the calling code. -+ // This is a rare corner case, so we will ignore this for now. -+ short replyStatus = info.getReplyStatus(); -+ if (replyStatus == info.UNINITIALIZED ) { -+ invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -+ wrapper.unknownRequestInvoke( -+ CompletionStatus.COMPLETED_MAYBE ) ) ; -+ } - } - - // Decrement entry count, and if it is zero, pop it from the stack. - info.decrementEntryCount(); -- if( info.getEntryCount() == 0 ) { -+ -+ // fix for 6763340, and probably other cases (non-recursive retry) -+ if (info.getEntryCount() == 0 && !info.getRetryRequest().isRetry()) { -+ // RequestInfoStack infoStack = -+ // threadLocalClientRequestInfoStack.get(); - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - infoStack.pop(); -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -@@ -107,6 +107,11 @@ - return null; - } - -+ public Exception makeCompletedClientRequest( -+ int replyStatus, Exception exception ) { -+ return null; -+ } -+ - public void initiateClientPIRequest( boolean diiRequest ) { - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -@@ -187,7 +187,8 @@ - startingPointCall = 0; - intermediatePointCall = 0; - endingPointCall = 0; -- replyStatus = UNINITIALIZED; -+ // 6763340 -+ setReplyStatus( UNINITIALIZED ) ; - currentExecutionPoint = EXECUTION_POINT_STARTING; - alreadyExecuted = false; - connection = null; -diff --git a/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java b/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -@@ -1672,6 +1672,7 @@ - { - StackImpl invocationInfoStack = - (StackImpl)clientInvocationInfoStack.get(); -+ int entryCount = -1; - ClientInvocationInfo clientInvocationInfo = null; - if (!invocationInfoStack.empty()) { - clientInvocationInfo = -@@ -1680,8 +1681,12 @@ - throw wrapper.invocationInfoStackEmpty() ; - } - clientInvocationInfo.decrementEntryCount(); -+ entryCount = clientInvocationInfo.getEntryCount(); - if (clientInvocationInfo.getEntryCount() == 0) { -- invocationInfoStack.pop(); -+ // 6763340: don't pop if this is a retry! -+ if (!clientInvocationInfo.isRetryInvocation()) { -+ invocationInfoStack.pop(); -+ } - finishedDispatch(); - } - } -diff --git a/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java b/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java -@@ -185,6 +185,7 @@ - if(getContactInfoListIterator(orb).hasNext()) { - contactInfo = (ContactInfo) - getContactInfoListIterator(orb).next(); -+ unregisterWaiter(orb); - return beginRequest(self, opName, - isOneWay, contactInfo); - } else { -@@ -292,10 +293,22 @@ - // ContactInfoList outside of subcontract. - // Want to move that update to here. - if (getContactInfoListIterator(orb).hasNext()) { -- contactInfo = (ContactInfo) -- getContactInfoListIterator(orb).next(); -+ contactInfo = (ContactInfo)getContactInfoListIterator(orb).next(); -+ if (orb.subcontractDebugFlag) { -+ dprint( "RemarshalException: hasNext true\ncontact info " + contactInfo ); -+ } -+ -+ // Fix for 6763340: Complete the first attempt before starting another. -+ orb.getPIHandler().makeCompletedClientRequest( -+ ReplyMessage.LOCATION_FORWARD, null ) ; -+ unregisterWaiter(orb); -+ orb.getPIHandler().cleanupClientPIRequest() ; -+ - return beginRequest(self, opName, isOneWay, contactInfo); - } else { -+ if (orb.subcontractDebugFlag) { -+ dprint( "RemarshalException: hasNext false" ); -+ } - ORBUtilSystemException wrapper = - ORBUtilSystemException.get(orb, - CORBALogDomains.RPC_PROTOCOL); -diff --git a/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java b/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java -@@ -142,6 +142,27 @@ - int replyStatus, Exception exception ) ; - - /** -+ * Called when a retry is needed after initiateClientPIRequest but -+ * before invokeClientPIRequest. In this case, we need to properly -+ * balance initiateClientPIRequest/cleanupClientPIRequest calls, -+ * but WITHOUT extraneous calls to invokeClientPIEndingPoint -+ * (see bug 6763340). -+ * -+ * @param replyStatus One of the constants in iiop.messages.ReplyMessage -+ * indicating which reply status to set. -+ * @param exception The exception before ending interception points have -+ * been invoked, or null if no exception at the moment. -+ * @return The exception to be thrown, after having gone through -+ * all ending points, or null if there is no exception to be -+ * thrown. Note that this exception can be either the same or -+ * different from the exception set using setClientPIException. -+ * There are four possible return types: null (no exception), -+ * SystemException, UserException, or RemarshalException. -+ */ -+ Exception makeCompletedClientRequest( -+ int replyStatus, Exception exception ) ; -+ -+ /** - * Invoked when a request is about to be created. Must be called before - * any of the setClientPI* methods so that a new info object can be - * prepared for information collection. -diff --git a/src/share/classes/com/sun/corba/se/spi/protocol/RetryType.java b/src/share/classes/com/sun/corba/se/spi/protocol/RetryType.java -new file mode 100644 ---- /dev/null -+++ openjdk/corba/src/share/classes/com/sun/corba/se/spi/protocol/RetryType.java -@@ -0,0 +1,52 @@ -+/* -+ * Copyright (c) 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. Oracle designates this -+ * particular file as subject to the "Classpath" exception as provided -+ * by Oracle in the LICENSE file that accompanied this code. -+ * -+ * 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. -+ */ -+ -+package com.sun.corba.se.spi.protocol ; -+ -+// Introduce more information about WHY we are re-trying a request -+// so we can properly handle the two cases: -+// - BEFORE_RESPONSE means that the retry is caused by -+// something that happened BEFORE the message was sent: either -+// an exception from the SocketFactory, or one from the -+// Client side send_request interceptor point. -+// - AFTER_RESPONSE means that the retry is a result either of the -+// request sent to the server (from the response), or from the -+// Client side receive_xxx interceptor point. -+public enum RetryType { -+ NONE( false ), -+ BEFORE_RESPONSE( true ), -+ AFTER_RESPONSE( true ) ; -+ -+ private final boolean isRetry ; -+ -+ RetryType( boolean isRetry ) { -+ this.isRetry = isRetry ; -+ } -+ -+ public boolean isRetry() { -+ return this.isRetry ; -+ } -+} ; -+ diff -r 01270eb80f98 -r c8b979a2134a patches/openjdk/6893617-cnctx_always_uses_default_orb.patch --- a/patches/openjdk/6893617-cnctx_always_uses_default_orb.patch Thu Dec 26 19:03:54 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,234 +0,0 @@ -# HG changeset patch -# User coffeys -# Date 1340827826 -3600 -# Wed Jun 27 21:10:26 2012 +0100 -# Node ID 83f8283e47917f97b838257db5711e37be9b715e -# Parent 352fad83e8447dec768064f60dc85934db32ef27 -6893617: JDK 6 CNCtx always uses the default ORB -Reviewed-by: lancea - -diff --git a/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java b/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java ---- openjdk/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java -+++ openjdk/jdk/src/share/classes/com/sun/jndi/cosnaming/CNCtx.java -@@ -1,5 +1,5 @@ From andrew at icedtea.classpath.org Fri Jan 17 15:04:24 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 17 Jan 2014 23:04:24 +0000 Subject: /hg/icedtea6-hg: 2 new changesets Message-ID: changeset 2ed34faf4c22 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2ed34faf4c22 author: Andrew John Hughes date: Fri Jan 17 22:30:56 2014 +0000 Bump to next release, b30. 2014-01-17 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to next release, b30. changeset b2459cb1e254 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=b2459cb1e254 author: Andrew John Hughes date: Fri Jan 17 23:04:10 2014 +0000 Update NEWS with upstream fixes. 2014-01-17 Andrew John Hughes * NEWS: Add fixes added to upstream. diffstat: ChangeLog | 9 +++++++++ Makefile.am | 2 +- NEWS | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 1 deletions(-) diffs (82 lines): diff -r c8b979a2134a -r b2459cb1e254 ChangeLog --- a/ChangeLog Fri Jan 17 22:21:40 2014 +0000 +++ b/ChangeLog Fri Jan 17 23:04:10 2014 +0000 @@ -1,3 +1,12 @@ +2014-01-17 Andrew John Hughes + + * NEWS: Add fixes added to upstream. + +2014-01-17 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b30. + 2014-01-17 Andrew John Hughes * patches/openjdk/6763340-corba_memory_leak.patch, diff -r c8b979a2134a -r b2459cb1e254 Makefile.am --- a/Makefile.am Fri Jan 17 22:21:40 2014 +0000 +++ b/Makefile.am Fri Jan 17 23:04:10 2014 +0000 @@ -2,7 +2,7 @@ OPENJDK_DATE = 05_dec_2013 OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b -OPENJDK_VERSION = b29 +OPENJDK_VERSION = b30 OPENJDK_URL = https://java.net/downloads/openjdk6/ CACAO_VERSION = 68fe50ac34ec diff -r c8b979a2134a -r b2459cb1e254 NEWS --- a/NEWS Fri Jan 17 22:21:40 2014 +0000 +++ b/NEWS Fri Jan 17 23:04:10 2014 +0000 @@ -14,6 +14,42 @@ New in release 1.14.0 (201X-XX-XX): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Import of OpenJDK6 b30 + - OJ24: Fix change summary generator + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + New in release 1.13.0 (2013-12-26): * New features @@ -999,6 +1035,7 @@ - S6867671: javap whitespace formatting issues - S6868539: javap should use current names for constant pool tags - S6888215: memory leak in jpeg plugin + - S6893617: JDK 6 CNCtx always uses the default ORB - S6902264: fix indentation of tableswitch and lookupswitch - S6925851: Localize JRE into pt_BR - S6954275: XML signatures with reference data larger 16KB and cacheRef on fails to validate From andrew at icedtea.classpath.org Sat Jan 18 00:06:13 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Sat, 18 Jan 2014 08:06:13 +0000 Subject: /hg/icedtea7: Support building with the PPC port HotSpot instead... Message-ID: changeset d41c1fc06514 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=d41c1fc06514 author: Andrew John Hughes date: Sat Jan 18 08:05:53 2014 +0000 Support building with the PPC port HotSpot instead of IcedTea's. 2014-01-17 Andrew John Hughes * patches/boot/hotspot/default/jdk-dependency.patch: Moved to... * patches/boot/hotspot/zero/jdk-dependency.patch: Removed. * Makefile.am: (ICEDTEA_PATCHES): Add 8026703. Fix path to jdk-dependency patch. * hotspot.map: Add ppc. * patches/boot/hotspot-jdk-dependency.patch: ...here. * patches/ppc/8026703-xsl_include.patch: Needed for PPC HotSpot build to bootstrap. diffstat: ChangeLog | 15 +++++++ Makefile.am | 7 ++- hotspot.map | 1 + patches/boot/hotspot-jdk-dependency.patch | 23 +++++++++++ patches/boot/hotspot/default/jdk-dependency.patch | 23 ----------- patches/boot/hotspot/zero/jdk-dependency.patch | 25 ----------- patches/ppc/8026703-xsl_include.patch | 48 +++++++++++++++++++++++ 7 files changed, 93 insertions(+), 49 deletions(-) diffs (188 lines): diff -r 1885a2b6d744 -r d41c1fc06514 ChangeLog --- a/ChangeLog Sun Jan 12 01:25:32 2014 -0600 +++ b/ChangeLog Sat Jan 18 08:05:53 2014 +0000 @@ -1,3 +1,18 @@ +2014-01-17 Andrew John Hughes + + * patches/boot/hotspot/default/jdk-dependency.patch: + Moved to... + * patches/boot/hotspot/zero/jdk-dependency.patch: + Removed. + * Makefile.am: + (ICEDTEA_PATCHES): Add 8026703. Fix path to + jdk-dependency patch. + * hotspot.map: Add ppc. + * patches/boot/hotspot-jdk-dependency.patch: + ...here. + * patches/ppc/8026703-xsl_include.patch: + Needed for PPC HotSpot build to bootstrap. + 2014-01-09 Andrew John Hughes * acinclude.m4: diff -r 1885a2b6d744 -r d41c1fc06514 Makefile.am --- a/Makefile.am Sun Jan 12 01:25:32 2014 -0600 +++ b/Makefile.am Sat Jan 18 08:05:53 2014 +0000 @@ -262,6 +262,11 @@ # Conditional patches +if WITH_ALT_HSBUILD +ICEDTEA_PATCHES += \ + patches/ppc/8026703-xsl_include.patch +endif + if WITH_RHINO ICEDTEA_PATCHES += \ patches/rhino.patch @@ -334,7 +339,7 @@ patches/boot/corba-dependencies.patch \ patches/boot/jaxws-langtools-dependency.patch \ patches/boot/jaxws-jdk-dependency.patch \ - patches/boot/hotspot/${HSBUILD}/jdk-dependency.patch \ + patches/boot/hotspot-jdk-dependency.patch \ patches/boot/ecj-multicatch.patch \ patches/boot/ecj-trywithresources.patch \ patches/boot/ecj-autoboxing.patch \ diff -r 1885a2b6d744 -r d41c1fc06514 hotspot.map --- a/hotspot.map Sun Jan 12 01:25:32 2014 -0600 +++ b/hotspot.map Sat Jan 18 08:05:53 2014 +0000 @@ -1,2 +1,3 @@ # version url changeset sha256sum default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 11e724b1a33d 68edff4b613f9013f6c4779e1712512d02fc24886a53a69f35fa7e9313fce58b +ppc http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot 3cc52fb61873 ca8ddf13a1195688835cb4f6941aa9ac32070e05b5856a906a8fb2e3a5f81ac9 diff -r 1885a2b6d744 -r d41c1fc06514 patches/boot/hotspot-jdk-dependency.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/boot/hotspot-jdk-dependency.patch Sat Jan 18 08:05:53 2014 +0000 @@ -0,0 +1,23 @@ +diff -Nru openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make openjdk-boot/hotspot/make/linux/makefiles/sa.make +--- openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make 2012-05-23 22:15:04.747642641 +0100 ++++ openjdk-boot/hotspot/make/linux/makefiles/sa.make 2012-05-23 22:16:32.825095823 +0100 +@@ -91,7 +91,7 @@ + # are in AGENT_FILES, so use the shell to expand them. + # Be extra carefull to not produce too long command lines in the shell! + $(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST))) +- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) ++ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) + $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer + $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) + $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js +diff -Nru openjdk-boot.orig/make/hotspot-rules.gmk openjdk-boot/make/hotspot-rules.gmk +--- openjdk-boot.orig/make/hotspot-rules.gmk 2012-05-23 20:37:39.000000000 +0100 ++++ openjdk-boot/make/hotspot-rules.gmk 2012-05-23 22:16:52.425419199 +0100 +@@ -85,6 +85,7 @@ + HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) + HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) + HOTSPOT_BUILD_ARGUMENTS += BUILD_FLAVOR=$(BUILD_FLAVOR) ++HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) + + # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? + # Or is there something wrong with hotspot/make/Makefile? diff -r 1885a2b6d744 -r d41c1fc06514 patches/boot/hotspot/default/jdk-dependency.patch --- a/patches/boot/hotspot/default/jdk-dependency.patch Sun Jan 12 01:25:32 2014 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ -diff -Nru openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make openjdk-boot/hotspot/make/linux/makefiles/sa.make ---- openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make 2012-05-23 22:15:04.747642641 +0100 -+++ openjdk-boot/hotspot/make/linux/makefiles/sa.make 2012-05-23 22:16:32.825095823 +0100 -@@ -91,7 +91,7 @@ - # are in AGENT_FILES, so use the shell to expand them. - # Be extra carefull to not produce too long command lines in the shell! - $(foreach file,$(AGENT_FILES),$(shell ls -1 $(file) >> $(AGENT_FILES_LIST))) -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES_LIST) - $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer - $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) - $(QUIETLY) rm -f $(SA_CLASSDIR)/sun/jvm/hotspot/utilities/soql/sa.js -diff -Nru openjdk-boot.orig/make/hotspot-rules.gmk openjdk-boot/make/hotspot-rules.gmk ---- openjdk-boot.orig/make/hotspot-rules.gmk 2012-05-23 20:37:39.000000000 +0100 -+++ openjdk-boot/make/hotspot-rules.gmk 2012-05-23 22:16:52.425419199 +0100 -@@ -85,6 +85,7 @@ - HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) - HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) - HOTSPOT_BUILD_ARGUMENTS += BUILD_FLAVOR=$(BUILD_FLAVOR) -+HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) - - # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? - # Or is there something wrong with hotspot/make/Makefile? diff -r 1885a2b6d744 -r d41c1fc06514 patches/boot/hotspot/zero/jdk-dependency.patch --- a/patches/boot/hotspot/zero/jdk-dependency.patch Sun Jan 12 01:25:32 2014 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ -diff -Nru openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make openjdk-boot/hotspot/make/linux/makefiles/sa.make ---- openjdk-boot.orig/hotspot/make/linux/makefiles/sa.make 2012-07-20 18:05:26.733484117 +0100 -+++ openjdk-boot/hotspot/make/linux/makefiles/sa.make 2012-07-20 18:10:11.384736044 +0100 -@@ -97,8 +97,8 @@ - $(foreach file,$(AGENT_FILES1),$(shell echo $(file) >> $(AGENT_FILES1_LIST))) - $(foreach file,$(AGENT_FILES2),$(shell echo $(file) >> $(AGENT_FILES2_LIST))) - -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -- $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES1_LIST) -+ $(QUIETLY) $(REMOTE) $(COMPILE.JAVAC) -classpath $(SA_CLASSPATH) -sourcepath $(AGENT_SRC_DIR):$(JDK_TOPDIR)/src/share/classes:$(JDK_TOPDIR)/src/solaris/classes:$(GENSRCDIR) -d $(SA_CLASSDIR) @$(AGENT_FILES2_LIST) - - $(QUIETLY) $(REMOTE) $(COMPILE.RMIC) -classpath $(SA_CLASSDIR) -d $(SA_CLASSDIR) sun.jvm.hotspot.debugger.remote.RemoteDebuggerServer - $(QUIETLY) echo "$(SA_BUILD_VERSION_PROP)" > $(SA_PROPERTIES) -diff -Nru openjdk-boot.orig/make/hotspot-rules.gmk openjdk-boot/make/hotspot-rules.gmk ---- openjdk-boot.orig/make/hotspot-rules.gmk 2012-06-29 15:19:51.000000000 +0100 -+++ openjdk-boot/make/hotspot-rules.gmk 2012-07-20 18:10:28.277161702 +0100 -@@ -85,6 +85,7 @@ - HOTSPOT_BUILD_ARGUMENTS += ALT_OUTPUTDIR=$(HOTSPOT_OUTPUTDIR) - HOTSPOT_BUILD_ARGUMENTS += ALT_EXPORT_PATH=$(HOTSPOT_EXPORT_PATH) - HOTSPOT_BUILD_ARGUMENTS += BUILD_FLAVOR=$(BUILD_FLAVOR) -+HOTSPOT_BUILD_ARGUMENTS += GENSRCDIR=$(GENSRCDIR) - - # Why do these need to be passed in? Because of windows nmake? and MAKEFLAGS=? - # Or is there something wrong with hotspot/make/Makefile? diff -r 1885a2b6d744 -r d41c1fc06514 patches/ppc/8026703-xsl_include.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/ppc/8026703-xsl_include.patch Sat Jan 18 08:05:53 2014 +0000 @@ -0,0 +1,48 @@ +# HG changeset patch +# User simonis +# Date 1381928799 -7200 +# Wed Oct 16 15:06:39 2013 +0200 +# Node ID 042cf42c72bd7fb3e5b50dd88d908985926f5284 +# Parent 7fe6ef09d2424c8f92244fa61393fa64f555ebd7 +8026703: Wrongly placed element in Event-Based JVM Tracing .xsl files +Reviewed-by: sla, kamg + +diff -r 7fe6ef09d242 -r 042cf42c72bd src/share/vm/trace/traceEventClasses.xsl +--- openjdk/hotspot/src/share/vm/trace/traceEventClasses.xsl Wed Oct 16 09:20:23 2013 +0200 ++++ openjdk/hotspot/src/share/vm/trace/traceEventClasses.xsl Wed Oct 16 15:06:39 2013 +0200 +@@ -23,8 +23,8 @@ + --> + + ++ + +- + + + +diff -r 7fe6ef09d242 -r 042cf42c72bd src/share/vm/trace/traceEventIds.xsl +--- openjdk/hotspot/src/share/vm/trace/traceEventIds.xsl Wed Oct 16 09:20:23 2013 +0200 ++++ openjdk/hotspot/src/share/vm/trace/traceEventIds.xsl Wed Oct 16 15:06:39 2013 +0200 +@@ -23,8 +23,8 @@ + --> + + ++ + +- + + + +diff -r 7fe6ef09d242 -r 042cf42c72bd src/share/vm/trace/traceTypes.xsl +--- openjdk/hotspot/src/share/vm/trace/traceTypes.xsl Wed Oct 16 09:20:23 2013 +0200 ++++ openjdk/hotspot/src/share/vm/trace/traceTypes.xsl Wed Oct 16 15:06:39 2013 +0200 +@@ -23,8 +23,8 @@ + --> + + ++ + +- + + + From bugzilla-daemon at icedtea.classpath.org Sat Jan 18 23:05:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 19 Jan 2014 07:05:09 +0000 Subject: [Bug 1650] New: Crash on installation of a Weka package Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1650 Bug ID: 1650 Summary: Crash on installation of a Weka package Classification: Unclassified Product: IcedTea Version: 2.4.3 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: cmageek at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1010 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1010&action=edit Error Log Installing a Weka package and crashed JRE. This is a new processor for me (AMD9590) and I'm not sure if it is related to this new architecture. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140119/7eb0e30f/attachment.html From andrew at icedtea.classpath.org Mon Jan 20 00:52:39 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 20 Jan 2014 08:52:39 +0000 Subject: /hg/release/icedtea6-1.11: 5 new changesets Message-ID: changeset 407a06b6d350 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=407a06b6d350 author: Andrew John Hughes date: Mon Jan 20 07:16:23 2014 +0000 S7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8 S6763340: memory leak in com.sun.corba.se.* classes S6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 S6980681: CORBA deadlock in Java SE believed to be related to CR 6238477 2012-10-30 Andrew John Hughes * Makefile.am: Add new patches. * NEWS: List new backports. * patches/openjdk/6763340-corba_memory_leak.patch, * patches/openjdk/6980681-corba_deadlock.patch, * patches/openjdk/7162902-corba_fixes.patch: Add a series of CORBA backports, already applied to the proprietary JDK6 release. * patches/traceable.patch: Fix GenerateBreakIteratorData tool so that crashes have stack traces. changeset 42ad2c13804d in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=42ad2c13804d author: Andrew John Hughes date: Mon Jan 20 07:58:58 2014 +0000 Update pre-generated CORBA files from latest build. 2012-10-31 Andrew John Hughes * generated/com/sun/corba/se/impl/logging/ActivationSystemException.java, * generated/com/sun/corba/se/impl/logging/IORSystemException.java, * generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java, * generated/com/sun/corba/se/impl/logging/LogStrings.properties, * generated/com/sun/corba/se/impl/logging/NamingSystemException.java, * generated/com/sun/corba/se/impl/logging/OMGSystemException.java, * generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java, * generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource, * generated/com/sun/corba/se/impl/logging/POASystemException.java, * generated/com/sun/corba/se/impl/logging/UtilSystemException.java: Update from latest build, following CORBA changes. changeset f49400e164aa in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=f49400e164aa author: Andrew John Hughes date: Mon Jan 20 08:34:11 2014 +0000 Enhanced garbage collection dtrace/systemtap instrumentation. 2012-11-01 Lukas Berk * Makefile.am: (ICEDTEA_PATCHES): Add patches/systemtap.patch. (EXTRA_DIST): Add tapset/hotspot_gc.stp.in. (add-systemtap): Build tapset/hotspot_gc.stp. (add-systemtap-debug): Likewise. (add-systemtap-ecj): Likewise. * configure.ac: Generate tapset/hotspot_gc.stp. * patches/systemtap_gc.patch: Add Garbage Collection dtrace/systemtap probes to hotspot. * tapset/hotspot_gc.stp.in: Systemtap tapset allowing use of GC probes more comfortablely. changeset cc6317dd8081 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=cc6317dd8081 author: Andrew John Hughes date: Mon Jan 21 19:56:33 2013 +0000 Only copy tz.properties if the destination exists. Do it verbosely. 2013-01-14 Andrew John Hughes * Makefile.am: (add-tzdata-support): Only copy tz.properties if destination exists. Do it verbosely. (clean-add-tzdata-support): Only remove tz.properties if present and do so verbosely. (add-tzdata-support-debug): Same as add-tzdata-support but for debug. (clean-add-tzdata-support-debug): Same as clean-add-tzdata-support but for debug. (add-tzdata-support-ecj): Same as add-tzdata-support but for bootstrap. (clean-add-tzdata-support-ecj): Same as clean-add-tzdata-support but for bootstrap. changeset c982036ea4b3 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=c982036ea4b3 author: Andrew John Hughes date: Mon Jan 20 08:52:16 2014 +0000 Fix TCK regression caused by backport of 7162902. 2013-08-28 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new backport. * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: Fixes TCK regression caused by 7162902. diffstat: ChangeLog | 66 +- Makefile.am | 49 +- NEWS | 4 + configure.ac | 1 + generated/com/sun/corba/se/impl/logging/ActivationSystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/IORSystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/LogStrings.properties | 16 + generated/com/sun/corba/se/impl/logging/NamingSystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/OMGSystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java | 478 ++- generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource | 16 + generated/com/sun/corba/se/impl/logging/POASystemException.java | 2 +- generated/com/sun/corba/se/impl/logging/UtilSystemException.java | 2 +- patches/openjdk/6763340-corba_memory_leak.patch | 409 + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 + patches/openjdk/6980681-corba_deadlock.patch | 69 + patches/openjdk/7162902-corba_fixes.patch | 2258 ++++++++++ patches/systemtap_gc.patch | 369 + patches/traceable.patch | 12 + tapset/hotspot_gc.stp.in | 534 ++ 21 files changed, 4510 insertions(+), 19 deletions(-) diffs (truncated from 4800 to 500 lines): diff -r a3249839270a -r c982036ea4b3 ChangeLog --- a/ChangeLog Wed Jan 15 12:52:12 2014 -0500 +++ b/ChangeLog Mon Jan 20 08:52:16 2014 +0000 @@ -1,3 +1,67 @@ +2013-08-28 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new backport. + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch: + Fixes TCK regression caused by 7162902. + +2013-01-14 Andrew John Hughes + + * Makefile.am: + (add-tzdata-support): Only copy tz.properties if + destination exists. Do it verbosely. + (clean-add-tzdata-support): Only remove tz.properties + if present and do so verbosely. + (add-tzdata-support-debug): Same as add-tzdata-support + but for debug. + (clean-add-tzdata-support-debug): Same as + clean-add-tzdata-support but for debug. + (add-tzdata-support-ecj): Same as add-tzdata-support + but for bootstrap. + (clean-add-tzdata-support-ecj): Same as + clean-add-tzdata-support but for bootstrap. + +2012-11-01 Lukas Berk + + * Makefile.am: + (ICEDTEA_PATCHES): Add patches/systemtap.patch. + (EXTRA_DIST): Add tapset/hotspot_gc.stp.in. + (add-systemtap): Build tapset/hotspot_gc.stp. + (add-systemtap-debug): Likewise. + (add-systemtap-ecj): Likewise. + * configure.ac: Generate tapset/hotspot_gc.stp. + * patches/systemtap_gc.patch: + Add Garbage Collection dtrace/systemtap probes to hotspot. + * tapset/hotspot_gc.stp.in: + Systemtap tapset allowing use of GC probes more comfortablely. + +2012-10-31 Andrew John Hughes + + * generated/com/sun/corba/se/impl/logging/ActivationSystemException.java, + * generated/com/sun/corba/se/impl/logging/IORSystemException.java, + * generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java, + * generated/com/sun/corba/se/impl/logging/LogStrings.properties, + * generated/com/sun/corba/se/impl/logging/NamingSystemException.java, + * generated/com/sun/corba/se/impl/logging/OMGSystemException.java, + * generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java, + * generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.resource, + * generated/com/sun/corba/se/impl/logging/POASystemException.java, + * generated/com/sun/corba/se/impl/logging/UtilSystemException.java: + Update from latest build, following CORBA changes. + +2012-10-30 Andrew John Hughes + + * Makefile.am: Add new patches. + * NEWS: List new backports. + * patches/openjdk/6763340-corba_memory_leak.patch, + * patches/openjdk/6980681-corba_deadlock.patch, + * patches/openjdk/7162902-corba_fixes.patch: + Add a series of CORBA backports, already applied + to the proprietary JDK6 release. + * patches/traceable.patch: Fix + GenerateBreakIteratorData tool so that crashes + have stack traces. + 2014-01-15 Omair Majid * Makefile (SECURITY_PATCHES): Add patches. @@ -37,7 +101,7 @@ 2014-01-10 Omair Majid - * patches/nss-not-enabled-config.patch: Fix path + * patches/nss-not-enabled-config.patch: Fix path to java.security. 2013-11-13 Andrew John Hughes diff -r a3249839270a -r c982036ea4b3 Makefile.am --- a/Makefile.am Wed Jan 15 12:52:12 2014 -0500 +++ b/Makefile.am Mon Jan 20 08:52:16 2014 +0000 @@ -808,7 +808,12 @@ patches/openjdk/7038711-fix_no-clobber_usage.patch \ patches/disable-cc-incompatible-sanity-checks.patch \ patches/rh995488-rhel_tz_fix.patch \ - patches/openjdk/8025255-tzdata2013g.patch + patches/openjdk/8025255-tzdata2013g.patch \ + patches/openjdk/6763340-corba_memory_leak.patch \ + patches/openjdk/6980681-corba_deadlock.patch \ + patches/openjdk/7162902-corba_fixes.patch \ + patches/traceable.patch \ + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -841,6 +846,7 @@ if ENABLE_SYSTEMTAP ICEDTEA_PATCHES += patches/systemtap.patch \ + patches/systemtap_gc.patch \ patches/systemtap-gcc-4.5.patch \ patches/systemtap-alloc-size-workaround.patch endif @@ -1026,6 +1032,7 @@ autogen.sh \ tapset/hotspot.stp.in \ tapset/hotspot_jni.stp.in \ + tapset/hotspot_gc.stp.in \ scripts/jni_create_stap.c \ scripts/jni_desc \ rewriter/agpl-3.0.txt \ @@ -1794,6 +1801,9 @@ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_gc.stp \ + > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ + sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ @@ -1825,6 +1835,8 @@ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + cp $(abs_top_builddir)/tapset/hotspot_gc.stp \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ fi @@ -1909,24 +1921,32 @@ stamps/add-tzdata-support.stamp: stamps/icedtea.stamp if WITH_TZDATA_DIR - cp $(abs_top_builddir)/tz.properties \ - $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib + if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ] ; then \ + cp -v $(abs_top_builddir)/tz.properties \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ; \ + fi endif touch stamps/add-tzdata-support.stamp clean-add-tzdata-support: - rm -f $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties + if [ -e $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ] ; then \ + rm -vf $(BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ; \ + fi rm -f stamps/add-tzdata-support.stamp stamps/add-tzdata-support-debug.stamp: stamps/icedtea-debug.stamp if WITH_TZDATA_DIR - cp $(abs_top_builddir)/tz.properties \ - $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; + if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ] ; then \ + cp -v $(abs_top_builddir)/tz.properties \ + $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; \ + fi endif touch stamps/add-tzdata-support-debug.stamp clean-add-tzdata-support-debug: - rm -f $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties + if [ -e $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ] ; then \ + rm -vf $(DEBUG_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ; \ + fi rm -f stamps/add-tzdata-support-debug.stamp # OpenJDK ecj Targets @@ -1966,11 +1986,16 @@ < $(abs_top_builddir)/tapset/hotspot.stp \ > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ sed -e '/\/client\/libjvm.so/d' \ + < $(abs_top_builddir)/tapset/hotspot_gc.stp \ + > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ + sed -e '/\/client\/libjvm.so/d' \ < $(abs_top_builddir)/tapset/hotspot_jni.stp \ > $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ else \ cp $(abs_top_builddir)/tapset/hotspot.stp \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot.stp; \ + cp $(abs_top_builddir)/tapset/hotspot_gc.stp \ + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_gc.stp; \ cp $(abs_top_builddir)/tapset/hotspot_jni.stp \ $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/tapset/hotspot_jni.stp; \ fi @@ -2020,13 +2045,17 @@ stamps/add-tzdata-support-ecj.stamp: stamps/icedtea-ecj.stamp if WITH_TZDATA_DIR - cp $(abs_top_builddir)/tz.properties \ - $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; + if [ -e $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib ] ; then \ + cp -v $(abs_top_builddir)/tz.properties \ + $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib; \ + fi endif touch stamps/add-tzdata-support-ecj.stamp clean-add-tzdata-support-ecj: - rm -f $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties + if [ -e $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ] ; then \ + rm -vf $(ECJ_BUILD_OUTPUT_DIR)/j2sdk-image/jre/lib/tz.properties ; \ + fi rm -f stamps/add-tzdata-support-ecj.stamp # Rebuild targets diff -r a3249839270a -r c982036ea4b3 NEWS --- a/NEWS Wed Jan 15 12:52:12 2014 -0500 +++ b/NEWS Mon Jan 20 08:52:16 2014 +0000 @@ -47,7 +47,11 @@ * Bug fixes - S8026826: JDK 7 fix for 8010935 broke the build * Backports + - S6763340: memory leak in com.sun.corba.se.* classes + - S6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 + - S6980681: CORBA deadlock in Java SE believed to be related to CR 6238477 - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8 New in release 1.11.14 (2013-11-13): diff -r a3249839270a -r c982036ea4b3 configure.ac --- a/configure.ac Wed Jan 15 12:52:12 2014 -0500 +++ b/configure.ac Mon Jan 20 08:52:16 2014 +0000 @@ -307,6 +307,7 @@ AC_CONFIG_FILES([tapset/hotspot.stp]) AC_CONFIG_FILES([tapset/hotspot_jni.stp]) AC_CONFIG_FILES([tapset/jstack.stp]) + AC_CONFIG_FILES([tapset/hotspot_gc.stp]) fi dnl Check for libpng headers and libraries. diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/ActivationSystemException.java --- a/generated/com/sun/corba/se/impl/logging/ActivationSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/ActivationSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group ACTIVATION // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Activation.mc on Wed Oct 31 09:48:31 GMT 2012 package com.sun.corba.se.impl.logging ; diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/IORSystemException.java --- a/generated/com/sun/corba/se/impl/logging/IORSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/IORSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group IOR // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/IOR.mc on Wed Oct 31 09:48:31 GMT 2012 package com.sun.corba.se.impl.logging ; diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java --- a/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/InterceptorsSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group INTERCEPTORS // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Interceptors.mc on Wed Oct 31 09:48:31 GMT 2012 package com.sun.corba.se.impl.logging ; diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/LogStrings.properties --- a/generated/com/sun/corba/se/impl/logging/LogStrings.properties Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/LogStrings.properties Mon Jan 20 08:52:16 2014 +0000 @@ -241,6 +241,7 @@ ORBUTIL.isLocalRequiresStub="IOP01210243: (BAD_OPERATION) Call to StubAdapter.isLocal did not pass a stub" ORBUTIL.requestRequiresStub="IOP01210244: (BAD_OPERATION) Call to StubAdapter.request did not pass a stub" ORBUTIL.badActivateTieCall="IOP01210245: (BAD_OPERATION) Call to StubAdapter.activateTie did not pass a valid Tie" +ORBUTIL.ioExceptionOnClose="IOP01210246: (BAD_OPERATION) Useless exception on call to Closeable.close()" ORBUTIL.nullParam="IOP00110201: (BAD_PARAM) Null parameter" ORBUTIL.unableFindValueFactory="IOP00110202: (BAD_PARAM) Unable to find value factory" ORBUTIL.abstractFromNonAbstract="IOP00110203: (BAD_PARAM) Abstract interface derived from non-abstract interface" @@ -421,6 +422,21 @@ ORBUTIL.javaStreamInitFailed="IOP00710295: (INTERNAL) Java stream initialization failed" ORBUTIL.duplicateOrbVersionServiceContext="IOP00710296: (INTERNAL) An ORBVersionServiceContext was already in the service context list" ORBUTIL.duplicateSendingContextServiceContext="IOP00710297: (INTERNAL) A SendingContextServiceContext was already in the service context list" +ORBUTIL.workQueueThreadInterrupted="IOP00710298: (INTERNAL) Worker Thread from thread pool {0} was interrupted: closeCalled is {1}." +ORBUTIL.workerThreadCreated="IOP00710304: (INTERNAL) Worker thread {0} has been created with ClassLoader {1}" +ORBUTIL.workerThreadThrowableFromRequestWork="IOP00710309: (INTERNAL) Worker thread {0} caught throwable {1} when requesting work from work queue {2}." +ORBUTIL.workerThreadNotNeeded="IOP00710310: (INTERNAL) Worker thread {0} will exit; current thread count, {1}, greater than minunum worker threads needed, {2}." +ORBUTIL.workerThreadDoWorkThrowable="IOP00710311: (INTERNAL) Worker thread {0} caught throwable {1} while executing work." +ORBUTIL.workerThreadCaughtUnexpectedThrowable="IOP00710312: (INTERNAL) Worker thread {0} caught unexpected throwable {1}." +ORBUTIL.workerThreadCreationFailure="IOP00710313: (INTERNAL) Worker thread creation failure; cause {0}." +ORBUTIL.workerThreadSetNameFailure="IOP00710314: (INTERNAL) Unable to set worker thread {0} name to {1}; cause {2}." +ORBUTIL.workQueueRequestWorkNoWorkFound="IOP00710316: (INTERNAL) Ignoring unexpected {0} when retrieving of work from work queue, {1}." +ORBUTIL.threadPoolCloseError="IOP00710326: (INTERNAL) Error in closing ThreadPool" +ORBUTIL.threadGroupIsDestroyed="IOP00710327: (INTERNAL) ThreadGroup {0} is already destroyed: can't destroy it" +ORBUTIL.threadGroupHasActiveThreadsInClose="IOP00710328: (INTERNAL) ThreadGroup {0} has {1} active threads: destroy may cause exception" +ORBUTIL.threadGroupHasSubGroupsInClose="IOP00710329: (INTERNAL) ThreadGroup {0} has {1} sub-thread groups: destroy may cause exception" +ORBUTIL.threadGroupDestroyFailed="IOP00710330: (INTERNAL) ThreadGroup {0} could not be destroyed" +ORBUTIL.interruptedJoinCallWhileClosingThreadPool="IOP00710331: (INTERNAL) Join was interrupted on thread {0} while closing ThreadPool {1}" ORBUTIL.chunkOverflow="IOP00810201: (MARSHAL) Data read past end of chunk without closing the chunk" ORBUTIL.unexpectedEof="IOP00810202: (MARSHAL) Grow buffer strategy called underflow handler" ORBUTIL.readObjectException="IOP00810203: (MARSHAL) Error in reading marshalled object" diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/NamingSystemException.java --- a/generated/com/sun/corba/se/impl/logging/NamingSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/NamingSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group NAMING // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/Naming.mc on Wed Oct 31 09:48:31 GMT 2012 package com.sun.corba.se.impl.logging ; diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/OMGSystemException.java --- a/generated/com/sun/corba/se/impl/logging/OMGSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/OMGSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for standard exceptions // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/OMG.mc on Wed Oct 31 09:48:31 GMT 2012 package com.sun.corba.se.impl.logging ; diff -r a3249839270a -r c982036ea4b3 generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java --- a/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java Wed Jan 15 12:52:12 2014 -0500 +++ b/generated/com/sun/corba/se/impl/logging/ORBUtilSystemException.java Mon Jan 20 08:52:16 2014 +0000 @@ -1,7 +1,7 @@ // Log wrapper class for Sun private system exceptions in group ORBUTIL // // Generated by MC.java version 1.0, DO NOT EDIT BY HAND! -// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc on Fri Dec 05 17:29:35 GMT 2008 +// Generated from input file ../../../../src/share/classes/com/sun/corba/se/spi/logging/data/ORBUtil.mc on Wed Oct 31 09:48:32 GMT 2012 package com.sun.corba.se.impl.logging ; @@ -1089,6 +1089,34 @@ return badActivateTieCall( CompletionStatus.COMPLETED_NO, null ) ; } + public static final int IO_EXCEPTION_ON_CLOSE = SUNVMCID.value + 246 ; + + public BAD_OPERATION ioExceptionOnClose( CompletionStatus cs, Throwable t ) { + BAD_OPERATION exc = new BAD_OPERATION( IO_EXCEPTION_ON_CLOSE, cs ) ; + if (t != null) + exc.initCause( t ) ; + + if (logger.isLoggable( Level.FINE )) { + Object[] parameters = null ; + doLog( Level.FINE, "ORBUTIL.ioExceptionOnClose", + parameters, ORBUtilSystemException.class, exc ) ; + } + + return exc ; + } + + public BAD_OPERATION ioExceptionOnClose( CompletionStatus cs ) { + return ioExceptionOnClose( cs, null ) ; + } + + public BAD_OPERATION ioExceptionOnClose( Throwable t ) { + return ioExceptionOnClose( CompletionStatus.COMPLETED_NO, t ) ; + } + + public BAD_OPERATION ioExceptionOnClose( ) { + return ioExceptionOnClose( CompletionStatus.COMPLETED_NO, null ) ; + } + /////////////////////////////////////////////////////////// // BAD_PARAM /////////////////////////////////////////////////////////// @@ -6236,6 +6264,454 @@ return duplicateSendingContextServiceContext( CompletionStatus.COMPLETED_NO, null ) ; } + public static final int WORK_QUEUE_THREAD_INTERRUPTED = SUNVMCID.value + 298 ; + + public INTERNAL workQueueThreadInterrupted( CompletionStatus cs, Throwable t, Object arg0, Object arg1) { + INTERNAL exc = new INTERNAL( WORK_QUEUE_THREAD_INTERRUPTED, cs ) ; + if (t != null) + exc.initCause( t ) ; + + if (logger.isLoggable( Level.FINE )) { + Object[] parameters = new Object[2] ; + parameters[0] = arg0 ; + parameters[1] = arg1 ; + doLog( Level.FINE, "ORBUTIL.workQueueThreadInterrupted", + parameters, ORBUtilSystemException.class, exc ) ; + } + + return exc ; + } + + public INTERNAL workQueueThreadInterrupted( CompletionStatus cs, Object arg0, Object arg1) { + return workQueueThreadInterrupted( cs, null, arg0, arg1 ) ; + } + + public INTERNAL workQueueThreadInterrupted( Throwable t, Object arg0, Object arg1) { + return workQueueThreadInterrupted( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ; + } + + public INTERNAL workQueueThreadInterrupted( Object arg0, Object arg1) { + return workQueueThreadInterrupted( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ; + } + + public static final int WORKER_THREAD_CREATED = SUNVMCID.value + 304 ; + + public INTERNAL workerThreadCreated( CompletionStatus cs, Throwable t, Object arg0, Object arg1) { + INTERNAL exc = new INTERNAL( WORKER_THREAD_CREATED, cs ) ; + if (t != null) + exc.initCause( t ) ; + + if (logger.isLoggable( Level.FINE )) { + Object[] parameters = new Object[2] ; + parameters[0] = arg0 ; + parameters[1] = arg1 ; + doLog( Level.FINE, "ORBUTIL.workerThreadCreated", + parameters, ORBUtilSystemException.class, exc ) ; + } + + return exc ; + } + + public INTERNAL workerThreadCreated( CompletionStatus cs, Object arg0, Object arg1) { + return workerThreadCreated( cs, null, arg0, arg1 ) ; + } + + public INTERNAL workerThreadCreated( Throwable t, Object arg0, Object arg1) { + return workerThreadCreated( CompletionStatus.COMPLETED_NO, t, arg0, arg1 ) ; + } + + public INTERNAL workerThreadCreated( Object arg0, Object arg1) { + return workerThreadCreated( CompletionStatus.COMPLETED_NO, null, arg0, arg1 ) ; + } + + public static final int WORKER_THREAD_THROWABLE_FROM_REQUEST_WORK = SUNVMCID.value + 309 ; + + public INTERNAL workerThreadThrowableFromRequestWork( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) { + INTERNAL exc = new INTERNAL( WORKER_THREAD_THROWABLE_FROM_REQUEST_WORK, cs ) ; + if (t != null) + exc.initCause( t ) ; + + if (logger.isLoggable( Level.FINE )) { + Object[] parameters = new Object[3] ; + parameters[0] = arg0 ; + parameters[1] = arg1 ; + parameters[2] = arg2 ; + doLog( Level.FINE, "ORBUTIL.workerThreadThrowableFromRequestWork", + parameters, ORBUtilSystemException.class, exc ) ; + } + + return exc ; + } + + public INTERNAL workerThreadThrowableFromRequestWork( CompletionStatus cs, Object arg0, Object arg1, Object arg2) { + return workerThreadThrowableFromRequestWork( cs, null, arg0, arg1, arg2 ) ; + } + + public INTERNAL workerThreadThrowableFromRequestWork( Throwable t, Object arg0, Object arg1, Object arg2) { + return workerThreadThrowableFromRequestWork( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ; + } + + public INTERNAL workerThreadThrowableFromRequestWork( Object arg0, Object arg1, Object arg2) { + return workerThreadThrowableFromRequestWork( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ; + } + + public static final int WORKER_THREAD_NOT_NEEDED = SUNVMCID.value + 310 ; + + public INTERNAL workerThreadNotNeeded( CompletionStatus cs, Throwable t, Object arg0, Object arg1, Object arg2) { + INTERNAL exc = new INTERNAL( WORKER_THREAD_NOT_NEEDED, cs ) ; + if (t != null) + exc.initCause( t ) ; + + if (logger.isLoggable( Level.FINE )) { + Object[] parameters = new Object[3] ; + parameters[0] = arg0 ; + parameters[1] = arg1 ; + parameters[2] = arg2 ; + doLog( Level.FINE, "ORBUTIL.workerThreadNotNeeded", + parameters, ORBUtilSystemException.class, exc ) ; + } + + return exc ; + } + + public INTERNAL workerThreadNotNeeded( CompletionStatus cs, Object arg0, Object arg1, Object arg2) { + return workerThreadNotNeeded( cs, null, arg0, arg1, arg2 ) ; + } + + public INTERNAL workerThreadNotNeeded( Throwable t, Object arg0, Object arg1, Object arg2) { + return workerThreadNotNeeded( CompletionStatus.COMPLETED_NO, t, arg0, arg1, arg2 ) ; + } + + public INTERNAL workerThreadNotNeeded( Object arg0, Object arg1, Object arg2) { + return workerThreadNotNeeded( CompletionStatus.COMPLETED_NO, null, arg0, arg1, arg2 ) ; + } From ptisnovs at icedtea.classpath.org Mon Jan 20 01:13:09 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 20 Jan 2014 09:13:09 +0000 Subject: /hg/gfx-test: Another six new tests added into BitBitBltAffineId... Message-ID: changeset aa23d4954918 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=aa23d4954918 author: Pavel Tisnovsky date: Mon Jan 20 10:17:26 2014 +0100 Another six new tests added into BitBitBltAffineIdentityTransformOp.java: diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 84 ++++++++++ 2 files changed, 89 insertions(+), 0 deletions(-) diffs (106 lines): diff -r c9406ec8b549 -r aa23d4954918 ChangeLog --- a/ChangeLog Fri Jan 17 13:10:50 2014 +0100 +++ b/ChangeLog Mon Jan 20 10:17:26 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-18 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Another six new tests added into BitBitBltAffineIdentityTransformOp.java: + 2014-01-17 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: diff -r c9406ec8b549 -r aa23d4954918 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Fri Jan 17 13:10:50 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Mon Jan 20 10:17:26 2014 +0100 @@ -3011,6 +3011,90 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_CUSTOM. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeCustomIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeCustom(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Mon Jan 20 01:20:03 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 20 Jan 2014 09:20:03 +0000 Subject: /hg/rhino-tests: Enhancement of the test testGetResourceAsStream... Message-ID: changeset 7bbdd4d1eeee in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=7bbdd4d1eeee author: Pavel Tisnovsky date: Mon Jan 20 10:24:21 2014 +0100 Enhancement of the test testGetResourceAsStreamNegativeTest. diffstat: ChangeLog | 5 ++++ src/org/RhinoTests/BindingsClassTest.java | 34 ++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 1 deletions(-) diffs (70 lines): diff -r 99f05286b20a -r 7bbdd4d1eeee ChangeLog --- a/ChangeLog Fri Jan 17 13:12:51 2014 +0100 +++ b/ChangeLog Mon Jan 20 10:24:21 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-18 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + Enhancement of the test testGetResourceAsStreamNegativeTest. + 2014-01-17 Pavel Tisnovsky * src/org/RhinoTests/AbstractScriptEngineClassTest.java: diff -r 99f05286b20a -r 7bbdd4d1eeee src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Fri Jan 17 13:12:51 2014 +0100 +++ b/src/org/RhinoTests/BindingsClassTest.java Mon Jan 20 10:24:21 2014 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011, 2012, 2013 Red Hat + Copyright (C) 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1515,6 +1515,30 @@ } try { + this.bindingsClass.cast(new java.awt.Label()); + throw new AssertionError("Class.cast(new java.awt.Label()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.awt.Label(new String())); + throw new AssertionError("Class.cast(new java.awt.Label(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.awt.Label("xyzzy")); + throw new AssertionError("Class.cast(new java.awt.Label(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1531,6 +1555,14 @@ } try { + this.bindingsClass.cast(new javax.swing.JLabel("xyzzy")); + throw new AssertionError("Class.cast(new javax.swing.JLabel(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From jvanek at redhat.com Mon Jan 20 04:27:10 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 20 Jan 2014 13:27:10 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52D99BC7.40009@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> Message-ID: <52DD161E.4020901@redhat.com> On 01/17/2014 10:08 PM, Andrew Azores wrote: > On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>> This is why I was launching PolicyTool in a new process in the first place, actually. In all its >>> wisdom, PolicyTool exits the JVM when its window closes. >> >> It should not be so hard - >> By refelction get 'tw' field, and remove the only (nasty words) WindowListener it have - the one >> responsible for system.exit and nothing else:-/ >> >> Unluckily, this listener is added in >> PolicyTool.main in tw.displayToolWindow(args); >> >> So you have to work on it a bit more. But again, nothing hard, and no copy pasting;) >> >> Not sure if we will backport this, but probably yes.. Depends on final compelxiity. > > 'tw' isn't a field though, it's just a local variable within main(), so we can't just grab it via > reflection. > > I've got the hackiest hack ever with reflection to get around this, and it is *seriously* ugly. > System.exit(0) is also called by PolicyTool indirectly in other places. I've removed the > ToolWindowListener so that hitting the window close button on PolicyTool doesn't exit the JVM, but > File>Exit still exits the JVM. This case comes from ToolDialog#userSaveContinue I believe, and I > don't see a way to work around this, really. We're going to need to do some extend/override voodoo > to get rid of this, unless we start introducing runtime code injection/modification in > itweb-settings control panel :) either that, or get some patches into the JDK to fix PolicyTool. > > The attached patch is the super crazy ugly hack that at least makes the window close button behave > nicely, but I feel like a monster for even having written this. Be warned. > > Oh, and try this - launch itweb-settings from terminal. Open policytool from itweb-settings. Close > policytool with the window close button. Press Ok in itweb-settings. The itweb-settings process > doesn't even exit! Wonderful! I'm not really sure what's keeping it open. > > Something else I noticed while testing this is that policytool prompts you if you want to save your > changes if you select File>Exit, but simply closing the window does not prompt you. This is without > the reflection patch applied. Ugh. PolicyTool is really in need of a serious overhaul... > Ouch. See my reply to patch. >> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >> Also please fix the closing of window asap (as new chngeset) >> >> >> Good work! >> J. > > 1.4 doesn't have DirectoryValidator... what should we do here then? Also backport > DirectoryValidator? Or just let the 1.4 backport have less of a guarantee that the policy tool will > be able to successfully launch, and try to provide useful errors if not? > > Thanks, > Dependes on you. I'm for *not* backporting the directory validator, and live with "maybe not readable file". But also I would just ensure the parent dir creation. Thasnx! J. From ELefeber at trustwave.com Mon Jan 20 06:41:11 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Mon, 20 Jan 2014 14:41:11 +0000 Subject: IcedTea-web: plugin decision of java version Message-ID: <8823656A11DC6F49A9AA74FC990659F519DE9A23@SKYMB1.trustwave.com> How does the IcedTea-web plugin decide if to run java 6 or java 7? Or does icedctea-7-plugin run only java 7 and all applets on older java version run on java 7? ________________________________ This transmission may contain information that is privileged, confidential, and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is strictly prohibited. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/f83eac2c/attachment.html From dbhole at redhat.com Mon Jan 20 06:56:13 2014 From: dbhole at redhat.com (Deepak Bhole) Date: Mon, 20 Jan 2014 09:56:13 -0500 Subject: IcedTea-web: plugin decision of java version In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DE9A23@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DE9A23@SKYMB1.trustwave.com> Message-ID: <20140120145613.GA31242@redhat.com> * Efrat Lefeber [2014-01-20 09:42]: > How does the IcedTea-web plugin decide if to run java 6 or java 7? > > Or does icedctea-7-plugin run only java 7 and all applets on older java version > run on java 7? > > It depends on which options it was compiled with. On Fedora for example, it will always run with OpenJDK7. Deepak > > > ??????????????????????????????????????????????????????????????????????????????? > > This transmission may contain information that is privileged, confidential, and > /or exempt from disclosure under applicable law. If you are not the intended > recipient, you are hereby notified that any disclosure, copying, distribution, > or use of the information contained herein (including any reliance thereon) is > strictly prohibited. If you received this transmission in error, please > immediately contact the sender and destroy the material in its entirety, > whether in electronic or hard copy format. From jvanek at icedtea.classpath.org Mon Jan 20 07:17:48 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 20 Jan 2014 15:17:48 +0000 Subject: /hg/release/icedtea-web-1.4: Added Christmas splashscreen extens... Message-ID: changeset 2e5478f9c65a in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=2e5478f9c65a author: Jiri Vanek date: Mon Jan 20 15:26:06 2014 +0100 Added Christmas splashscreen extension. diffstat: ChangeLog | 20 + netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 24 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 2 + netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java | 257 ++++++++++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java | 63 ++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java | 75 ++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/SplashExtension.java | 52 ++ tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java | 1 + tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java | 20 +- 9 files changed, 501 insertions(+), 13 deletions(-) diffs (truncated from 668 to 500 lines): diff -r 91e191cac118 -r 2e5478f9c65a ChangeLog --- a/ChangeLog Tue Jan 07 10:12:17 2014 +0100 +++ b/ChangeLog Mon Jan 20 15:26:06 2014 +0100 @@ -1,3 +1,23 @@ +2014-01-20 Jiri Vanek + + Added Christmas splashscreen extension. + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: + base colors are derived from active extension. And extension is painted (if any) + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java: + same + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java: + extension valid in Christmas time, painting falling stars and dimming colors. + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java + provider of extension. Know only the Christmas one right now. + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java: + no op extension for no extension times + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/SplashExtension.java: + unfinished extension interface + * tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java: + and + * tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java: + adapted to current purposes + 2013-01-07 Adam Domurad Backport of Fix PR1271: icedtea-web does not handle javascript:-protocol URLs diff -r 91e191cac118 -r 2e5478f9c65a netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java --- a/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java Tue Jan 07 10:12:17 2014 +0100 +++ b/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java Mon Jan 20 15:26:06 2014 +0100 @@ -58,6 +58,7 @@ import net.sourceforge.jnlp.splashscreen.parts.BasicComponentSplashScreen; import net.sourceforge.jnlp.splashscreen.parts.InfoItem; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; +import net.sourceforge.jnlp.splashscreen.parts.extensions.ExtensionManager; import net.sourceforge.jnlp.util.ScreenFinder; public class BasePainter implements Observer { @@ -71,11 +72,11 @@ private int greyTextIncrment = 15; //how quickly is greyed web moving //colors protected static final Color TEA_LIVE_COLOR = new Color(205, 1, 3); - protected static final Color BACKGROUND_LIVE_COLOR = Color.white; + protected static final Color BACKGROUND_LIVE_COLOR = ExtensionManager.getExtension().getBackground(); protected static final Color TEA_LEAFS_STALKS_LIVE_COLOR = Color.black; - protected static final Color PLUGIN_LIVE_COLOR = Color.black; - protected static final Color WATER_LIVE_COLOR = new Color(80, 131, 160); - protected static final Color PLAIN_TEXT_LIVE_COLOR = Color.black; + protected static final Color PLUGIN_LIVE_COLOR = ExtensionManager.getExtension().getPluginTextColor(); + public static final Color WATER_LIVE_COLOR = new Color(80, 131, 160); + protected static final Color PLAIN_TEXT_LIVE_COLOR = ExtensionManager.getExtension().getTextColor(); protected Color teaColor; protected Color backgroundColor; protected Color teaLeafsStalksColor; @@ -224,6 +225,7 @@ this.master = master; setColors(); adjustForSize(master.getSplashWidth(), master.getSplashHeight()); + ExtensionManager.getExtension().adjustForSize(master.getSplashWidth(), master.getSplashHeight()); if (startAnimation) { startAnimationThreads(); } @@ -231,6 +233,7 @@ } public void increaseAnimationPosition() { + ExtensionManager.getExtension().animate(); animationsPosition += greyTextIncrment; } @@ -248,6 +251,7 @@ } if (showNiceTexts) { + ExtensionManager.getExtension().paint(g, this); paintNiceTexts(g2d); } else { paintPlainTexts(g2d); @@ -262,6 +266,7 @@ //enablings depends on fonts setEnablings(width, height, master.getVersion(), master.getInformationElement(), (Graphics2D) (master.getGraphics())); prerenderedStuff = prerenderStill(); + ExtensionManager.getExtension().adjustForSize(width, height); } private void setEnablings(int w, int h, String version, InformationElement ic, Graphics2D g2d) { @@ -543,6 +548,7 @@ @Override public void run() { + ExtensionManager.getExtension().animate(); master.repaint(); } }); @@ -550,4 +556,14 @@ ex.printStackTrace(); } } + + public Color getWaterColor() { + return waterColor; + } + + public Color getBackgroundColor() { + return backgroundColor; + } + + } diff -r 91e191cac118 -r 2e5478f9c65a netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java --- a/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java Tue Jan 07 10:12:17 2014 +0100 +++ b/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java Mon Jan 20 15:26:06 2014 +0100 @@ -48,6 +48,7 @@ import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.splashscreen.parts.BasicComponentSplashScreen; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; +import net.sourceforge.jnlp.splashscreen.parts.extensions.ExtensionManager; public final class ErrorPainter extends BasePainter { @@ -129,6 +130,7 @@ } if (super.showNiceTexts) { + ExtensionManager.getExtension().paint(g, this); paintNiceTexts(g2d); } else { paintPlainTexts(g2d); diff -r 91e191cac118 -r 2e5478f9c65a netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java Mon Jan 20 15:26:06 2014 +0100 @@ -0,0 +1,257 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ +package net.sourceforge.jnlp.splashscreen.parts.extensions; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Polygon; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import net.sourceforge.jnlp.splashscreen.impls.defaultsplashscreen2012.BasePainter; +import net.sourceforge.jnlp.splashscreen.impls.defaultsplashscreen2012.ErrorPainter; + +public class ChristmasExtension implements SplashExtension { + + @Override + public Color getBackground() { + return Color.black; + } + + @Override + public Color getTextColor() { + return Color.DARK_GRAY; + } + + @Override + public Color getPluginTextColor() { + return new Color(30, 30, 30); + } + + ChristmasExtension() { + this(0, 0); + } + private static final Random seed = new Random(); + private static final int avarege_star_width = 10; //stars will be 5-15 + private final int avarege_fall_speed = 4; //2-6 + private final int avarege_rotation_speed = 2; //1-3 + + private class Star { + + private int radiusX; + private int radiusY; + private int maxRadiusX; + private int maxRadiusY; + private int centerX; + private int centerY; + private final int fallSpeed; + private final boolean orientation; + private final int[] originalColor = new int[3]; + private final int[] color = new int[originalColor.length]; + private int direction; + private final boolean haveEight; + + public Star() { + createRadiuses(); + haveEight = seed.nextBoolean(); + this.centerX = seed.nextInt(w + 1); + this.centerY = seed.nextInt(h + 1); + this.fallSpeed = avarege_fall_speed / 2 + seed.nextInt(avarege_fall_speed / 2); + this.orientation = seed.nextBoolean(); + this.direction = -(avarege_rotation_speed / 2 + seed.nextInt(avarege_rotation_speed / 2)); + if (seed.nextInt(4) == 0) { + originalColor[0] = Color.yellow.getRed(); + originalColor[1] = Color.yellow.getGreen(); + originalColor[2] = Color.yellow.getBlue(); + } else { + originalColor[0] = BasePainter.WATER_LIVE_COLOR.getRed(); + originalColor[1] = BasePainter.WATER_LIVE_COLOR.getGreen(); + originalColor[2] = BasePainter.WATER_LIVE_COLOR.getBlue(); + } + } + + public void paint(Graphics g, Color forceColor1, Color forceColor2) { + Color c = g.getColor(); + if (forceColor1 == null || forceColor2 == null) { + g.setColor(new Color(color[0], color[1], color[2])); + } else { + g.setColor(ErrorPainter.interpolateColor(h, centerY, forceColor1, forceColor2)); + } + Polygon p = createPolygon(); + if (haveEight) { + int min1 = Math.min(radiusX, radiusY); + int min2 = min1 / 2; + g.fillRect(centerX - min2, centerY - min2, min1, min1); + } + g.fillPolygon(p); + g.setColor(c); + } + + private void animate() { + centerY += fallSpeed; + if (orientation) { + radiusX += direction; + if (radiusX <= -direction) { + direction = -direction; + radiusX = direction; + } + if (radiusX >= maxRadiusX) { + direction = -direction; + radiusX = maxRadiusX; + } + interpolateColors(radiusX, maxRadiusX); + } else { + radiusY += direction; + if (radiusY <= -direction) { + direction = -direction; + radiusY = direction; + } + if (radiusY >= maxRadiusY) { + direction = -direction; + radiusY = maxRadiusY; + } + interpolateColors(radiusY, maxRadiusY); + } + if (centerY > h + radiusX * 2 || centerY > h + radiusY * 2) { + createRadiuses(); + this.centerX = seed.nextInt(w + 1); + this.centerY = -radiusY * 2; + } + } + + private int createRadius() { + return avarege_star_width / 2 + seed.nextInt(avarege_star_width); + } + + private Polygon createPolygon() { + int min = Math.min(radiusX, radiusY) / 3; + Polygon p = new Polygon(); + p.addPoint(centerX - radiusX, centerY); + p.addPoint(centerX - min, centerY - min); + p.addPoint(centerX, centerY - radiusY); + p.addPoint(centerX + min, centerY - min); + p.addPoint(centerX + radiusX, centerY); + p.addPoint(centerX + min, centerY + min); + p.addPoint(centerX, centerY + radiusY); + p.addPoint(centerX - min, centerY + min); + return p; + } + + private void interpolateColors(int is, int max) { + for (int i = 0; i < originalColor.length; i++) { + int fadeMin; + if (centerY < 0) { + fadeMin = 0; + } else if (centerY > h) { + fadeMin = 255; + } else { + fadeMin = (int) ErrorPainter.interpol(h, centerY, 255, 0); //from white to black + } + int fadeMax; + if (centerY < 0) { + fadeMax = 0; + } else if (centerY > h) { + fadeMax = originalColor[i]; + } else { + fadeMax = (int) ErrorPainter.interpol(h, centerY, originalColor[i], 0); //from color tho black + } + color[i] = (int) ErrorPainter.interpol(max, is, fadeMin, fadeMax); + } + } + + private void createRadiuses() { + this.radiusX = createRadius(); + this.radiusY = radiusX; + switch (seed.nextInt(3)) { + case (0): + radiusX = radiusX + (2 * radiusX) / 3; + break; + case (1): + radiusY = radiusY + (2 * radiusY) / 3; + break; + case (2): + //noop + break; + } + maxRadiusX = radiusX; + maxRadiusY = radiusY; + } + } + private int w; + private int h; + private List stars = new ArrayList(50); + + ChristmasExtension(int w, int h) { + adjustForSize(w, h); + } + + @Override + public void paint(Graphics g, BasePainter b) { + for (ChristmasExtension.Star star : stars) { + Color forceColor1 = null; + Color forceColor2 = null; + if (b instanceof ErrorPainter){ + forceColor1 = b.getBackgroundColor(); + forceColor2 = b.getWaterColor(); + } + star.paint(g, forceColor1, forceColor2); + } + } + + @Override + public void animate() { + for (ChristmasExtension.Star star : stars) { + star.animate(); + + } + } + + @Override + public final void adjustForSize(int w, int h) { + this.w = w; + this.h = h; + int count = w / (2 * (avarege_star_width + 1)); + while (stars.size() > count) { + stars.remove(stars.size() - 1); + } + while (stars.size() < count) { + stars.add(new Star()); + + } + + } +} diff -r 91e191cac118 -r 2e5478f9c65a netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java Mon Jan 20 15:26:06 2014 +0100 @@ -0,0 +1,63 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ +package net.sourceforge.jnlp.splashscreen.parts.extensions; + +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +public class ExtensionManager { + + private static SplashExtension currentExtension; + + public static SplashExtension getExtension() { + if (currentExtension == null) { + if (areChristmas()) { + currentExtension = new ChristmasExtension(); + } else { + currentExtension = new NoExtension(); + } + } + return currentExtension; + } + + private static boolean areChristmas() { + Calendar c = new GregorianCalendar(); + c.setTime(new Date()); + return c.get(Calendar.DAY_OF_YEAR) > 350; + } +} diff -r 91e191cac118 -r 2e5478f9c65a netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java Mon Jan 20 15:26:06 2014 +0100 @@ -0,0 +1,75 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ +package net.sourceforge.jnlp.splashscreen.parts.extensions; + +import java.awt.Color; +import java.awt.Graphics; From jvanek at icedtea.classpath.org Mon Jan 20 07:18:13 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 20 Jan 2014 15:18:13 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 2dfc5a2fcbe8 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2dfc5a2fcbe8 author: Jiri Vanek date: Mon Jan 20 14:59:17 2014 +0100 Added support for system level linux logging changeset 87d3081ab573 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=87d3081ab573 author: Jiri Vanek date: Mon Jan 20 15:13:36 2014 +0100 Added Christmas splashscreen extension. diffstat: ChangeLog | 32 + netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java | 21 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 2 + netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java | 257 ++++++++++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java | 63 ++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java | 75 ++ netx/net/sourceforge/jnlp/splashscreen/parts/extensions/SplashExtension.java | 52 ++ netx/net/sourceforge/jnlp/util/logging/OutputController.java | 9 +- netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java | 21 +- plugin/icedteanp/IcedTeaPluginUtils.h | 13 + plugin/icedteanp/java/sun/applet/PluginDebug.java | 2 +- tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc | 42 +- tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java | 1 + tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java | 14 +- 14 files changed, 581 insertions(+), 23 deletions(-) diffs (truncated from 886 to 500 lines): diff -r 63f174527534 -r 87d3081ab573 ChangeLog --- a/ChangeLog Fri Jan 17 13:43:09 2014 -0500 +++ b/ChangeLog Mon Jan 20 15:13:36 2014 +0100 @@ -1,3 +1,35 @@ +2014-01-20 Jiri Vanek + + Added Christmas splashscreen extension. + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: + base colors are derived from active extension. And extension is painted (if any) + * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java: + same + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java: + extension valid in Christmas time, painting falling stars and dimming colors. + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java + provider of extension. Know only the Christmas one right now. + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java: + no op extension for no extension times + * netx/net/sourceforge/jnlp/splashscreen/parts/extensions/SplashExtension.java: + unfinished extension interface + * tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java: + and + * tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java: + adapted to current purposes + +2014-01-20 Jiri Vanek + + Added support for system level linux logging + * netx/net/sourceforge/jnlp/util/logging/OutputController.java: exclusive + handling for system critical *java* messages when system logging is on. + * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: implemented + call to logger + * plugin/icedteanp/IcedTeaPluginUtils.h: error messages logged to syslog + * plugin/icedteanp/java/sun/applet/PluginDebug.java: default messages + are now MESSAGE_DEBUG instead of ERROR_ALL + * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.c: adapted to system logging + 2014-01-17 Andrew Azores Added itweb-settings panel to explain custom policy files and allow diff -r 63f174527534 -r 87d3081ab573 netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java --- a/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java Fri Jan 17 13:43:09 2014 -0500 +++ b/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java Mon Jan 20 15:13:36 2014 +0100 @@ -62,6 +62,7 @@ import net.sourceforge.jnlp.splashscreen.parts.BasicComponentSplashScreen; import net.sourceforge.jnlp.splashscreen.parts.InfoItem; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; +import net.sourceforge.jnlp.splashscreen.parts.extensions.ExtensionManager; import net.sourceforge.jnlp.util.logging.OutputController; import net.sourceforge.jnlp.util.ScreenFinder; @@ -76,11 +77,11 @@ private int greyTextIncrment = 15; //how quickly is greyed web moving //colors protected static final Color TEA_LIVE_COLOR = new Color(205, 1, 3); - protected static final Color BACKGROUND_LIVE_COLOR = Color.white; + protected static final Color BACKGROUND_LIVE_COLOR = ExtensionManager.getExtension().getBackground(); protected static final Color TEA_LEAFS_STALKS_LIVE_COLOR = Color.black; - protected static final Color PLUGIN_LIVE_COLOR = Color.black; - protected static final Color WATER_LIVE_COLOR = new Color(80, 131, 160); - protected static final Color PLAIN_TEXT_LIVE_COLOR = Color.black; + protected static final Color PLUGIN_LIVE_COLOR = ExtensionManager.getExtension().getPluginTextColor(); + public static final Color WATER_LIVE_COLOR = new Color(80, 131, 160); + protected static final Color PLAIN_TEXT_LIVE_COLOR = ExtensionManager.getExtension().getTextColor(); protected Color teaColor; protected Color backgroundColor; protected Color teaLeafsStalksColor; @@ -237,6 +238,7 @@ this.master = master; setColors(); adjustForSize(master.getSplashWidth(), master.getSplashHeight()); + ExtensionManager.getExtension().adjustForSize(master.getSplashWidth(), master.getSplashHeight()); if (startAnimation) { startAnimationThreads(); } @@ -244,6 +246,7 @@ } public void increaseAnimationPosition() { + ExtensionManager.getExtension().animate(); animationsPosition += greyTextIncrment; } @@ -261,6 +264,7 @@ } if (showNiceTexts) { + ExtensionManager.getExtension().paint(g, this); paintNiceTexts(g2d); } else { paintPlainTexts(g2d); @@ -275,6 +279,7 @@ //enablings depends on fonts setEnablings(width, height, master.getVersion(), master.getInformationElement(), (Graphics2D) (master.getGraphics())); prerenderedStuff = prerenderStill(); + ExtensionManager.getExtension().adjustForSize(width, height); } private void setEnablings(int w, int h, String version, InformationElement ic, Graphics2D g2d) { @@ -567,6 +572,7 @@ @Override public void run() { + ExtensionManager.getExtension().animate(); master.repaint(); } }); @@ -583,7 +589,12 @@ return aboutOfset; } + public Color getWaterColor() { + return waterColor; + } + public Color getBackgroundColor() { + return backgroundColor; + } - } diff -r 63f174527534 -r 87d3081ab573 netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java --- a/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java Fri Jan 17 13:43:09 2014 -0500 +++ b/netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java Mon Jan 20 15:13:36 2014 +0100 @@ -48,6 +48,7 @@ import net.sourceforge.jnlp.runtime.Translator; import net.sourceforge.jnlp.splashscreen.parts.BasicComponentSplashScreen; import net.sourceforge.jnlp.splashscreen.parts.InformationElement; +import net.sourceforge.jnlp.splashscreen.parts.extensions.ExtensionManager; import net.sourceforge.jnlp.util.logging.OutputController; public final class ErrorPainter extends BasePainter { @@ -130,6 +131,7 @@ } if (super.showNiceTexts) { + ExtensionManager.getExtension().paint(g, this); paintNiceTexts(g2d); } else { paintPlainTexts(g2d); diff -r 63f174527534 -r 87d3081ab573 netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ChristmasExtension.java Mon Jan 20 15:13:36 2014 +0100 @@ -0,0 +1,257 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ +package net.sourceforge.jnlp.splashscreen.parts.extensions; + +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Polygon; +import java.util.ArrayList; +import java.util.List; +import java.util.Random; +import net.sourceforge.jnlp.splashscreen.impls.defaultsplashscreen2012.BasePainter; +import net.sourceforge.jnlp.splashscreen.impls.defaultsplashscreen2012.ErrorPainter; + +public class ChristmasExtension implements SplashExtension { + + @Override + public Color getBackground() { + return Color.black; + } + + @Override + public Color getTextColor() { + return Color.DARK_GRAY; + } + + @Override + public Color getPluginTextColor() { + return new Color(30, 30, 30); + } + + ChristmasExtension() { + this(0, 0); + } + private static final Random seed = new Random(); + private static final int avarege_star_width = 10; //stars will be 5-15 + private final int avarege_fall_speed = 4; //2-6 + private final int avarege_rotation_speed = 2; //1-3 + + private class Star { + + private int radiusX; + private int radiusY; + private int maxRadiusX; + private int maxRadiusY; + private int centerX; + private int centerY; + private final int fallSpeed; + private final boolean orientation; + private final int[] originalColor = new int[3]; + private final int[] color = new int[originalColor.length]; + private int direction; + private final boolean haveEight; + + public Star() { + createRadiuses(); + haveEight = seed.nextBoolean(); + this.centerX = seed.nextInt(w + 1); + this.centerY = seed.nextInt(h + 1); + this.fallSpeed = avarege_fall_speed / 2 + seed.nextInt(avarege_fall_speed / 2); + this.orientation = seed.nextBoolean(); + this.direction = -(avarege_rotation_speed / 2 + seed.nextInt(avarege_rotation_speed / 2)); + if (seed.nextInt(4) == 0) { + originalColor[0] = Color.yellow.getRed(); + originalColor[1] = Color.yellow.getGreen(); + originalColor[2] = Color.yellow.getBlue(); + } else { + originalColor[0] = BasePainter.WATER_LIVE_COLOR.getRed(); + originalColor[1] = BasePainter.WATER_LIVE_COLOR.getGreen(); + originalColor[2] = BasePainter.WATER_LIVE_COLOR.getBlue(); + } + } + + public void paint(Graphics g, Color forceColor1, Color forceColor2) { + Color c = g.getColor(); + if (forceColor1 == null || forceColor2 == null) { + g.setColor(new Color(color[0], color[1], color[2])); + } else { + g.setColor(ErrorPainter.interpolateColor(h, centerY, forceColor1, forceColor2)); + } + Polygon p = createPolygon(); + if (haveEight) { + int min1 = Math.min(radiusX, radiusY); + int min2 = min1 / 2; + g.fillRect(centerX - min2, centerY - min2, min1, min1); + } + g.fillPolygon(p); + g.setColor(c); + } + + private void animate() { + centerY += fallSpeed; + if (orientation) { + radiusX += direction; + if (radiusX <= -direction) { + direction = -direction; + radiusX = direction; + } + if (radiusX >= maxRadiusX) { + direction = -direction; + radiusX = maxRadiusX; + } + interpolateColors(radiusX, maxRadiusX); + } else { + radiusY += direction; + if (radiusY <= -direction) { + direction = -direction; + radiusY = direction; + } + if (radiusY >= maxRadiusY) { + direction = -direction; + radiusY = maxRadiusY; + } + interpolateColors(radiusY, maxRadiusY); + } + if (centerY > h + radiusX * 2 || centerY > h + radiusY * 2) { + createRadiuses(); + this.centerX = seed.nextInt(w + 1); + this.centerY = -radiusY * 2; + } + } + + private int createRadius() { + return avarege_star_width / 2 + seed.nextInt(avarege_star_width); + } + + private Polygon createPolygon() { + int min = Math.min(radiusX, radiusY) / 3; + Polygon p = new Polygon(); + p.addPoint(centerX - radiusX, centerY); + p.addPoint(centerX - min, centerY - min); + p.addPoint(centerX, centerY - radiusY); + p.addPoint(centerX + min, centerY - min); + p.addPoint(centerX + radiusX, centerY); + p.addPoint(centerX + min, centerY + min); + p.addPoint(centerX, centerY + radiusY); + p.addPoint(centerX - min, centerY + min); + return p; + } + + private void interpolateColors(int is, int max) { + for (int i = 0; i < originalColor.length; i++) { + int fadeMin; + if (centerY < 0) { + fadeMin = 0; + } else if (centerY > h) { + fadeMin = 255; + } else { + fadeMin = (int) ErrorPainter.interpol(h, centerY, 255, 0); //from white to black + } + int fadeMax; + if (centerY < 0) { + fadeMax = 0; + } else if (centerY > h) { + fadeMax = originalColor[i]; + } else { + fadeMax = (int) ErrorPainter.interpol(h, centerY, originalColor[i], 0); //from color tho black + } + color[i] = (int) ErrorPainter.interpol(max, is, fadeMin, fadeMax); + } + } + + private void createRadiuses() { + this.radiusX = createRadius(); + this.radiusY = radiusX; + switch (seed.nextInt(3)) { + case (0): + radiusX = radiusX + (2 * radiusX) / 3; + break; + case (1): + radiusY = radiusY + (2 * radiusY) / 3; + break; + case (2): + //noop + break; + } + maxRadiusX = radiusX; + maxRadiusY = radiusY; + } + } + private int w; + private int h; + private List stars = new ArrayList(50); + + ChristmasExtension(int w, int h) { + adjustForSize(w, h); + } + + @Override + public void paint(Graphics g, BasePainter b) { + for (ChristmasExtension.Star star : stars) { + Color forceColor1 = null; + Color forceColor2 = null; + if (b instanceof ErrorPainter){ + forceColor1 = b.getBackgroundColor(); + forceColor2 = b.getWaterColor(); + } + star.paint(g, forceColor1, forceColor2); + } + } + + @Override + public void animate() { + for (ChristmasExtension.Star star : stars) { + star.animate(); + + } + } + + @Override + public final void adjustForSize(int w, int h) { + this.w = w; + this.h = h; + int count = w / (2 * (avarege_star_width + 1)); + while (stars.size() > count) { + stars.remove(stars.size() - 1); + } + while (stars.size() < count) { + stars.add(new Star()); + + } + + } +} diff -r 63f174527534 -r 87d3081ab573 netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/ExtensionManager.java Mon Jan 20 15:13:36 2014 +0100 @@ -0,0 +1,63 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under + terms of your choice, provided that you also meet, for each linked + independent module, the terms and conditions of the license of that + module. An independent module is a module which is not derived from + or based on this library. If you modify this library, you may extend + this exception to your version of the library, but you are not + obligated to do so. If you do not wish to do so, delete this + exception statement from your version. */ +package net.sourceforge.jnlp.splashscreen.parts.extensions; + +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +public class ExtensionManager { + + private static SplashExtension currentExtension; + + public static SplashExtension getExtension() { + if (currentExtension == null) { + if (areChristmas()) { + currentExtension = new ChristmasExtension(); + } else { + currentExtension = new NoExtension(); + } + } + return currentExtension; + } + + private static boolean areChristmas() { + Calendar c = new GregorianCalendar(); + c.setTime(new Date()); + return c.get(Calendar.DAY_OF_YEAR) > 350; + } +} diff -r 63f174527534 -r 87d3081ab573 netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/splashscreen/parts/extensions/NoExtension.java Mon Jan 20 15:13:36 2014 +0100 @@ -0,0 +1,75 @@ +/* + Copyright (C) 2012 Red Hat, Inc. + + This file is part of IcedTea. + + IcedTea is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + IcedTea 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 for more details. + + You should have received a copy of the GNU General Public License + along with IcedTea; see the file COPYING. If not, write to the + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301 USA. + + Linking this library statically or dynamically with other modules is + making a combined work based on this library. Thus, the terms and + conditions of the GNU General Public License cover the whole + combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent + modules, and to copy and distribute the resulting executable under From aazores at redhat.com Mon Jan 20 07:27:45 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 20 Jan 2014 10:27:45 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52CEF350.8090704@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> Message-ID: <52DD4071.6010801@redhat.com> On 01/09/2014 02:06 PM, Andrew Azores wrote: > On 01/09/2014 11:17 AM, Andrew Azores wrote: >> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>> Updated PR1592 tests, using a custom reproducer rather than split >>> simple/signed. This allows method calls to be made in the normal way >>> as well as via reflection. JNLP includes both applications and >>> applets now, and they close properly as well. >>> >>> (snip) >>> >>> Thanks, >>> Andrew A >> >> Went back over this and realized one of the tests was written wrong. >> The assertAccessControlException helper method in the testcase file >> is now a little stricter about the type of AccessControlException (so >> that the exceptions due to applets not being allowed to call >> System.exit don't falsely fulfill this assertion), and >> MixedSigningAppletHelper.attackDoPrivileged now properly calls >> MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it >> should have been doing. In this case, the Unsigned JAR actually *is* >> meant to be able to retrieve data from the Signed JAR (as is the >> point of the AccessController.doPrivileged call), so the testcases >> now expect this test to successfully read from System.getProperty, >> rather than receive an AccessControlException. However, the tests >> still verify that in situations where the Signed JAR has a method >> call that involves a privileged action *without* being placed inside >> a doPrivileged call, an AccessControlException will be thrown if the >> Unsigned code attempts to access it, as expected. >> >> Thanks, >> > > Sorry, please ignore the previous patch. The extra changes were not > made based on the most recent other changes. Attached are the properly > rebased patches, also split into three as they were originally. > > Thanks, > Ping? Thanks, -- Andrew A From jvanek at redhat.com Mon Jan 20 08:07:08 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 20 Jan 2014 17:07:08 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52CEF350.8090704@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> Message-ID: <52DD49AC.4020706@redhat.com> On 01/09/2014 08:06 PM, Andrew Azores wrote: > On 01/09/2014 11:17 AM, Andrew Azores wrote: >> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows >>> method calls to be made in the normal way as well as via reflection. JNLP includes both >>> applications and applets now, and they close properly as well. >>> >>> (snip) >>> >>> Thanks, >>> Andrew A >> >> Went back over this and realized one of the tests was written wrong. The >> assertAccessControlException helper method in the testcase file is now a little stricter about the >> type of AccessControlException (so that the exceptions due to applets not being allowed to call >> System.exit don't falsely fulfill this assertion), and MixedSigningAppletHelper.attackDoPrivileged >> now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it should >> have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve data >> from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the testcases >> now expect this test to successfully read from System.getProperty, rather than receive an >> AccessControlException. However, the tests still verify that in situations where the Signed JAR >> has a method call that involves a privileged action *without* being placed inside a doPrivileged >> call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as >> expected. >> >> Thanks, >> > > Sorry, please ignore the previous patch. The extra changes were not made based on the most recent > other changes. Attached are the properly rebased patches, also split into three as they were > originally. > > Thanks, > Thanx for ping. There is really many of jnlps which are nearly similar. Maybe better idea can be to have one template, and generate all the rest from it? I altready did this - and generated them ion BeforeClass. What do you think? From aazores at redhat.com Mon Jan 20 08:17:56 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 20 Jan 2014 11:17:56 -0500 Subject: [icedtea-web] "Not All Signed" dialog and low-security setting In-Reply-To: <1625839024.9054573.1387812494432.JavaMail.root@redhat.com> References: <527BEE4C.5030005@redhat.com> <527F66A7.7030103@redhat.com> <52825386.1070608@redhat.com> <529E010D.70406@redhat.com> <529E4ED2.7090906@redhat.com> <529F5911.4030401@redhat.com> <52A0CEBC.40205@redhat.com> <52A5AF60.4020800@redhat.com> <1625839024.9054573.1387812494432.JavaMail.root@redhat.com> Message-ID: <52DD4C34.4070901@redhat.com> On 12/23/2013 10:28 AM, Andrew Azores wrote: > (snip) > > Again, using zimbra web interface today, so formatting might be weird. > > I have worked on this some more and added in the signer information etc. into the dialog, and also done a little bit of extra minor refactoring (changing type names). The subclassing is also done better now (I think) and has tests. Unfortunately it got very messy when I was working on all of this and splitting up the work, so I only have the end product all together as one monolithic patch :( however I do have some older versions that are split into pieces. So the attached patch file is the full thing, and the attached tgz contains the somewhat-out-of-date smaller pieces. I can't really split the full patch into smaller pieces very well because some of the different steps required working on the same files and even the same parts of the same files. > > So here we have the UnsignedApplet dialog being made abstract and having its name changed, and a subclass being introduced that takes its original name and brings back identical functionality. Then we have a new subclass introduced which is the PartiallySigned dialog, and methods and enum constants are added to facilitate the use of this. There is also a unit test that tests both of these subclasses and verifies that their implementations of the parent's abstract methods make sense. > > Thanks, > > Andrew A Update! I rebased this patch on latest head and fixed an issue where the new PartiallySigned dialog would appear along with the old "fully signed" dialog. I also split the patch up into some smaller units for ease of review, however they do all need to be applied at once for the result to actually be buildable. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: abstraction.patch Type: text/x-patch Size: 32183 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/bc8dc241/abstraction-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: new-dialog.patch Type: text/x-patch Size: 13785 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/bc8dc241/new-dialog-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: not-needed-anymore.patch Type: text/x-patch Size: 4974 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/bc8dc241/not-needed-anymore-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: renames.patch Type: text/x-patch Size: 30179 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/bc8dc241/renames-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: tests.patch Type: text/x-patch Size: 6416 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/bc8dc241/tests-0001.patch From jvanek at icedtea.classpath.org Mon Jan 20 09:28:30 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 20 Jan 2014 17:28:30 +0000 Subject: /hg/icedtea-web: Invalid url exception from About dialogue moved... Message-ID: changeset c125ee7b6759 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c125ee7b6759 author: Jiri Vanek date: Mon Jan 20 18:28:16 2014 +0100 Invalid url exception from About dialogue moved to be debug only diffstat: netx/net/sourceforge/jnlp/about/HTMLPanel.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 87d3081ab573 -r c125ee7b6759 netx/net/sourceforge/jnlp/about/HTMLPanel.java --- a/netx/net/sourceforge/jnlp/about/HTMLPanel.java Mon Jan 20 15:13:36 2014 +0100 +++ b/netx/net/sourceforge/jnlp/about/HTMLPanel.java Mon Jan 20 18:28:16 2014 +0100 @@ -62,7 +62,7 @@ pane = new JEditorPane(url); } catch (IOException ex) { //no need to have invalid url fatal - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ex); + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, ex); } pane.setContentType("text/html"); pane.setEditable(false); From andrew at icedtea.classpath.org Mon Jan 20 10:27:02 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 20 Jan 2014 18:27:02 +0000 Subject: /hg/release/icedtea6-1.11: 4 new changesets Message-ID: changeset 38e2c5cb8310 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=38e2c5cb8310 author: Andrew John Hughes date: Thu Sep 19 16:58:11 2013 +0100 Fail if a C++ compiler is not installed. 2013-09-19 Andrew John Hughes * configure.ac: Check if CXX gets set and fail if not. changeset c9ac092141ed in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=c9ac092141ed author: Andrew John Hughes date: Thu Sep 19 17:00:58 2013 +0100 Also fail if the C compiler is not found. 2013-09-19 Andrew John Hughes * configure.ac: Check if CC gets set and fail if not. changeset cb0efad69ad3 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=cb0efad69ad3 author: Andrew John Hughes date: Mon Jan 20 18:08:49 2014 +0000 D729448: 32-bit alignment on mips and mipsel 2013-11-21 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/d729448-32_bit_alignment.patch: Fix alignment on mips and mipsel. changeset a083335563ec in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=a083335563ec author: Andrew John Hughes date: Mon Jan 20 18:26:44 2014 +0000 8027837: Generate CORBA sources before building code that depends on it. 2014-01-20 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/openjdk/8027837-corba_build_dependency.patch: Generate sources before building code that depends on them. diffstat: ChangeLog | 25 ++++++++++ Makefile.am | 4 +- configure.ac | 7 ++ patches/d729448-32_bit_alignment.patch | 47 ++++++++++++++++++++ patches/openjdk/8027837-corba_build_dependency.patch | 21 ++++++++ 5 files changed, 103 insertions(+), 1 deletions(-) diffs (140 lines): diff -r c982036ea4b3 -r a083335563ec ChangeLog --- a/ChangeLog Mon Jan 20 08:52:16 2014 +0000 +++ b/ChangeLog Mon Jan 20 18:26:44 2014 +0000 @@ -1,3 +1,28 @@ +2014-01-20 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * patches/openjdk/8027837-corba_build_dependency.patch: + Generate sources before building code that depends + on them. + +2013-11-21 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * patches/d729448-32_bit_alignment.patch: + Fix alignment on mips and mipsel. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CC gets set and fail if not. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CXX gets set and fail if not. + 2013-08-28 Andrew John Hughes * Makefile.am: diff -r c982036ea4b3 -r a083335563ec Makefile.am --- a/Makefile.am Mon Jan 20 08:52:16 2014 +0000 +++ b/Makefile.am Mon Jan 20 18:26:44 2014 +0000 @@ -813,7 +813,9 @@ patches/openjdk/6980681-corba_deadlock.patch \ patches/openjdk/7162902-corba_fixes.patch \ patches/traceable.patch \ - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch + patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ + patches/d729448-32_bit_alignment.patch \ + patches/openjdk/8027837-corba_build_dependency.patch if WITH_RHINO ICEDTEA_PATCHES += \ diff -r c982036ea4b3 -r a083335563ec configure.ac --- a/configure.ac Mon Jan 20 08:52:16 2014 +0000 +++ b/configure.ac Mon Jan 20 18:26:44 2014 +0000 @@ -16,7 +16,14 @@ AC_PREFIX_DEFAULT([bootstrap]) AC_PROG_CC +if test "x$CC" = x; then + AC_MSG_ERROR([No C compiler found.]) +fi + AC_PROG_CXX +if test "x$CXX" = x; then + AC_MSG_ERROR([No C++ compiler found.]) +fi IT_FIND_TOOL([MAKE], [make]) IT_FIND_TOOL([GZIP], [gzip]) diff -r c982036ea4b3 -r a083335563ec patches/d729448-32_bit_alignment.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/d729448-32_bit_alignment.patch Mon Jan 20 18:26:44 2014 +0000 @@ -0,0 +1,47 @@ +# HG changeset patch +# User andrew +# Date 1384967615 0 +# Wed Nov 20 17:13:35 2013 +0000 +# Node ID 05b64403a1917ddd9e0dd3880a5707e083ed9aba +# Parent 9d01164b2dfc36fb13984cb0854b2c7a9e4dbfbe +D729448: 32-bit alignment on mips and mipsel + +diff -r 9d01164b2dfc -r 05b64403a191 src/share/vm/interpreter/bytecodeInterpreter.hpp +--- openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Tue Nov 12 17:58:35 2013 +0000 ++++ openjdk/hotspot/src/share/vm/interpreter/bytecodeInterpreter.hpp Wed Nov 20 17:13:35 2013 +0000 +@@ -60,7 +60,16 @@ + jlong l; + jdouble d; + uint32_t v[2]; +-}; ++} ++#ifndef _LP64 ++ /* Hotspot only aligns the union to the uintptr_t type, that is 32 bit ++ on a 32-bit CPU. Accesses to double values should be 64-bit aligned ++ on at least MIPS and SPARC. Declare it to GCC for all 32-bit CPUs, ++ as it might also help GCC to select the best instruction on other ++ CPUs. */ ++ __attribute__ ((packed, aligned (4))) ++#endif ++; + + + typedef class BytecodeInterpreter* interpreterState; +@@ -172,7 +181,16 @@ + jlong l; + jdouble d; + uint32_t v[2]; +-}; ++} ++#ifndef _LP64 ++ /* Hotspot only aligns the union to the uintptr_t type, that is 32 bit ++ on a 32-bit CPU. Accesses to double values should be 64-bit aligned ++ on at least MIPS and SPARC. Declare it to GCC for all 32-bit CPUs, ++ as it might also help GCC to select the best instruction on other ++ CPUs. */ ++ __attribute__ ((packed, aligned (4))) ++#endif ++; + + /* + * Generic 32-bit wide "Java slot" definition. This type occurs diff -r c982036ea4b3 -r a083335563ec patches/openjdk/8027837-corba_build_dependency.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/8027837-corba_build_dependency.patch Mon Jan 20 18:26:44 2014 +0000 @@ -0,0 +1,21 @@ +# HG changeset patch +# User coffeys +# Date 1384185131 0 +# Mon Nov 11 15:52:11 2013 +0000 +# Node ID c93c49524d58fd6f38b07db2a54fc644c1327a5f +# Parent 295b9963b97f12c43209dbe212b475e835f0a7d0 +8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +Reviewed-by: dholmes + +diff -r 295b9963b97f -r c93c49524d58 make/Makefile +--- openjdk/corba/make/Makefile Fri Jan 17 23:21:27 2014 +0000 ++++ openjdk/corba/make/Makefile Mon Nov 11 15:52:11 2013 +0000 +@@ -158,7 +158,7 @@ + # + # CORBA + # +-SUBDIRS = tools javax org sun com ++SUBDIRS = tools sun/rmi javax org sun com + + build: + $(SUBDIRS-loop) From andrew at icedtea.classpath.org Mon Jan 20 10:36:56 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 20 Jan 2014 18:36:56 +0000 Subject: /hg/release/icedtea6-1.11: Update NEWS. Message-ID: changeset 526f393881d4 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=526f393881d4 author: Andrew John Hughes date: Mon Jan 20 18:36:40 2014 +0000 Update NEWS. 2014-01-20 Andrew John Hughes * NEWS: Updated. diffstat: ChangeLog | 4 ++++ NEWS | 13 +++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diffs (40 lines): diff -r a083335563ec -r 526f393881d4 ChangeLog --- a/ChangeLog Mon Jan 20 18:26:44 2014 +0000 +++ b/ChangeLog Mon Jan 20 18:36:40 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-20 Andrew John Hughes + + * NEWS: Updated. + 2014-01-20 Andrew John Hughes * Makefile.am: diff -r a083335563ec -r 526f393881d4 NEWS --- a/NEWS Mon Jan 20 18:26:44 2014 +0000 +++ b/NEWS Mon Jan 20 18:36:40 2014 +0000 @@ -44,14 +44,23 @@ - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up -* Bug fixes - - S8026826: JDK 7 fix for 8010935 broke the build * Backports - S6763340: memory leak in com.sun.corba.se.* classes - S6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 + - S6893617: JDK 6 CNCtx always uses the default ORB - S6980681: CORBA deadlock in Java SE believed to be related to CR 6238477 - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8 + - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - D729448: 32-bit alignment on mips and mipsel + - Fail if a C and C++ compiler are not detected. + - Only copy tz.properties if the destination directory exists. + - Fix GenerateBreakIteratorData tool so that crashes have stack traces. + - Fix path in nss-not-enabled-config.patch. +* SystemTap support: + - Add garbage collection dtrace/SystemTap probes to HotSpot. New in release 1.11.14 (2013-11-13): From aazores at redhat.com Mon Jan 20 11:50:47 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 20 Jan 2014 14:50:47 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DD161E.4020901@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> Message-ID: <52DD7E17.2070901@redhat.com> On 01/20/2014 07:27 AM, Jiri Vanek wrote: > On 01/17/2014 10:08 PM, Andrew Azores wrote: >> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>> This is why I was launching PolicyTool in a new process in the >>>> first place, actually. In all its >>>> wisdom, PolicyTool exits the JVM when its window closes. >>> >>> It should not be so hard - >>> By refelction get 'tw' field, and remove the only (nasty words) >>> WindowListener it have - the one >>> responsible for system.exit and nothing else:-/ >>> >>> Unluckily, this listener is added in >>> PolicyTool.main in tw.displayToolWindow(args); >>> >>> So you have to work on it a bit more. But again, nothing hard, and >>> no copy pasting;) >>> >>> Not sure if we will backport this, but probably yes.. Depends on >>> final compelxiity. >> >> 'tw' isn't a field though, it's just a local variable within main(), >> so we can't just grab it via >> reflection. >> >> I've got the hackiest hack ever with reflection to get around this, >> and it is *seriously* ugly. >> System.exit(0) is also called by PolicyTool indirectly in other >> places. I've removed the >> ToolWindowListener so that hitting the window close button on >> PolicyTool doesn't exit the JVM, but >> File>Exit still exits the JVM. This case comes from >> ToolDialog#userSaveContinue I believe, and I >> don't see a way to work around this, really. We're going to need to >> do some extend/override voodoo >> to get rid of this, unless we start introducing runtime code >> injection/modification in >> itweb-settings control panel :) either that, or get some patches into >> the JDK to fix PolicyTool. >> >> The attached patch is the super crazy ugly hack that at least makes >> the window close button behave >> nicely, but I feel like a monster for even having written this. Be >> warned. >> >> Oh, and try this - launch itweb-settings from terminal. Open >> policytool from itweb-settings. Close >> policytool with the window close button. Press Ok in itweb-settings. >> The itweb-settings process >> doesn't even exit! Wonderful! I'm not really sure what's keeping it >> open. >> >> Something else I noticed while testing this is that policytool >> prompts you if you want to save your >> changes if you select File>Exit, but simply closing the window does >> not prompt you. This is without >> the reflection patch applied. Ugh. PolicyTool is really in need of a >> serious overhaul... >> > > Ouch. See my reply to patch. Didn't see any mail, but we discussed on IRC. Here's a recap: - The reflection hack is horrible. It doesn't quite work, and it's super ugly. - The process not exiting is definitely a problem. We should not be playing around with reflection on the policytool like this. - Calling PolicyTool.main() directly breaks the automated build(?). We don't want to make it a build dep, and it's too minor to bother with a configure step/flag(?). - Solution: Runtime#exec() makes its return, with a fallback method of reflectively invoking PolicyTool.main() if for any reason the exec fails (non-POSIX system, executable not on PATH, etc) So here's a patch implementing this solution, with lots of extra added documentation. >>> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >>> Also please fix the closing of window asap (as new chngeset) >>> >>> >>> Good work! >>> J. >> >> 1.4 doesn't have DirectoryValidator... what should we do here then? >> Also backport >> DirectoryValidator? Or just let the 1.4 backport have less of a >> guarantee that the policy tool will >> be able to successfully launch, and try to provide useful errors if not? >> >> Thanks, >> > > Dependes on you. I'm for *not* backporting the directory validator, > and live with "maybe not readable file". But also I would just ensure > the parent dir creation. > > Thasnx! > > > J. > I'm also not in favour of backporting directory validator, not if this is the only thing that's going to be using it. I'll introduce the backport to 1.4 for this soon. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-exec-with-fallback.patch Type: text/x-patch Size: 12855 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/ccffd323/custompolicy-exec-with-fallback-0001.patch From aazores at redhat.com Mon Jan 20 12:11:57 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 20 Jan 2014 15:11:57 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DD7E17.2070901@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> Message-ID: <52DD830D.9000509@redhat.com> On 01/20/2014 02:50 PM, Andrew Azores wrote: > On 01/20/2014 07:27 AM, Jiri Vanek wrote: >> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>> (snip) >> >> Ouch. See my reply to patch. > > Didn't see any mail, but we discussed on IRC. Here's a recap: > - The reflection hack is horrible. It doesn't quite work, and it's > super ugly. > - The process not exiting is definitely a problem. We should not be > playing around with reflection on the policytool like this. > - Calling PolicyTool.main() directly breaks the automated build(?). We > don't want to make it a build dep, and it's too minor to bother with a > configure step/flag(?). > - Solution: Runtime#exec() makes its return, with a fallback method of > reflectively invoking PolicyTool.main() if for any reason the exec > fails (non-POSIX system, executable not on PATH, etc) > > So here's a patch implementing this solution, with lots of extra added > documentation. > And this time with better respect for event dispatch thread, I hope. (thanks omajid) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-exec-with-fallback2.patch Type: text/x-patch Size: 13510 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/6c016399/custompolicy-exec-with-fallback2.patch From aazores at redhat.com Mon Jan 20 12:49:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 20 Jan 2014 15:49:36 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DD49AC.4020706@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> Message-ID: <52DD8BE0.1010806@redhat.com> On 01/20/2014 11:07 AM, Jiri Vanek wrote: > On 01/09/2014 08:06 PM, Andrew Azores wrote: >> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>> Updated PR1592 tests, using a custom reproducer rather than split >>>> simple/signed. This allows >>>> method calls to be made in the normal way as well as via >>>> reflection. JNLP includes both >>>> applications and applets now, and they close properly as well. >>>> >>>> (snip) >>>> >>>> Thanks, >>>> Andrew A >>> >>> Went back over this and realized one of the tests was written wrong. >>> The >>> assertAccessControlException helper method in the testcase file is >>> now a little stricter about the >>> type of AccessControlException (so that the exceptions due to >>> applets not being allowed to call >>> System.exit don't falsely fulfill this assertion), and >>> MixedSigningAppletHelper.attackDoPrivileged >>> now properly calls >>> MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it >>> should >>> have been doing. In this case, the Unsigned JAR actually *is* meant >>> to be able to retrieve data >>> from the Signed JAR (as is the point of the >>> AccessController.doPrivileged call), so the testcases >>> now expect this test to successfully read from System.getProperty, >>> rather than receive an >>> AccessControlException. However, the tests still verify that in >>> situations where the Signed JAR >>> has a method call that involves a privileged action *without* being >>> placed inside a doPrivileged >>> call, an AccessControlException will be thrown if the Unsigned code >>> attempts to access it, as >>> expected. >>> >>> Thanks, >>> >> >> Sorry, please ignore the previous patch. The extra changes were not >> made based on the most recent >> other changes. Attached are the properly rebased patches, also split >> into three as they were >> originally. >> >> Thanks, >> > > Thanx for ping. > There is really many of jnlps which are nearly similar. Maybe better > idea can be to have one template, and generate all the rest from it? > > I altready did this - and generated them ion BeforeClass. > > What do you think? I like this idea, but I didn't know we were okay with having reproducers do tricks like this ;) Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: generated-jnlp.patch Type: text/x-patch Size: 84386 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140120/9b23f8c9/generated-jnlp-0001.patch From gitne at gmx.de Mon Jan 20 15:19:21 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 21 Jan 2014 00:19:21 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DD161E.4020901@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> Message-ID: <52DDAEF9.6050403@gmx.de> On 01/20/2014 01:27 PM, Jiri Vanek wrote: > On 01/17/2014 10:08 PM, Andrew Azores wrote: >> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>> [...] >>> Not sure if we will backport this, but probably yes.. Depends on final >>> compelxiity. >> [...] >>> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >>> Also please fix the closing of window asap (as new chngeset) >> >> 1.4 doesn't have DirectoryValidator... what should we do here then? Also backport >> DirectoryValidator? Or just let the 1.4 backport have less of a guarantee that >> the policy tool will >> be able to successfully launch, and try to provide useful errors if not? > > Dependes on you. I'm for *not* backporting the directory validator, and live > with "maybe not readable file". But also I would just ensure the parent dir > creation. :-o Nooooo, please do not backport this! It is actually a new feature, so it should rather go into the next minor version release. Jacob From bugzilla-daemon at icedtea.classpath.org Tue Jan 21 00:42:02 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 21 Jan 2014 08:42:02 +0000 Subject: [Bug 1651] New: jvm crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1651 Bug ID: 1651 Summary: jvm crash Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: critical Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: francesco.dalpra at tiscali.it CC: unassigned at icedtea.classpath.org Created attachment 1011 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1011&action=edit jvm crash report when i start java command this fails # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0xb76f8a73, pid=2769, tid=3066030912 # # JRE version: 6.0_27-b27 # Java VM: OpenJDK Client VM (20.0-b12 mixed mode linux-x86 ) # Derivative: IcedTea6 1.12.7 # Distribution: Built on NAME=Gentoo (Sun Dec 1 23:44:57 CET 2013) # Problematic frame: # C [libc.so.6+0x132a73] __nss_passwd_lookup+0x403 # # An error report file with more information is saved as: # /home/fra/hs_err_pid2769.log # # If you would like to submit a bug report, please include # instructions how to reproduce the bug and visit: # http://icedtea.classpath.org/bugzilla # Aborted System info - Guest on Virtualbox 4.3.6 r91406 - Linux N00LL985S3 3.12.6-gentoo #4 SMP Fri Jan 3 14:48:25 CET 2014 i686 Intel(R) Core(TM) i5 CPU 650 @ 3.20GHz GenuineIntel GNU/Linux -gcc Using built-in specs. COLLECT_GCC=/usr/i686-pc-linux-gnu/gcc-bin/4.8.1/gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i686-pc-linux-gnu/4.8.1/lto-wrapper Target: i686-pc-linux-gnu Configured with: ../gcc-4.8.1/configure --disable-libssp --disable-multilib --enable-version-specific-runtime-libs --enable-libmudflap --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.8.1 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.1/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.1 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.1/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.8.1/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.8.1/include/g++-v4.8 --enable-__cxa_atexit --enable-clocale=gnu --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-ppl --disable-cloog --with-system-zlib --enable-obsolete --disable-werror --enable-secureplt --disable-lto --with-bugurl=http://bugs.funtoo.org --with-pkgversion='Funtoo 4.8.1-r3' --with-mpfr-include=/var/tmp/portage/sys-devel/gcc-4.8.1-r3/work/gcc-4.8.1/mpfr/src --with-mpfr-lib=/var/tmp/portage/sys-devel/gcc-4.8.1-r3/work/objdir/mpfr/src/.libs --enable-libstdcxx-time --disable-libquadmath --enable-libgomp --enable-languages=c,c++ --disable-libgcj --disable-esp Thread model: posix gcc version 4.8.1 (Funtoo 4.8.1-r3) - libc sys-libs/glibc-2.18:2.2 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140121/8c77ed7c/attachment.html From jvanek at redhat.com Tue Jan 21 03:16:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 21 Jan 2014 12:16:29 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DD8BE0.1010806@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> Message-ID: <52DE570D.7010203@redhat.com> On 01/20/2014 09:49 PM, Andrew Azores wrote: > On 01/20/2014 11:07 AM, Jiri Vanek wrote: >> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows >>>>> method calls to be made in the normal way as well as via reflection. JNLP includes both >>>>> applications and applets now, and they close properly as well. >>>>> >>>>> (snip) >>>>> >>>>> Thanks, >>>>> Andrew A >>>> >>>> Went back over this and realized one of the tests was written wrong. The >>>> assertAccessControlException helper method in the testcase file is now a little stricter about the >>>> type of AccessControlException (so that the exceptions due to applets not being allowed to call >>>> System.exit don't falsely fulfill this assertion), and MixedSigningAppletHelper.attackDoPrivileged >>>> now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it should >>>> have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve data >>>> from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the testcases >>>> now expect this test to successfully read from System.getProperty, rather than receive an >>>> AccessControlException. However, the tests still verify that in situations where the Signed JAR >>>> has a method call that involves a privileged action *without* being placed inside a doPrivileged >>>> call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as >>>> expected. >>>> >>>> Thanks, >>>> >>> >>> Sorry, please ignore the previous patch. The extra changes were not made based on the most recent >>> other changes. Attached are the properly rebased patches, also split into three as they were >>> originally. >>> >>> Thanks, >>> >> >> Thanx for ping. >> There is really many of jnlps which are nearly similar. Maybe better idea can be to have one template, and generate all the rest from it? >> >> I altready did this - and generated them ion BeforeClass. >> >> What do you think? > > I like this idea, but I didn't know we were okay with having reproducers do tricks like this ;) > > Thanks, > On seriosu flaw: you have "private static final ServerAccess server = new ServerAccess();" declard. by this you are owerwritting the one in BrowserTest, so no browser test will work, and wil fial 'can not lunch unset browser". Just remove this line. Also - non of the jnlp have security element specified. It i s intentional?? I thought it was an reason for this test to be redone. After fixed first, and explined second, ok to head. J. From jvanek at redhat.com Tue Jan 21 03:25:13 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 21 Jan 2014 12:25:13 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DD830D.9000509@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> Message-ID: <52DE5919.3030900@redhat.com> On 01/20/2014 09:11 PM, Andrew Azores wrote: > On 01/20/2014 02:50 PM, Andrew Azores wrote: >> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>> (snip) >>> >>> Ouch. See my reply to patch. >> >> Didn't see any mail, but we discussed on IRC. Here's a recap: >> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >> - The process not exiting is definitely a problem. We should not be playing around with reflection on the policytool like this. >> - Calling PolicyTool.main() directly breaks the automated build(?). We don't want to make it a build dep, and it's too minor to bother with a configure step/flag(?). >> - Solution: Runtime#exec() makes its return, with a fallback method of reflectively invoking PolicyTool.main() if for any reason the exec fails (non-POSIX system, executable not on PATH, etc) >> >> So here's a patch implementing this solution, with lots of extra added documentation. >> > > And this time with better respect for event dispatch thread, I hope. (thanks omajid) > > Thanks, Only one *the* nit :) > /** > + * We do this so we can asynchronously monitor the exit status of the policytool process. > + * If it fails immediately and we need to fall back to using reflectivePolicyToolLaunch, > + * then the Thread spawned here is very short lived. However, if the policytool process > + * successfully launches, then it takes some unknown amount of time before it closes > + * again. We do not want to call waitFor() on the ptool process in the main thread > + * because this will cause the itweb-settings window to lock up. > + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear > + * @param filePath a {@link String} representing the path to the file to be opened > + * @throws IOException if an IOException occurs during the exec of the policytool process > + */ > + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { > + final String[] launchCommand = new String[] { "policytool", "-file", filePath }; > + new Thread(new Runnable() { > + @Override > + public void run() { > + try { > + final Process ptool = Runtime.getRuntime().exec(launchCommand); > + if (ptool.waitFor() != 0) { > + reflectivePolicyToolLaunch(filePath); > + } > + } catch (Exception e) { > + OutputController.getLogger().log(e); > + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); > + } > + } > + }).start(); > + } > + I would discourage you from this, By doing this you will lunch the main classed fallback even in case of failure in spawned jvm. I would go with: Integer lunched = null; ... if (lunched == null){ final Process ptool = Runtime.getRuntime().exec("policytool --help"); //it only prints somethig to stdou lunched = ptool.waitFor(); } if (lunched == null){ throw/log Something human readable or run fallback or whatewer} if (lunched ==0){run async proces} else {run fallback} otherwise ok! J. From aazores at redhat.com Tue Jan 21 06:43:07 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 09:43:07 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DE570D.7010203@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> Message-ID: <52DE877B.4010507@redhat.com> On 01/21/2014 06:16 AM, Jiri Vanek wrote: > On 01/20/2014 09:49 PM, Andrew Azores wrote: >> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>> Updated PR1592 tests, using a custom reproducer rather than split >>>>>> simple/signed. This allows >>>>>> method calls to be made in the normal way as well as via >>>>>> reflection. JNLP includes both >>>>>> applications and applets now, and they close properly as well. >>>>>> >>>>>> (snip) >>>>>> >>>>>> Thanks, >>>>>> Andrew A >>>>> >>>>> Went back over this and realized one of the tests was written >>>>> wrong. The >>>>> assertAccessControlException helper method in the testcase file is >>>>> now a little stricter about the >>>>> type of AccessControlException (so that the exceptions due to >>>>> applets not being allowed to call >>>>> System.exit don't falsely fulfill this assertion), and >>>>> MixedSigningAppletHelper.attackDoPrivileged >>>>> now properly calls >>>>> MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as >>>>> it should >>>>> have been doing. In this case, the Unsigned JAR actually *is* >>>>> meant to be able to retrieve data >>>>> from the Signed JAR (as is the point of the >>>>> AccessController.doPrivileged call), so the testcases >>>>> now expect this test to successfully read from System.getProperty, >>>>> rather than receive an >>>>> AccessControlException. However, the tests still verify that in >>>>> situations where the Signed JAR >>>>> has a method call that involves a privileged action *without* >>>>> being placed inside a doPrivileged >>>>> call, an AccessControlException will be thrown if the Unsigned >>>>> code attempts to access it, as >>>>> expected. >>>>> >>>>> Thanks, >>>>> >>>> >>>> Sorry, please ignore the previous patch. The extra changes were not >>>> made based on the most recent >>>> other changes. Attached are the properly rebased patches, also >>>> split into three as they were >>>> originally. >>>> >>>> Thanks, >>>> >>> >>> Thanx for ping. >>> There is really many of jnlps which are nearly similar. Maybe better >>> idea can be to have one template, and generate all the rest from it? >>> >>> I altready did this - and generated them ion BeforeClass. >>> >>> What do you think? >> >> I like this idea, but I didn't know we were okay with having >> reproducers do tricks like this ;) >> >> Thanks, >> > > > On seriosu flaw: you have "private static final ServerAccess server = > new ServerAccess();" declard. by this you are owerwritting the one in > BrowserTest, so no browser test will work, and wil fial 'can not lunch > unset browser". > Just remove this line. Oops, right. > > Also - non of the jnlp have security element specified. It i s > intentional?? I thought it was an reason for this test to be redone. > > After fixed first, and explined second, ok to head. > > J. http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html The JNLP spec seems a little bit ambiguous here - it seems to say that "All JARs must be signed" if requesting All-Permission, but doesn't explicitly say if full signing is required to be able to request permissions at all. But as I explained in that other thread, I think it's correct to use the security tag when you have full signing, and not correct to use it when you have partial signing. Thanks -- Andrew A From aazores at redhat.com Tue Jan 21 07:06:40 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 10:06:40 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DE5919.3030900@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> Message-ID: <52DE8D00.70807@redhat.com> On 01/21/2014 06:25 AM, Jiri Vanek wrote: > On 01/20/2014 09:11 PM, Andrew Azores wrote: >> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>> (snip) >>>> >>>> Ouch. See my reply to patch. >>> >>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>> - The reflection hack is horrible. It doesn't quite work, and it's >>> super ugly. >>> - The process not exiting is definitely a problem. We should not be >>> playing around with reflection on the policytool like this. >>> - Calling PolicyTool.main() directly breaks the automated build(?). >>> We don't want to make it a build dep, and it's too minor to bother >>> with a configure step/flag(?). >>> - Solution: Runtime#exec() makes its return, with a fallback method >>> of reflectively invoking PolicyTool.main() if for any reason the >>> exec fails (non-POSIX system, executable not on PATH, etc) >>> >>> So here's a patch implementing this solution, with lots of extra >>> added documentation. >>> >> >> And this time with better respect for event dispatch thread, I hope. >> (thanks omajid) >> >> Thanks, > > Only one *the* nit :) > > >> /** >> + * We do this so we can asynchronously monitor the exit status >> of the policytool process. >> + * If it fails immediately and we need to fall back to using >> reflectivePolicyToolLaunch, >> + * then the Thread spawned here is very short lived. However, if >> the policytool process >> + * successfully launches, then it takes some unknown amount of >> time before it closes >> + * again. We do not want to call waitFor() on the ptool process >> in the main thread >> + * because this will cause the itweb-settings window to lock up. >> + * @param frame a {@link JFrame} to act as parent to warning >> dialogs which may appear >> + * @param filePath a {@link String} representing the path to the >> file to be opened >> + * @throws IOException if an IOException occurs during the exec >> of the policytool process >> + */ >> + private static void policyToolLaunchHelper(final JFrame frame, >> final String filePath) { >> + final String[] launchCommand = new String[] { "policytool", >> "-file", filePath }; >> + new Thread(new Runnable() { >> + @Override >> + public void run() { >> + try { >> + final Process ptool = >> Runtime.getRuntime().exec(launchCommand); >> + if (ptool.waitFor() != 0) { >> + reflectivePolicyToolLaunch(filePath); >> + } >> + } catch (Exception e) { >> + OutputController.getLogger().log(e); >> + showCouldNotOpenFileDialog(frame, filePath, >> R("CPPolicyEditorNotFound")); >> + } >> + } >> + }).start(); >> + } >> + > > > I would discourage you from this, By doing this you will lunch the > main classed fallback even in case of failure in spawned jvm. > > I would go with: > > Integer lunched = null; > ... > if (lunched == null){ > final Process ptool = Runtime.getRuntime().exec("policytool --help"); > //it only prints somethig to stdou > lunched = ptool.waitFor(); > } > if (lunched == null){ throw/log Something human readable or run > fallback or whatewer} > if (lunched ==0){run async proces} else {run fallback} > > > otherwise ok! > > J. > > Well, the first null check seems useless if lunched isn't used anywhere else. Then, policytool doesn't actually accept anything except '-file' - it has no '-help' or '--help'-. So that process you're exec'ing always fails just about immediately with a non-zero (1) exit status. lunched will never be null after assigning ptool.waitFor() to it, unless some exception is thrown and handling logic is added, so the lunched == null case also seems useless. Then, lunched is always non-zero because there is no --help, so we never run async process to launch policytool properly with a -file, and always resort to fallback. *If* there was a --help switch which could be used to run policytool headless with a zero exit status, then this would all work nicely... :) Thanks, -- Andrew A From aazores at redhat.com Tue Jan 21 07:09:00 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 10:09:00 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DDAEF9.6050403@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> Message-ID: <52DE8D8C.4060803@redhat.com> On 01/20/2014 06:19 PM, Jacob Wisor wrote: > On 01/20/2014 01:27 PM, Jiri Vanek wrote: >> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>> [...] >>>> Not sure if we will backport this, but probably yes.. Depends on final >>>> compelxiity. >>> [...] >>>> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >>>> Also please fix the closing of window asap (as new chngeset) >>> >>> 1.4 doesn't have DirectoryValidator... what should we do here then? >>> Also backport >>> DirectoryValidator? Or just let the 1.4 backport have less of a >>> guarantee that >>> the policy tool will >>> be able to successfully launch, and try to provide useful errors if >>> not? >> >> Dependes on you. I'm for *not* backporting the directory validator, >> and live >> with "maybe not readable file". But also I would just ensure the >> parent dir >> creation. > > :-o Nooooo, please do not backport this! It is actually a new feature, > so it should rather go into the next minor version release. > > Jacob > I'd agree with you if there was actually any work done to support custom policies in the classloader or security manager or anything like that, but this is really just a minor cosmetic addition to the control panel. I think that's acceptable to backport (assuming no work to add support is required). Thanks, -- Andrew A From emailgrant at gmail.com Tue Jan 21 07:22:54 2014 From: emailgrant at gmail.com (Grant) Date: Tue, 21 Jan 2014 07:22:54 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <52D6AC0D.6090905@RedHat.Com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> Message-ID: >>> Hi Andrew, can you point me in the right direction with this? Here >>> are a couple errors I'm getting depending on compile options and >>> bootstrap VM: >>> >>> http://pastebin.com/VV3rMezP >>> http://pastebin.com/ThjufjyH >> >> This may be the bug that Chris Philips is working on. >> >> Chris? >> >> Andrew. >> > Neither of these look familiar (though I recollect some issues in the > cryptocheck > for other archs so it may be a generic failure...). > I am planning update the it7-head forest with latest arm32 stuff in near > future so it > might be better to await that event. (Near future ~ a week +/- ). > > Chris Hi Chris, I don't mean for this to be a bump, but a genuine offer to help. I need icedtea-7 on ARM for business so I would be happy to contribute monetarily. - Grant From gitne at gmx.de Tue Jan 21 08:29:59 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 21 Jan 2014 17:29:59 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DE8D8C.4060803@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> Message-ID: <52DEA087.8070108@gmx.de> On 01/21/2014 16:09, Andrew Azores wrote: > On 01/20/2014 06:19 PM, Jacob Wisor wrote: >> On 01/20/2014 01:27 PM, Jiri Vanek wrote: >>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>>> [...] >>>>> Not sure if we will backport this, but probably yes.. Depends on final >>>>> compelxiity. >>>> [...] >>>>> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >>>>> Also please fix the closing of window asap (as new chngeset) >>>> >>>> 1.4 doesn't have DirectoryValidator... what should we do here then? Also >>>> backport >>>> DirectoryValidator? Or just let the 1.4 backport have less of a guarantee that >>>> the policy tool will >>>> be able to successfully launch, and try to provide useful errors if not? >>> >>> Dependes on you. I'm for *not* backporting the directory validator, and live >>> with "maybe not readable file". But also I would just ensure the parent dir >>> creation. >> >> :-o Nooooo, please do not backport this! It is actually a new feature, so it >> should rather go into the next minor version release. >> >> Jacob >> > > I'd agree with you if there was actually any work done to support custom > policies in the classloader or security manager or anything like that, Right, there is none, so introducing that kind of or similar support is a topic of its own. From the user's (and design) perspective , it does not matter whether this additional "security feature" is implemented internally in the one way or the other. The effect is important. > but this > is really just a minor cosmetic addition to the control panel. I think that's > acceptable to backport (assuming no work to add support is required). It is beyond cosmetics. The gravity of added functionality in software engineering is not measured by the amount of buttons or what ever UI controls newly introduced to an existing UI. It is rather measured in the amount of *functionality* and the *consequences* there of, hence the effects. Jacob From aazores at redhat.com Tue Jan 21 08:52:20 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 11:52:20 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DEA087.8070108@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> <52DEA087.8070108@gmx.de> Message-ID: <52DEA5C4.30604@redhat.com> On 01/21/2014 11:29 AM, Jacob Wisor wrote: > On 01/21/2014 16:09, Andrew Azores wrote: >> On 01/20/2014 06:19 PM, Jacob Wisor wrote: >>> On 01/20/2014 01:27 PM, Jiri Vanek wrote: >>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>>>> [...] >>>>>> Not sure if we will backport this, but probably yes.. Depends on >>>>>> final >>>>>> compelxiity. >>>>> [...] >>>>>> ok. Ok to head, and please elaborate on backport to 1.4 it is >>>>>> worthy. >>>>>> Also please fix the closing of window asap (as new chngeset) >>>>> >>>>> 1.4 doesn't have DirectoryValidator... what should we do here >>>>> then? Also >>>>> backport >>>>> DirectoryValidator? Or just let the 1.4 backport have less of a >>>>> guarantee that >>>>> the policy tool will >>>>> be able to successfully launch, and try to provide useful errors >>>>> if not? >>>> >>>> Dependes on you. I'm for *not* backporting the directory validator, >>>> and live >>>> with "maybe not readable file". But also I would just ensure the >>>> parent dir >>>> creation. >>> >>> :-o Nooooo, please do not backport this! It is actually a new >>> feature, so it >>> should rather go into the next minor version release. >>> >>> Jacob >>> >> >> I'd agree with you if there was actually any work done to support custom >> policies in the classloader or security manager or anything like that, > > Right, there is none, so introducing that kind of or similar support > is a topic of its own. From the user's (and design) perspective , it > does not matter whether this additional "security feature" is > implemented internally in the one way or the other. The effect is > important. My point is that the support is already there. The security feature currently exists. The implementation is complete. There is no topic needed for the introduction of support, because that has already passed. > >> but this >> is really just a minor cosmetic addition to the control panel. I >> think that's >> acceptable to backport (assuming no work to add support is required). > > It is beyond cosmetics. The gravity of added functionality in software > engineering is not measured by the amount of buttons or what ever UI > controls newly introduced to an existing UI. It is rather measured in > the amount of *functionality* and the *consequences* there of, hence > the effects. > > Jacob This patch introduces no new functionality. PolicyTool already exists, as does the implementation making use of policies on the system. The only thing this patch does is add a button giving users an easy way to launch PolicyTool with the correct file path presupplied. Exactly which consequences are you talking about, here? I really do not see what negative impact there will be from adding one button to the control panel - a button that does absolutely nothing new other than provide a convenience. Thanks, -- Andrew A From gitne at gmx.de Tue Jan 21 08:54:39 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 21 Jan 2014 17:54:39 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DE5919.3030900@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> Message-ID: <52DEA64F.8080704@gmx.de> On 01/21/2014 12:25 AM, Jiri Vanek wrote: > On 01/20/2014 09:11 PM, Andrew Azores wrote: >> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>> (snip) >>>> >>>> [...] >>> >>> [...] >> >> [...] > > Only one *the* nit :) > > >> /** >> + * We do this so we can asynchronously monitor the exit status of the >> policytool process. >> + * If it fails immediately and we need to fall back to using >> reflectivePolicyToolLaunch, >> + * then the Thread spawned here is very short lived. However, if the >> policytool process >> + * successfully launches, then it takes some unknown amount of time >> before it closes >> + * again. We do not want to call waitFor() on the ptool process in the >> main thread >> + * because this will cause the itweb-settings window to lock up. >> + * @param frame a {@link JFrame} to act as parent to warning dialogs >> which may appear >> + * @param filePath a {@link String} representing the path to the file to >> be opened >> + * @throws IOException if an IOException occurs during the exec of the >> policytool process >> + */ >> + private static void policyToolLaunchHelper(final JFrame frame, final >> String filePath) { >> + final String[] launchCommand = new String[] { "policytool", "-file", >> filePath }; >> + new Thread(new Runnable() { >> + @Override >> + public void run() { >> + try { >> + final Process ptool = >> Runtime.getRuntime().exec(launchCommand); >> + if (ptool.waitFor() != 0) { You do realize that Process.waitFor() may never return and thus block the current thread indefinitely? So, either some other thread has to interrupt it and kill that sub process (or better yet, this thread's InterruptedException handler). Or, the sub process needs to be polled by Process.exitValue() after some timeout and then perhaps be Process.destroy()'ed. >> + reflectivePolicyToolLaunch(filePath); >> + } >> + } catch (Exception e) { I don't see any InterruptedException handling here, do I? Well, that's one reason why you should not "milly nilly" catch all exceptions into one handler. In case of an InterruptedException Process.destroy() should be called here. (head shake) :-( >> + OutputController.getLogger().log(e); >> + showCouldNotOpenFileDialog(frame, filePath, >> R("CPPolicyEditorNotFound")); >> + } >> + } >> + }).start(); >> + } >> + > > [...] Jacob From gitne at gmx.de Tue Jan 21 09:29:15 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 21 Jan 2014 18:29:15 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DEA5C4.30604@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> <52DEA087.8070108@gmx.de> <52DEA5C4.30604@redhat.com> Message-ID: <52DEAE6B.1010501@gmx.de> On 01/21/2014 05:52 PM, Andrew Azores wrote: > On 01/21/2014 11:29 AM, Jacob Wisor wrote: >> On 01/21/2014 04:09 PM, Andrew Azores wrote: >>> On 01/20/2014 06:19 PM, Jacob Wisor wrote: >>>> On 01/20/2014 01:27 PM, Jiri Vanek wrote: >>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>>>>> [...] >>>>>>> Not sure if we will backport this, but probably yes.. Depends on final >>>>>>> compelxiity. >>>>>> [...] >>>>>>> ok. Ok to head, and please elaborate on backport to 1.4 it is worthy. >>>>>>> Also please fix the closing of window asap (as new chngeset) >>>>>> >>>>>> 1.4 doesn't have DirectoryValidator... what should we do here then? Also >>>>>> backport >>>>>> DirectoryValidator? Or just let the 1.4 backport have less of a guarantee >>>>>> that >>>>>> the policy tool will >>>>>> be able to successfully launch, and try to provide useful errors if not? >>>>> >>>>> Dependes on you. I'm for *not* backporting the directory validator, and live >>>>> with "maybe not readable file". But also I would just ensure the parent dir >>>>> creation. >>>> >>>> :-o Nooooo, please do not backport this! It is actually a new feature, so it >>>> should rather go into the next minor version release. >>>> >>>> Jacob >>>> >>> >>> I'd agree with you if there was actually any work done to support custom >>> policies in the classloader or security manager or anything like that, >> >> Right, there is none, so introducing that kind of or similar support is a >> topic of its own. From the user's (and design) perspective , it does not >> matter whether this additional "security feature" is implemented internally in >> the one way or the other. The effect is important. > > My point is that the support is already there. The security feature currently > exists. The implementation is complete. There is no topic needed for the > introduction of support, because that has already passed. > >> >>> but this >>> is really just a minor cosmetic addition to the control panel. I think that's >>> acceptable to backport (assuming no work to add support is required). >> >> It is beyond cosmetics. The gravity of added functionality in software >> engineering is not measured by the amount of buttons or what ever UI controls >> newly introduced to an existing UI. It is rather measured in the amount of >> *functionality* and the *consequences* there of, hence the effects. >> >> Jacob > > This patch introduces no new functionality. PolicyTool already exists, as does > the implementation making use of policies on the system. The only thing this > patch does is add a button giving users an easy way to launch PolicyTool with > the correct file path presupplied. Exactly which consequences are you talking > about, here? I really do not see what negative impact there will be from adding > one button to the control panel - a button that does absolutely nothing new > other than provide a convenience. I am not talking about technical effects. I am talking about effects on support staff and admins. They may not be familiar with J2SE's policy system yet when their user's and customers start calling in for help. You know, it is not uncommon for large organizations that provide in-house support to have their staff (really, this does sometimes happen indeed!) trained for a specific set of applications and thus features. They truly rely on specific feature sets and incremental evolution of software. Of course, this feature will probably not generate as many support calls as resetting passwords, but lets not make those people's lives miserable by introducing effects that they assumed not to exist with the current minor version release. So please, just do all of us a favor and do not backport it. Believe me, I know what I am talking about. Jacob From omajid at redhat.com Tue Jan 21 09:51:57 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 21 Jan 2014 12:51:57 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DE570D.7010203@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> Message-ID: <20140121175157.GC4729@redhat.com> * Jiri Vanek [2014-01-21 06:27]: > On seriosu flaw: you have "private static final ServerAccess server = > new ServerAccess();" declard. by this you are owerwritting the one in > BrowserTest, so no browser test will work, and wil fial 'can not lunch > unset browser". That's not true. `server` is a static variable. It's not inherited [1]. Both `MixedSigningAppletSignedTests.server` and 'BrowserTest.server` exist and refer to different things. A piece of code will have to explicitly say `MixedSigningAppletSignedTests.server` to refer to the variable in `MixedSigningAppletSignedTests`. A piece of code invoking `BrowserTest.server` will get back the original object, not this 'inherited' one. Not sure if the variable `server` still needs to be defined in the class or not, but I just wanted to point out that it does not change the variable declared in the parent class. A question on style: why is the variable not `SERVER` instead of `server`. It's `final`, right? Thanks, Omair [1] http://stackoverflow.com/questions/17172033/java-and-inherited-static-members -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Tue Jan 21 10:10:06 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 13:10:06 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <20140121175157.GC4729@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <20140121175157.GC4729@redhat.com> Message-ID: <52DEB7FE.3020306@redhat.com> On 01/21/2014 12:51 PM, Omair Majid wrote: > * Jiri Vanek [2014-01-21 06:27]: >> On seriosu flaw: you have "private static final ServerAccess server = >> new ServerAccess();" declard. by this you are owerwritting the one in >> BrowserTest, so no browser test will work, and wil fial 'can not lunch >> unset browser". > That's not true. `server` is a static variable. It's not inherited [1]. > Both `MixedSigningAppletSignedTests.server` and 'BrowserTest.server` > exist and refer to different things. A piece of code will have to > explicitly say `MixedSigningAppletSignedTests.server` to refer to the > variable in `MixedSigningAppletSignedTests`. A piece of code invoking > `BrowserTest.server` will get back the original object, not this > 'inherited' one. > > Not sure if the variable `server` still needs to be defined in the class > or not, but I just wanted to point out that it does not change the > variable declared in the parent class. > > A question on style: why is the variable not `SERVER` instead of > `server`. It's `final`, right? > > Thanks, > Omair > > [1] http://stackoverflow.com/questions/17172033/java-and-inherited-static-members > The field actually wasn't needed at all, the inherited one is sufficient. Thanks, -- Andrew A From aazores at redhat.com Tue Jan 21 11:09:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 14:09:01 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DEA64F.8080704@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> <52DEA64F.8080704@gmx.de> Message-ID: <52DEC5CD.1070703@redhat.com> On 01/21/2014 11:54 AM, Jacob Wisor wrote: > On 01/21/2014 12:25 AM, Jiri Vanek wrote: >> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>> (snip) >>>>> >>>>> [...] >>>> >>>> [...] >>> >>> [...] >> >> Only one *the* nit :) >> >> >>> /** >>> + * We do this so we can asynchronously monitor the exit status >>> of the >>> policytool process. >>> + * If it fails immediately and we need to fall back to using >>> reflectivePolicyToolLaunch, >>> + * then the Thread spawned here is very short lived. However, >>> if the >>> policytool process >>> + * successfully launches, then it takes some unknown amount of >>> time >>> before it closes >>> + * again. We do not want to call waitFor() on the ptool process >>> in the >>> main thread >>> + * because this will cause the itweb-settings window to lock up. >>> + * @param frame a {@link JFrame} to act as parent to warning >>> dialogs >>> which may appear >>> + * @param filePath a {@link String} representing the path to >>> the file to >>> be opened >>> + * @throws IOException if an IOException occurs during the exec >>> of the >>> policytool process >>> + */ >>> + private static void policyToolLaunchHelper(final JFrame frame, >>> final >>> String filePath) { >>> + final String[] launchCommand = new String[] { "policytool", >>> "-file", >>> filePath }; >>> + new Thread(new Runnable() { >>> + @Override >>> + public void run() { >>> + try { >>> + final Process ptool = >>> Runtime.getRuntime().exec(launchCommand); >>> + if (ptool.waitFor() != 0) { > > You do realize that Process.waitFor() may never return and thus block > the current thread indefinitely? So, either some other thread has to > interrupt it and kill that sub process (or better yet, this thread's > InterruptedException handler). Or, the sub process needs to be polled > by Process.exitValue() after some timeout and then perhaps be > Process.destroy()'ed. Calling Process#exitValue() on a process which has not yet terminated is illegal, and I really don't think having some timeout to destroy the process is a good idea. There is no way to do this and distinguish between the policytool process erroneously continuing to run (eg perhaps it has become a zombie) and the policytool still being in use by the user. But as you say, adding a destroy() call in an InterruptedException handler is a good idea. If the helper thread is interrupted then the process it spawned should be cleaned up. The problem is that even if we add this handler, when will the helper ever have interrupt() called on it? If we're really worried about ensuring that the policytool process is definitely cleaned up when we exit the control panel (so that the control panel can cleanly exit as well), then we need to add some logic to ensure Thread#interrupt() is called when the window is closing, correct? However, we still don't have a way to know if the policytool process is running simply because the user hasn't finished using the policytool yet, or because it has become a zombie - and adding a listener to call interrupt() on the helper thread means that closing the control panel will quit the policytool, probably without even asking if you want to save your changes first. Is this really what we want? > >>> + reflectivePolicyToolLaunch(filePath); >>> + } >>> + } catch (Exception e) { > > I don't see any InterruptedException handling here, do I? Well, that's > one reason why you should not "milly nilly" catch all exceptions into > one handler. In case of an InterruptedException Process.destroy() > should be called here. (head shake) :-( Yes, this is a good point in general. Thanks for pointing it out. But as above, I think if we're going to bother with trying to ensure cleanup for corner cases, then we need to properly define when cleanup happens first. A separate InterruptedException will get put in, don't get me wrong, but there's more to discuss first I think. > >>> + OutputController.getLogger().log(e); >>> + showCouldNotOpenFileDialog(frame, filePath, >>> R("CPPolicyEditorNotFound")); >>> + } >>> + } >>> + }).start(); >>> + } >>> + >> >> [...] > > Jacob Thanks, -- Andrew A From aazores at redhat.com Tue Jan 21 11:35:17 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 21 Jan 2014 14:35:17 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DEAE6B.1010501@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> <52DEA087.8070108@gmx.de> <52DEA5C4.30604@redhat.com> <52DEAE6B.1010501@gmx.de> Message-ID: <52DECBF5.7040204@redhat.com> On 01/21/2014 12:29 PM, Jacob Wisor wrote: > On 01/21/2014 05:52 PM, Andrew Azores wrote: >> On 01/21/2014 11:29 AM, Jacob Wisor wrote: >>> On 01/21/2014 04:09 PM, Andrew Azores wrote: >>>> On 01/20/2014 06:19 PM, Jacob Wisor wrote: >>>>> On 01/20/2014 01:27 PM, Jiri Vanek wrote: >>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>>> On 01/17/2014 11:52 AM, Jiri Vanek wrote: >>>>>>>> [...] >>>>>>>> Not sure if we will backport this, but probably yes.. Depends >>>>>>>> on final >>>>>>>> compelxiity. >>>>>>> [...] >>>>>>>> ok. Ok to head, and please elaborate on backport to 1.4 it is >>>>>>>> worthy. >>>>>>>> Also please fix the closing of window asap (as new chngeset) >>>>>>> >>>>>>> 1.4 doesn't have DirectoryValidator... what should we do here >>>>>>> then? Also >>>>>>> backport >>>>>>> DirectoryValidator? Or just let the 1.4 backport have less of a >>>>>>> guarantee >>>>>>> that >>>>>>> the policy tool will >>>>>>> be able to successfully launch, and try to provide useful errors >>>>>>> if not? >>>>>> >>>>>> Dependes on you. I'm for *not* backporting the directory >>>>>> validator, and live >>>>>> with "maybe not readable file". But also I would just ensure the >>>>>> parent dir >>>>>> creation. >>>>> >>>>> :-o Nooooo, please do not backport this! It is actually a new >>>>> feature, so it >>>>> should rather go into the next minor version release. >>>>> >>>>> Jacob >>>>> >>>> >>>> I'd agree with you if there was actually any work done to support >>>> custom >>>> policies in the classloader or security manager or anything like that, >>> >>> Right, there is none, so introducing that kind of or similar support >>> is a >>> topic of its own. From the user's (and design) perspective , it does >>> not >>> matter whether this additional "security feature" is implemented >>> internally in >>> the one way or the other. The effect is important. >> >> My point is that the support is already there. The security feature >> currently >> exists. The implementation is complete. There is no topic needed for the >> introduction of support, because that has already passed. >> >>> >>>> but this >>>> is really just a minor cosmetic addition to the control panel. I >>>> think that's >>>> acceptable to backport (assuming no work to add support is required). >>> >>> It is beyond cosmetics. The gravity of added functionality in software >>> engineering is not measured by the amount of buttons or what ever UI >>> controls >>> newly introduced to an existing UI. It is rather measured in the >>> amount of >>> *functionality* and the *consequences* there of, hence the effects. >>> >>> Jacob >> >> This patch introduces no new functionality. PolicyTool already >> exists, as does >> the implementation making use of policies on the system. The only >> thing this >> patch does is add a button giving users an easy way to launch >> PolicyTool with >> the correct file path presupplied. Exactly which consequences are you >> talking >> about, here? I really do not see what negative impact there will be >> from adding >> one button to the control panel - a button that does absolutely >> nothing new >> other than provide a convenience. > > I am not talking about technical effects. I am talking about effects > on support staff and admins. They may not be familiar with J2SE's > policy system yet when their user's and customers start calling in for > help. You know, it is not uncommon for large organizations that > provide in-house support to have their staff (really, this does > sometimes happen indeed!) trained for a specific set of applications > and thus features. They truly rely on specific feature sets and > incremental evolution of software. Of course, this feature will > probably not generate as many support calls as resetting passwords, > but lets not make those people's lives miserable by introducing > effects that they assumed not to exist with the current minor version > release. So please, just do all of us a favor and do not backport it. > Believe me, I know what I am talking about. > > Jacob Well, I see what you mean. I don't really see it causing problems but "better safe than sorry" I suppose. Jiri, do you have a compelling argument against Jacob's? ;) Thanks, -- Andrew A From andrew at icedtea.classpath.org Tue Jan 21 11:59:45 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 21 Jan 2014 19:59:45 +0000 Subject: /hg/release/icedtea6-1.12: 7 new changesets Message-ID: changeset 347a942613ee in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=347a942613ee author: Andrew John Hughes date: Tue Jan 21 16:37:21 2014 +0000 Add missing backslash lost in addition of SystemTap GC patch. 2014-01-21 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add missing backslash. changeset f5dc6cff5bb5 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=f5dc6cff5bb5 author: Andrew John Hughes date: Thu Sep 19 16:58:11 2013 +0100 Fail if a C++ compiler is not installed. 2013-09-19 Andrew John Hughes * configure.ac: Check if CXX gets set and fail if not. changeset dc1e3d4ec38a in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=dc1e3d4ec38a author: Andrew John Hughes date: Thu Sep 19 17:00:58 2013 +0100 Also fail if the C compiler is not found. 2013-09-19 Andrew John Hughes * configure.ac: Check if CC gets set and fail if not. changeset e1c38bfa0650 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=e1c38bfa0650 author: Andrew John Hughes date: Tue Jan 21 19:51:16 2014 +0000 8027837: Generate CORBA sources before building code that depends on it. 2014-01-20 Andrew John Hughes * Makefile.am: (ICEDTEA_PATCHES): Add new patch. * patches/openjdk/8027837-corba_build_dependency.patch: Generate sources before building code that depends on them. changeset a3a1e4ab86e8 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=a3a1e4ab86e8 author: Andrew John Hughes date: Tue Jan 21 19:54:26 2014 +0000 Fix path in nss-not-enabled-config.patch 2014-01-10 Omair Majid * patches/nss-not-enabled-config.patch: Fix path to java.security. changeset dd4b9f3a62b0 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=dd4b9f3a62b0 author: Andrew John Hughes date: Tue Jan 21 19:58:40 2014 +0000 Update NEWS. 2014-01-21 Andrew John Hughes * NEWS: Updated. changeset 113abd46fdd4 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=113abd46fdd4 author: Andrew John Hughes date: Mon Jan 20 18:42:31 2014 +0000 Credit Aurelien Jarno for D729448 patch. 2014-01-20 Andrew John Hughes * AUTHORS: Credit Aurelien Jarno for D729448 patch. diffstat: AUTHORS | 1 + ChangeLog | 39 +++++++++++++++++++- Makefile.am | 5 +- NEWS | 7 +++ configure.ac | 7 +++ patches/nss-not-enabled-config.patch | 2 +- patches/openjdk/8027837-corba_build_dependency.patch | 21 ++++++++++ 7 files changed, 78 insertions(+), 4 deletions(-) diffs (163 lines): diff -r c802218a85b1 -r 113abd46fdd4 AUTHORS --- a/AUTHORS Tue Jan 14 14:58:29 2014 -0500 +++ b/AUTHORS Mon Jan 20 18:42:31 2014 +0000 @@ -19,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Aurelien Jarno C. K. Jester-Young (cky944 at gmail.com) Matthias Klose Francis Kung diff -r c802218a85b1 -r 113abd46fdd4 ChangeLog --- a/ChangeLog Tue Jan 14 14:58:29 2014 -0500 +++ b/ChangeLog Mon Jan 20 18:42:31 2014 +0000 @@ -1,3 +1,40 @@ +2014-01-20 Andrew John Hughes + + * AUTHORS: + Credit Aurelien Jarno for D729448 patch. + +2014-01-21 Andrew John Hughes + + * NEWS: Updated. + +2014-01-10 Omair Majid + + * patches/nss-not-enabled-config.patch: Fix path + to java.security. + +2014-01-20 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add new patch. + * patches/openjdk/8027837-corba_build_dependency.patch: + Generate sources before building code that depends + on them. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CC gets set and fail if not. + +2013-09-19 Andrew John Hughes + + * configure.ac: + Check if CXX gets set and fail if not. + +2014-01-21 Andrew John Hughes + + * Makefile.am: + (ICEDTEA_PATCHES): Add missing backslash. + 2014-01-15 Omair Majid * NEWS: Update with fixes @@ -15617,7 +15654,7 @@ versions of NSS. * patches/icedtea-nss-config.patch: Patch java.security with the PCKS11 provider configuration. - + 2009-09-25 Gary Benson * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp: Moved ffi.h to... diff -r c802218a85b1 -r 113abd46fdd4 Makefile.am --- a/Makefile.am Tue Jan 14 14:58:29 2014 -0500 +++ b/Makefile.am Mon Jan 20 18:42:31 2014 +0000 @@ -863,7 +863,8 @@ patches/disable-cc-incompatible-sanity-checks.patch \ patches/rh995488-rhel_tz_fix.patch \ patches/openjdk/8025255-tzdata2013g.patch \ - patches/d729448-32_bit_alignment.patch + patches/d729448-32_bit_alignment.patch \ + patches/openjdk/8027837-corba_build_dependency.patch if WITH_RHINO ICEDTEA_PATCHES += \ @@ -898,7 +899,7 @@ patches/sdt-dtrace-hpp.patch \ patches/sdt-make.patch \ patches/sdt-arguments.patch \ - patches/systemtap_gc.patch + patches/systemtap_gc.patch \ patches/systemtap-gcc-4.5.patch \ patches/systemtap-alloc-size-workaround.patch endif diff -r c802218a85b1 -r 113abd46fdd4 NEWS --- a/NEWS Tue Jan 14 14:58:29 2014 -0500 +++ b/NEWS Mon Jan 20 18:42:31 2014 +0000 @@ -47,6 +47,12 @@ * Backports - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fail if a C and C++ compiler are not detected. + - Fix path in nss-not-enabled-config.patch. +* SystemTap support: + - Ensure all patches are applied. New in release 1.12.7 (2013-11-21): @@ -137,6 +143,7 @@ - S6867671: javap whitespace formatting issues - S6868539: javap should use current names for constant pool tags - S6888215: memory leak in jpeg plugin + - S6893617: JDK 6 CNCtx always uses the default ORB - S6902264: fix indentation of tableswitch and lookupswitch - S6925851: Localize JRE into pt_BR - S6954275: XML signatures with reference data larger 16KB and cacheRef on fails to validate diff -r c802218a85b1 -r 113abd46fdd4 configure.ac --- a/configure.ac Tue Jan 14 14:58:29 2014 -0500 +++ b/configure.ac Mon Jan 20 18:42:31 2014 +0000 @@ -16,7 +16,14 @@ AC_PREFIX_DEFAULT([bootstrap]) AC_PROG_CC +if test "x$CC" = x; then + AC_MSG_ERROR([No C compiler found.]) +fi + AC_PROG_CXX +if test "x$CXX" = x; then + AC_MSG_ERROR([No C++ compiler found.]) +fi IT_FIND_TOOL([MAKE], [make]) IT_FIND_TOOL([GZIP], [gzip]) diff -r c802218a85b1 -r 113abd46fdd4 patches/nss-not-enabled-config.patch --- a/patches/nss-not-enabled-config.patch Tue Jan 14 14:58:29 2014 -0500 +++ b/patches/nss-not-enabled-config.patch Mon Jan 20 18:42:31 2014 +0000 @@ -1,5 +1,5 @@ --- lib/security/java.security.old 2009-08-25 11:43:59.000000000 +0100 -+++ lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 ++++ lib/security/java.security-linux 2009-08-27 14:23:54.000000000 +0100 @@ -51,6 +51,10 @@ security.provider.6=com.sun.security.sasl.Provider security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI diff -r c802218a85b1 -r 113abd46fdd4 patches/openjdk/8027837-corba_build_dependency.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/patches/openjdk/8027837-corba_build_dependency.patch Mon Jan 20 18:42:31 2014 +0000 @@ -0,0 +1,21 @@ +# HG changeset patch +# User coffeys +# Date 1384185131 0 +# Mon Nov 11 15:52:11 2013 +0000 +# Node ID c93c49524d58fd6f38b07db2a54fc644c1327a5f +# Parent 295b9963b97f12c43209dbe212b475e835f0a7d0 +8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +Reviewed-by: dholmes + +diff -r 295b9963b97f -r c93c49524d58 make/Makefile +--- openjdk/corba/make/Makefile Fri Jan 17 23:21:27 2014 +0000 ++++ openjdk/corba/make/Makefile Mon Nov 11 15:52:11 2013 +0000 +@@ -158,7 +158,7 @@ + # + # CORBA + # +-SUBDIRS = tools javax org sun com ++SUBDIRS = tools sun/rmi javax org sun com + + build: + $(SUBDIRS-loop) From gitne at gmx.de Tue Jan 21 16:30:09 2014 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 22 Jan 2014 01:30:09 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DD830D.9000509@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> Message-ID: <52DF1111.3080301@gmx.de> On 01/20/2014 09:11 PM, Andrew Azores wrote: > On 01/20/2014 02:50 PM, Andrew Azores wrote: >> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>> (snip) >>> >>> Ouch. See my reply to patch. >> >> Didn't see any mail, but we discussed on IRC. Here's a recap: >> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >> - The process not exiting is definitely a problem. We should not be playing >> around with reflection on the policytool like this. >> - Calling PolicyTool.main() directly breaks the automated build(?). We don't >> want to make it a build dep, and it's too minor to bother with a configure >> step/flag(?). >> - Solution: Runtime#exec() makes its return, with a fallback method of >> reflectively invoking PolicyTool.main() if for any reason the exec fails >> (non-POSIX system, executable not on PATH, etc) >> >> So here's a patch implementing this solution, with lots of extra added >> documentation. >> > > And this time with better respect for event dispatch thread, I hope. (thanks > omajid) + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { + final String[] launchCommand = new String[] { "policytool", "-file", filePath }; Ah, the caveats of anonymous classes and threads again: The launchCommand local constant is not guaranteed to be available when Runnable.run() is scheduled to run. + new Thread(new Runnable() { + @Override + public void run() { + try { + final Process ptool = Runtime.getRuntime().exec(launchCommand); The launchCommand local constant referenced here which lives on the stack of the anonymous class's enclosing policyToolLaunchHelper() method is not guaranteed to be valid or to exist after the thread had been started. policyToolLaunchHelper() may terminate and thus its local stack be cleaned up /before/ Runnable.run() is scheduled to run, leaving no constant for reference. I am not entirely sure about what the Java Programming Language Spec and/or JVM Spec define in this case but I would bet that it has intentionally been left undefined. There is certainly no problem when anonymous class's methods and their enclosing methods share local variables running on the same thread. This case has been defined. But, in the case of threads, I would be rather careful. Sorry, I do not have the time to look it up in the specs. :-/ To get thread-safe, you would have to pass launchCommand as a parameter to Runnable's constructor and store its reference in a member variable. Btw, the preferred way to construct Process objects since JDK 1.5 is to use ProcessBuilder. ProcessBuilder would also allow you to set policytool's current working directory to user.home, which is advisable. + if (ptool.waitFor() != 0) { + reflectivePolicyToolLaunch(filePath); + } + } catch (Exception e) { + OutputController.getLogger().log(e); + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); + } + } + }).start(); + } [...] private static OpenFileResult canOpenPolicyFile(final File policyFile) { You may want to consider moving this method and its dependencies into net.sourceforge.jnlp.util.FileUtils? Jacob p.s.: Oh, one more thing: Please post rfc patches always based on tip, not based on previously posted rfc patches. Otherwise they are difficult to track. Thank you. From andrew at icedtea.classpath.org Wed Jan 22 00:27:02 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 08:27:02 +0000 Subject: /hg/release/icedtea6-1.12: 3 new changesets Message-ID: changeset ba639fb231c3 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=ba639fb231c3 author: Andrew John Hughes date: Wed Jan 22 05:44:23 2014 +0000 Prepare for 1.12.8 release date. 2014-01-22 Andrew John Hughes * configure.ac: Set to 1.12.8. * NEWS: Set 1.12.8 release date. changeset d2878f02515f in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=d2878f02515f author: Andrew John Hughes date: Wed Jan 22 08:26:06 2014 +0000 Added tag icedtea6-1.12.7 for changeset b5e91d3c0ef2 changeset 2d5401078e59 in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=2d5401078e59 author: Andrew John Hughes date: Wed Jan 22 08:26:14 2014 +0000 Added tag icedtea6-1.12.8 for changeset d2878f02515f diffstat: .hgtags | 2 ++ ChangeLog | 5 +++++ NEWS | 2 +- configure.ac | 2 +- 4 files changed, 9 insertions(+), 2 deletions(-) diffs (42 lines): diff -r 113abd46fdd4 -r 2d5401078e59 .hgtags --- a/.hgtags Mon Jan 20 18:42:31 2014 +0000 +++ b/.hgtags Wed Jan 22 08:26:14 2014 +0000 @@ -30,3 +30,5 @@ d66e262a38085bde02921a6c8001b5f7c144600c icedtea6-1.12.5 72801116cb84cf2c644e3bc273ec810597de29ea icedtea6-1.12.6 b5e91d3c0ef207e538b4743d48af53a4cd8b3d03 icedtea-1.12.7 +b5e91d3c0ef207e538b4743d48af53a4cd8b3d03 icedtea6-1.12.7 +d2878f02515f5d0165106152b2040b19f46e1752 icedtea6-1.12.8 diff -r 113abd46fdd4 -r 2d5401078e59 ChangeLog --- a/ChangeLog Mon Jan 20 18:42:31 2014 +0000 +++ b/ChangeLog Wed Jan 22 08:26:14 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-22 Andrew John Hughes + + * configure.ac: Set to 1.12.8. + * NEWS: Set 1.12.8 release date. + 2014-01-20 Andrew John Hughes * AUTHORS: diff -r 113abd46fdd4 -r 2d5401078e59 NEWS --- a/NEWS Mon Jan 20 18:42:31 2014 +0000 +++ b/NEWS Wed Jan 22 08:26:14 2014 +0000 @@ -11,7 +11,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.12.8 (2014-XX-XX): +New in release 1.12.8 (2014-01-22): * Security fixes - S6727821: Enhance JAAS Configuration diff -r 113abd46fdd4 -r 2d5401078e59 configure.ac --- a/configure.ac Mon Jan 20 18:42:31 2014 +0000 +++ b/configure.ac Wed Jan 22 08:26:14 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.12.8pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.12.8],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From bugzilla-daemon at icedtea.classpath.org Wed Jan 22 01:31:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jan 2014 09:31:21 +0000 Subject: [Bug 1652] New: Fatal: Read Error: Could not read or parse the JNLP file. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1652 Bug ID: 1652 Summary: Fatal: Read Error: Could not read or parse the JNLP file. Classification: Unclassified Product: IcedTea-Web Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: NetX (javaws) Assignee: omajid at redhat.com Reporter: jekabs.kalpins at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1012 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1012&action=edit Contains both javaws output log and the cgi file to be parsed netx: Read Error: Could not read or parse the JNLP file. (Invalid XML document syntax. (XML Parse Exception during parsing of a jnlp element at line 8: Expected: ' or ")) net.sourceforge.jnlp.LaunchException: Fatal: Read Error: Could not read or parse the JNLP file. You can try to download this file manually and send it as bug report to IcedTea-Web team. Log file with the file to be parsed are both attached -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140122/450f76a1/attachment.html From andrew at icedtea.classpath.org Wed Jan 22 01:53:47 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 09:53:47 +0000 Subject: /hg/icedtea6: 4 new changesets Message-ID: changeset c8b979a2134a in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=c8b979a2134a author: Andrew John Hughes date: Fri Jan 17 22:21:40 2014 +0000 Adapt to upstream b30 changes. 2014-01-17 Andrew John Hughes * patches/openjdk/6763340-corba_memory_leak.patch, * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, * patches/openjdk/6980681-corba_deadlock.patch, * patches/openjdk/7162902-corba_fixes.patch, * patches/openjdk/8009530-icu_kern_table_support_broken.patch: Remove upstreamed fixes. * Makefile.am: (ICEDTEA_PATCHES): Drop above. * patches/hotspot/hs23/update-bootclasspath.patch, * patches/openjdk/p11cipher-6812738-native_cleanup.patch: Regenerated against upstream. changeset 2ed34faf4c22 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2ed34faf4c22 author: Andrew John Hughes date: Fri Jan 17 22:30:56 2014 +0000 Bump to next release, b30. 2014-01-17 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to next release, b30. changeset b2459cb1e254 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=b2459cb1e254 author: Andrew John Hughes date: Fri Jan 17 23:04:10 2014 +0000 Update NEWS with upstream fixes. 2014-01-17 Andrew John Hughes * NEWS: Add fixes added to upstream. changeset df7f5fed4615 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=df7f5fed4615 author: Andrew John Hughes date: Wed Jan 22 09:53:21 2014 +0000 Update to b30 tarball. 2014-01-22 Andrew John Hughes * Makefile.am: (OPENJDK_DATE): Set to date of b30. (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. diffstat: ChangeLog | 30 + Makefile.am | 13 +- NEWS | 37 + patches/hotspot/hs23/update-bootclasspath.patch | 12 +- patches/openjdk/6763340-corba_memory_leak.patch | 409 - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 - patches/openjdk/6980681-corba_deadlock.patch | 69 - patches/openjdk/7162902-corba_fixes.patch | 2258 ----------- patches/openjdk/8009530-icu_kern_table_support_broken.patch | 332 - patches/openjdk/p11cipher-6812738-native_cleanup.patch | 67 +- 10 files changed, 106 insertions(+), 3355 deletions(-) diffs (truncated from 3648 to 500 lines): diff -r 01270eb80f98 -r df7f5fed4615 ChangeLog --- a/ChangeLog Thu Dec 26 19:03:54 2013 +0000 +++ b/ChangeLog Wed Jan 22 09:53:21 2014 +0000 @@ -1,3 +1,33 @@ +2014-01-22 Andrew John Hughes + + * Makefile.am: + (OPENJDK_DATE): Set to date of b30. + (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. + (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. + +2014-01-17 Andrew John Hughes + + * NEWS: Add fixes added to upstream. + +2014-01-17 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b30. + +2014-01-17 Andrew John Hughes + + * patches/openjdk/6763340-corba_memory_leak.patch, + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, + * patches/openjdk/6980681-corba_deadlock.patch, + * patches/openjdk/7162902-corba_fixes.patch, + * patches/openjdk/8009530-icu_kern_table_support_broken.patch: + Remove upstreamed fixes. + * Makefile.am: + (ICEDTEA_PATCHES): Drop above. + * patches/hotspot/hs23/update-bootclasspath.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch: + Regenerated against upstream. + 2013-12-26 Andrew John Hughes * NEWS: Fix usage of JEP and add key. diff -r 01270eb80f98 -r df7f5fed4615 Makefile.am --- a/Makefile.am Thu Dec 26 19:03:54 2013 +0000 +++ b/Makefile.am Wed Jan 22 09:53:21 2014 +0000 @@ -1,8 +1,8 @@ # Dependencies -OPENJDK_DATE = 05_dec_2013 -OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b -OPENJDK_VERSION = b29 +OPENJDK_DATE = 21_jan_2014 +OPENJDK_SHA256SUM = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475 +OPENJDK_VERSION = b30 OPENJDK_URL = https://java.net/downloads/openjdk6/ CACAO_VERSION = 68fe50ac34ec @@ -175,7 +175,7 @@ if USE_HG OPENJDK_SRC_ZIP = else - OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz + OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.xz endif # FIXME (HotSpot): HotSpot changeset logic goes here @@ -498,9 +498,6 @@ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch \ patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch \ patches/merge_fix.patch \ - patches/openjdk/6763340-corba_memory_leak.patch \ - patches/openjdk/6980681-corba_deadlock.patch \ - patches/openjdk/7162902-corba_fixes.patch \ patches/traceable.patch \ patches/pr1319-support_giflib_5.patch \ patches/openjdk/6718364-inference_failure.patch \ @@ -510,7 +507,6 @@ patches/openjdk/7003595-incompatibleclasschangeerror.patch \ patches/openjdk/6500343-bad_code_from_conditionals.patch \ patches/jaxws-tempfiles-ioutils-6.patch \ - patches/openjdk/8009530-icu_kern_table_support_broken.patch \ patches/jtreg-LayoutGetCharacterCount.patch \ patches/jtreg-LayoutLimits.patch \ patches/jtreg-ComponentOrientationTests.patch \ @@ -571,7 +567,6 @@ patches/hotspot/original/jvmtiEnv.patch \ patches/sparc-trapsfix.patch \ patches/print_lsb_release.patch \ - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ patches/alternative_krb5_cache.patch \ patches/alternative_krb5_cache_fixup.patch \ patches/openjdk/8014469-tzdata2013c.patch \ diff -r 01270eb80f98 -r df7f5fed4615 NEWS --- a/NEWS Thu Dec 26 19:03:54 2013 +0000 +++ b/NEWS Wed Jan 22 09:53:21 2014 +0000 @@ -14,6 +14,42 @@ New in release 1.14.0 (201X-XX-XX): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Import of OpenJDK6 b30 + - OJ24: Fix change summary generator + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + New in release 1.13.0 (2013-12-26): * New features @@ -999,6 +1035,7 @@ - S6867671: javap whitespace formatting issues - S6868539: javap should use current names for constant pool tags - S6888215: memory leak in jpeg plugin + - S6893617: JDK 6 CNCtx always uses the default ORB - S6902264: fix indentation of tableswitch and lookupswitch - S6925851: Localize JRE into pt_BR - S6954275: XML signatures with reference data larger 16KB and cacheRef on fails to validate diff -r 01270eb80f98 -r df7f5fed4615 patches/hotspot/hs23/update-bootclasspath.patch --- a/patches/hotspot/hs23/update-bootclasspath.patch Thu Dec 26 19:03:54 2013 +0000 +++ b/patches/hotspot/hs23/update-bootclasspath.patch Wed Jan 22 09:53:21 2014 +0000 @@ -1,10 +1,10 @@ diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2013-06-04 18:47:35.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2013-08-15 11:53:40.989493660 +0100 -@@ -1105,6 +1105,9 @@ - #ifdef __APPLE__ - "%/lib/JObjC.jar:" - #endif +--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:29:13.006436284 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:49:55.908779782 +0000 +@@ -1102,6 +1102,9 @@ + "%/lib/jce.jar:" + "%/lib/charsets.jar:" + "%/lib/jfr.jar:" + "%/lib/netx.jar:" + "%/lib/plugin.jar:" + "%/lib/rhino.jar:" diff -r 01270eb80f98 -r df7f5fed4615 patches/openjdk/6763340-corba_memory_leak.patch --- a/patches/openjdk/6763340-corba_memory_leak.patch Thu Dec 26 19:03:54 2013 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,409 +0,0 @@ -# HG changeset patch -# User robm -# Date 1289846868 28800 -# Node ID cff5a173ec1e89013359e804a3e31736ef6fb462 -# Parent f642c9ec81a07b88a5566ea1dc4f1a9068c7d251 -6763340: memory leak in com.sun.corba.se.* classes -6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 -Summary: Reviewed by Ken Cavanaugh -Reviewed-by: coffeys - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -@@ -74,6 +74,7 @@ - import com.sun.corba.se.spi.ior.iiop.GIOPVersion; - import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.transport.CorbaContactInfo; - import com.sun.corba.se.spi.transport.CorbaContactInfoList; - import com.sun.corba.se.spi.transport.CorbaContactInfoListIterator; -@@ -110,7 +111,7 @@ - - // The current retry request status. True if this request is being - // retried and this info object is to be reused, or false otherwise. -- private boolean retryRequest; -+ private RetryType retryRequest; - - // The number of times this info object has been (re)used. This is - // incremented every time a request is retried, and decremented every -@@ -163,7 +164,8 @@ - - // Please keep these in the same order that they're declared above. - -- retryRequest = false; -+ // 6763340 -+ retryRequest = RetryType.NONE; - - // Do not reset entryCount because we need to know when to pop this - // from the stack. -@@ -824,14 +826,15 @@ - /** - * Set or reset the retry request flag. - */ -- void setRetryRequest( boolean retryRequest ) { -+ void setRetryRequest( RetryType retryRequest ) { - this.retryRequest = retryRequest; - } - - /** - * Retrieve the current retry request status. - */ -- boolean getRetryRequest() { -+ RetryType getRetryRequest() { -+ // 6763340 - return this.retryRequest; - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -@@ -70,6 +70,7 @@ - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; - import com.sun.corba.se.spi.protocol.ForwardException; - import com.sun.corba.se.spi.protocol.PIHandler; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.logging.CORBALogDomains; - - import com.sun.corba.se.impl.logging.InterceptorsSystemException; -@@ -372,9 +373,24 @@ - } - } - -- public Exception invokeClientPIEndingPoint( -- int replyStatus, Exception exception ) -- { -+ // Needed when an error forces a retry AFTER initiateClientPIRequest -+ // but BEFORE invokeClientPIStartingPoint. -+ public Exception makeCompletedClientRequest( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, false ) ; -+ } -+ -+ public Exception invokeClientPIEndingPoint( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, true ) ; -+ } -+ -+ public Exception handleClientPIEndingPoint( -+ int replyStatus, Exception exception, boolean invokeEndingPoint ) { - if( !hasClientInterceptors ) return exception; - if( !isClientPIEnabledForThisThread() ) return exception; - -@@ -388,24 +404,31 @@ - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); - info.setReplyStatus( piReplyStatus ); - info.setException( exception ); -- interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -- piReplyStatus = info.getReplyStatus(); -+ -+ if (invokeEndingPoint) { -+ // 6763340 -+ interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -+ piReplyStatus = info.getReplyStatus(); -+ } - - // Check reply status: - if( (piReplyStatus == LOCATION_FORWARD.value) || -- (piReplyStatus == TRANSPORT_RETRY.value) ) -- { -+ (piReplyStatus == TRANSPORT_RETRY.value) ) { - // If this is a forward or a retry, reset and reuse - // info object: - info.reset(); -- info.setRetryRequest( true ); -+ -+ // fix for 6763340: -+ if (invokeEndingPoint) { -+ info.setRetryRequest( RetryType.AFTER_RESPONSE ) ; -+ } else { -+ info.setRetryRequest( RetryType.BEFORE_RESPONSE ) ; -+ } - - // ... and return a RemarshalException so the orb internals know - exception = new RemarshalException(); -- } -- else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -- (piReplyStatus == USER_EXCEPTION.value) ) -- { -+ } else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -+ (piReplyStatus == USER_EXCEPTION.value) ) { - exception = info.getException(); - } - -@@ -421,18 +444,21 @@ - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - ClientRequestInfoImpl info = null; -- if( !infoStack.empty() ) info = -- (ClientRequestInfoImpl)infoStack.peek(); - -- if( !diiRequest && (info != null) && info.isDIIInitiate() ) { -+ if (!infoStack.empty() ) { -+ info = (ClientRequestInfoImpl)infoStack.peek(); -+ } -+ -+ if (!diiRequest && (info != null) && info.isDIIInitiate() ) { - // In RequestImpl.doInvocation we already called - // initiateClientPIRequest( true ), so ignore this initiate. - info.setDIIInitiate( false ); -- } -- else { -+ } else { - // If there is no info object or if we are not retrying a request, - // push a new ClientRequestInfoImpl on the stack: -- if( (info == null) || !info.getRetryRequest() ) { -+ -+ // 6763340: don't push unless this is not a retry -+ if( (info == null) || !info.getRetryRequest().isRetry() ) { - info = new ClientRequestInfoImpl( orb ); - infoStack.push( info ); - printPush(); -@@ -442,9 +468,15 @@ - // Reset the retry request flag so that recursive calls will - // push a new info object, and bump up entry count so we know - // when to pop this info object: -- info.setRetryRequest( false ); -+ info.setRetryRequest( RetryType.NONE ); - info.incrementEntryCount(); - -+ // KMC 6763340: I don't know why this wasn't set earlier, -+ // but we do not want a retry to pick up the previous -+ // reply status, so clear it here. Most likely a new -+ // info was pushed before, so that this was not a problem. -+ info.setReplyStatus( RequestInfoImpl.UNINITIALIZED ) ; -+ - // If this is a DII request, make sure we ignore the next initiate. - if( diiRequest ) { - info.setDIIInitiate( true ); -@@ -457,25 +489,34 @@ - if( !isClientPIEnabledForThisThread() ) return; - - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); -+ RetryType rt = info.getRetryRequest() ; - -- // If the replyStatus has not yet been set, this is an indication -- // that the ORB threw an exception before we had a chance to -- // invoke the client interceptor ending points. -- // -- // _REVISIT_ We cannot handle any exceptions or ForwardRequests -- // flagged by the ending points here because there is no way -- // to gracefully handle this in any of the calling code. -- // This is a rare corner case, so we will ignore this for now. -- short replyStatus = info.getReplyStatus(); -- if( replyStatus == info.UNINITIALIZED ) { -- invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -- wrapper.unknownRequestInvoke( -- CompletionStatus.COMPLETED_MAYBE ) ) ; -+ // fix for 6763340 -+ if (!rt.equals( RetryType.BEFORE_RESPONSE )) { -+ -+ // If the replyStatus has not yet been set, this is an indication -+ // that the ORB threw an exception before we had a chance to -+ // invoke the client interceptor ending points. -+ // -+ // _REVISIT_ We cannot handle any exceptions or ForwardRequests -+ // flagged by the ending points here because there is no way -+ // to gracefully handle this in any of the calling code. -+ // This is a rare corner case, so we will ignore this for now. -+ short replyStatus = info.getReplyStatus(); -+ if (replyStatus == info.UNINITIALIZED ) { -+ invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -+ wrapper.unknownRequestInvoke( -+ CompletionStatus.COMPLETED_MAYBE ) ) ; -+ } - } - - // Decrement entry count, and if it is zero, pop it from the stack. - info.decrementEntryCount(); -- if( info.getEntryCount() == 0 ) { -+ -+ // fix for 6763340, and probably other cases (non-recursive retry) -+ if (info.getEntryCount() == 0 && !info.getRetryRequest().isRetry()) { -+ // RequestInfoStack infoStack = -+ // threadLocalClientRequestInfoStack.get(); - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - infoStack.pop(); -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -@@ -107,6 +107,11 @@ - return null; - } - -+ public Exception makeCompletedClientRequest( -+ int replyStatus, Exception exception ) { -+ return null; -+ } -+ - public void initiateClientPIRequest( boolean diiRequest ) { - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -@@ -187,7 +187,8 @@ - startingPointCall = 0; - intermediatePointCall = 0; - endingPointCall = 0; -- replyStatus = UNINITIALIZED; -+ // 6763340 -+ setReplyStatus( UNINITIALIZED ) ; - currentExecutionPoint = EXECUTION_POINT_STARTING; - alreadyExecuted = false; - connection = null; -diff --git a/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java b/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -@@ -1672,6 +1672,7 @@ - { - StackImpl invocationInfoStack = - (StackImpl)clientInvocationInfoStack.get(); -+ int entryCount = -1; - ClientInvocationInfo clientInvocationInfo = null; - if (!invocationInfoStack.empty()) { - clientInvocationInfo = -@@ -1680,8 +1681,12 @@ - throw wrapper.invocationInfoStackEmpty() ; - } - clientInvocationInfo.decrementEntryCount(); -+ entryCount = clientInvocationInfo.getEntryCount(); - if (clientInvocationInfo.getEntryCount() == 0) { -- invocationInfoStack.pop(); -+ // 6763340: don't pop if this is a retry! -+ if (!clientInvocationInfo.isRetryInvocation()) { -+ invocationInfoStack.pop(); -+ } - finishedDispatch(); - } - } -diff --git a/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java b/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/protocol/CorbaClientRequestDispatcherImpl.java -@@ -185,6 +185,7 @@ - if(getContactInfoListIterator(orb).hasNext()) { - contactInfo = (ContactInfo) - getContactInfoListIterator(orb).next(); -+ unregisterWaiter(orb); - return beginRequest(self, opName, - isOneWay, contactInfo); - } else { -@@ -292,10 +293,22 @@ - // ContactInfoList outside of subcontract. - // Want to move that update to here. - if (getContactInfoListIterator(orb).hasNext()) { -- contactInfo = (ContactInfo) -- getContactInfoListIterator(orb).next(); -+ contactInfo = (ContactInfo)getContactInfoListIterator(orb).next(); -+ if (orb.subcontractDebugFlag) { -+ dprint( "RemarshalException: hasNext true\ncontact info " + contactInfo ); -+ } -+ -+ // Fix for 6763340: Complete the first attempt before starting another. -+ orb.getPIHandler().makeCompletedClientRequest( -+ ReplyMessage.LOCATION_FORWARD, null ) ; -+ unregisterWaiter(orb); -+ orb.getPIHandler().cleanupClientPIRequest() ; -+ - return beginRequest(self, opName, isOneWay, contactInfo); - } else { -+ if (orb.subcontractDebugFlag) { -+ dprint( "RemarshalException: hasNext false" ); -+ } - ORBUtilSystemException wrapper = - ORBUtilSystemException.get(orb, - CORBALogDomains.RPC_PROTOCOL); -diff --git a/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java b/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/spi/protocol/PIHandler.java -@@ -142,6 +142,27 @@ - int replyStatus, Exception exception ) ; - - /** -+ * Called when a retry is needed after initiateClientPIRequest but -+ * before invokeClientPIRequest. In this case, we need to properly -+ * balance initiateClientPIRequest/cleanupClientPIRequest calls, -+ * but WITHOUT extraneous calls to invokeClientPIEndingPoint -+ * (see bug 6763340). -+ * -+ * @param replyStatus One of the constants in iiop.messages.ReplyMessage From andrew at icedtea.classpath.org Wed Jan 22 02:09:10 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 10:09:10 +0000 Subject: /hg/release/icedtea7-2.4: Start 2.4.5 release cycle. Message-ID: changeset a41acae0ba85 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=a41acae0ba85 author: Andrew John Hughes date: Wed Jan 22 10:08:10 2014 +0000 Start 2.4.5 release cycle. 2014-01-22 Andrew John Hughes * configure.ac: Bump to 2.4.5pre. * NEWS: Add 2.4.5 section. diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r c5db461b91c7 -r a41acae0ba85 ChangeLog --- a/ChangeLog Thu Jan 16 05:20:16 2014 +0000 +++ b/ChangeLog Wed Jan 22 10:08:10 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-22 Andrew John Hughes + + * configure.ac: Bump to 2.4.5pre. + * NEWS: Add 2.4.5 section. + 2014-01-15 Andrew John Hughes * patches/boot/ecj-multicatch.patch: diff -r c5db461b91c7 -r a41acae0ba85 NEWS --- a/NEWS Thu Jan 16 05:20:16 2014 +0000 +++ b/NEWS Wed Jan 22 10:08:10 2014 +0000 @@ -12,6 +12,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.4.5 (2014-01-XX): + New in release 2.4.4 (2014-01-14): * Security fixes diff -r c5db461b91c7 -r a41acae0ba85 configure.ac --- a/configure.ac Thu Jan 16 05:20:16 2014 +0000 +++ b/configure.ac Wed Jan 22 10:08:10 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.4], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.5pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Wed Jan 22 03:42:35 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 11:42:35 +0000 Subject: /hg/release/icedtea6-1.13: 9 new changesets Message-ID: changeset 5a408c1472b0 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=5a408c1472b0 author: Andrew John Hughes date: Thu Dec 26 19:03:54 2013 +0000 Fix usage of JEP and add key. 2013-12-26 Andrew John Hughes * NEWS: Fix usage of JEP and add key. changeset 120fcb6621f2 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=120fcb6621f2 author: Andrew John Hughes date: Fri Jan 17 22:21:40 2014 +0000 Adapt to upstream b30 changes. 2014-01-17 Andrew John Hughes * patches/openjdk/6763340-corba_memory_leak.patch, * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, * patches/openjdk/6980681-corba_deadlock.patch, * patches/openjdk/7162902-corba_fixes.patch, * patches/openjdk/8009530-icu_kern_table_support_broken.patch: Remove upstreamed fixes. * Makefile.am: (ICEDTEA_PATCHES): Drop above. * patches/hotspot/hs23/update-bootclasspath.patch, * patches/openjdk/p11cipher-6812738-native_cleanup.patch: Regenerated against upstream. changeset 4254fe8a95c5 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=4254fe8a95c5 author: Andrew John Hughes date: Fri Jan 17 22:30:56 2014 +0000 Bump to next release, b30. 2014-01-17 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to next release, b30. changeset e4993084e698 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=e4993084e698 author: Andrew John Hughes date: Fri Jan 17 23:04:10 2014 +0000 Update NEWS with upstream fixes. 2014-01-17 Andrew John Hughes * NEWS: Add fixes added to upstream. changeset d2919052bc27 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=d2919052bc27 author: Andrew John Hughes date: Wed Jan 22 09:53:21 2014 +0000 Update to b30 tarball. 2014-01-22 Andrew John Hughes * Makefile.am: (OPENJDK_DATE): Set to date of b30. (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. changeset a57af491ae85 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=a57af491ae85 author: Andrew John Hughes date: Wed Jan 22 10:21:56 2014 +0000 Add fixes from end of b30 lifecycle. 2014-01-22 Andrew John Hughes * NEWS: Add fixes from end of b30 lifecycle. changeset 3ca6adc6e412 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=3ca6adc6e412 author: Andrew John Hughes date: Tue Jan 21 19:54:26 2014 +0000 Fix path in nss-not-enabled-config.patch 2014-01-10 Omair Majid * patches/nss-not-enabled-config.patch: Fix path to java.security. changeset 99eae205c056 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=99eae205c056 author: Andrew John Hughes date: Mon Jan 20 18:42:31 2014 +0000 Credit Aurelien Jarno for D729448 patch. 2014-01-20 Andrew John Hughes * AUTHORS: Credit Aurelien Jarno for D729448 patch. changeset 1368d29bbdf0 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=1368d29bbdf0 author: Andrew John Hughes date: Wed Jan 22 11:42:18 2014 +0000 Update NEWS with NSS patch fix. 2014-01-22 Andrew John Hughes * NEWS: Update with NSS patch fix. diffstat: AUTHORS | 1 + ChangeLog | 52 + Makefile.am | 13 +- NEWS | 45 +- patches/hotspot/hs23/update-bootclasspath.patch | 12 +- patches/nss-not-enabled-config.patch | 2 +- patches/openjdk/6763340-corba_memory_leak.patch | 409 - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch | 234 - patches/openjdk/6980681-corba_deadlock.patch | 69 - patches/openjdk/7162902-corba_fixes.patch | 2258 ----------- patches/openjdk/8009530-icu_kern_table_support_broken.patch | 332 - patches/openjdk/p11cipher-6812738-native_cleanup.patch | 67 +- 12 files changed, 137 insertions(+), 3357 deletions(-) diffs (truncated from 3711 to 500 lines): diff -r c73a000ee810 -r 1368d29bbdf0 AUTHORS --- a/AUTHORS Thu Jan 16 18:06:30 2014 +0000 +++ b/AUTHORS Wed Jan 22 11:42:18 2014 +0000 @@ -19,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Aurelien Jarno C. K. Jester-Young (cky944 at gmail.com) Alex Kasko (alex.kasko.lists at gmail.com) Matthias Klose diff -r c73a000ee810 -r 1368d29bbdf0 ChangeLog --- a/ChangeLog Thu Jan 16 18:06:30 2014 +0000 +++ b/ChangeLog Wed Jan 22 11:42:18 2014 +0000 @@ -1,3 +1,55 @@ +2014-01-22 Andrew John Hughes + + * NEWS: Update with NSS patch fix. + +2014-01-20 Andrew John Hughes + + * AUTHORS: + Credit Aurelien Jarno for D729448 patch. + +2014-01-10 Omair Majid + + * patches/nss-not-enabled-config.patch: Fix path + to java.security. + +2014-01-22 Andrew John Hughes + + * NEWS: Add fixes from end of b30 lifecycle. + +2014-01-22 Andrew John Hughes + + * Makefile.am: + (OPENJDK_DATE): Set to date of b30. + (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. + (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. + +2014-01-17 Andrew John Hughes + + * NEWS: Add fixes added to upstream. + +2014-01-17 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b30. + +2014-01-17 Andrew John Hughes + + * patches/openjdk/6763340-corba_memory_leak.patch, + * patches/openjdk/6893617-cnctx_always_uses_default_orb.patch, + * patches/openjdk/6980681-corba_deadlock.patch, + * patches/openjdk/7162902-corba_fixes.patch, + * patches/openjdk/8009530-icu_kern_table_support_broken.patch: + Remove upstreamed fixes. + * Makefile.am: + (ICEDTEA_PATCHES): Drop above. + * patches/hotspot/hs23/update-bootclasspath.patch, + * patches/openjdk/p11cipher-6812738-native_cleanup.patch: + Regenerated against upstream. + +2013-12-26 Andrew John Hughes + + * NEWS: Fix usage of JEP and add key. + 2014-01-16 Andrew John Hughes * NEWS: Add 1.13.1 section. diff -r c73a000ee810 -r 1368d29bbdf0 Makefile.am --- a/Makefile.am Thu Jan 16 18:06:30 2014 +0000 +++ b/Makefile.am Wed Jan 22 11:42:18 2014 +0000 @@ -1,8 +1,8 @@ # Dependencies -OPENJDK_DATE = 05_dec_2013 -OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b -OPENJDK_VERSION = b29 +OPENJDK_DATE = 21_jan_2014 +OPENJDK_SHA256SUM = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475 +OPENJDK_VERSION = b30 OPENJDK_URL = https://java.net/downloads/openjdk6/ CACAO_VERSION = 68fe50ac34ec @@ -175,7 +175,7 @@ if USE_HG OPENJDK_SRC_ZIP = else - OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz + OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.xz endif # FIXME (HotSpot): HotSpot changeset logic goes here @@ -498,9 +498,6 @@ patches/openjdk/p11cipher-6604496-support_ckm_aes_ctr.patch \ patches/openjdk/p11cipher-6414899-p11digest_should_support_cloning.patch \ patches/merge_fix.patch \ - patches/openjdk/6763340-corba_memory_leak.patch \ - patches/openjdk/6980681-corba_deadlock.patch \ - patches/openjdk/7162902-corba_fixes.patch \ patches/traceable.patch \ patches/pr1319-support_giflib_5.patch \ patches/openjdk/6718364-inference_failure.patch \ @@ -510,7 +507,6 @@ patches/openjdk/7003595-incompatibleclasschangeerror.patch \ patches/openjdk/6500343-bad_code_from_conditionals.patch \ patches/jaxws-tempfiles-ioutils-6.patch \ - patches/openjdk/8009530-icu_kern_table_support_broken.patch \ patches/jtreg-LayoutGetCharacterCount.patch \ patches/jtreg-LayoutLimits.patch \ patches/jtreg-ComponentOrientationTests.patch \ @@ -571,7 +567,6 @@ patches/hotspot/original/jvmtiEnv.patch \ patches/sparc-trapsfix.patch \ patches/print_lsb_release.patch \ - patches/openjdk/6893617-cnctx_always_uses_default_orb.patch \ patches/alternative_krb5_cache.patch \ patches/alternative_krb5_cache_fixup.patch \ patches/openjdk/8014469-tzdata2013c.patch \ diff -r c73a000ee810 -r 1368d29bbdf0 NEWS --- a/NEWS Thu Jan 16 18:06:30 2014 +0000 +++ b/NEWS Wed Jan 22 11:42:18 2014 +0000 @@ -8,11 +8,53 @@ CAX - http://server.complang.tuwien.ac.at/cgi-bin/bugzilla/show_bug.cgi?id=X LPX - https://bugs.launchpad.net/bugs/X OJX - http://java.net/jira/browse/OPENJDK6-X +JEPX - http://openjdk.java.net/jeps/X CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY New in release 1.13.1 (2014-XX-XX): +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Import of OpenJDK6 b30 + - OJ24: Fix change summary generator + - OJ25: Remove @Override annotation added on interfaces by 2014/01/14 security fixes + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fix path in nss-not-enabled-config.patch. + New in release 1.13.0 (2013-12-26): * New features @@ -891,7 +933,7 @@ - PR1627: JDK check should depend on bootstrapping check - Fix Shark hs23 build failures (missing EliminateNestedLocks and extra argument to compile_method) * JamVM - - JEP 171: Implement fence methods in sun.misc.Unsafe + - JEP171: Implement fence methods in sun.misc.Unsafe - sun.misc.Unsafe: additional methods get/putAddress - FreeClassData: adjust method count for Miranda methods - Fix invokesuper check in invokespecial opcode @@ -998,6 +1040,7 @@ - S6867671: javap whitespace formatting issues - S6868539: javap should use current names for constant pool tags - S6888215: memory leak in jpeg plugin + - S6893617: JDK 6 CNCtx always uses the default ORB - S6902264: fix indentation of tableswitch and lookupswitch - S6925851: Localize JRE into pt_BR - S6954275: XML signatures with reference data larger 16KB and cacheRef on fails to validate diff -r c73a000ee810 -r 1368d29bbdf0 patches/hotspot/hs23/update-bootclasspath.patch --- a/patches/hotspot/hs23/update-bootclasspath.patch Thu Jan 16 18:06:30 2014 +0000 +++ b/patches/hotspot/hs23/update-bootclasspath.patch Wed Jan 22 11:42:18 2014 +0000 @@ -1,10 +1,10 @@ diff -Nru openjdk.orig/hotspot/src/share/vm/runtime/os.cpp openjdk/hotspot/src/share/vm/runtime/os.cpp ---- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2013-06-04 18:47:35.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2013-08-15 11:53:40.989493660 +0100 -@@ -1105,6 +1105,9 @@ - #ifdef __APPLE__ - "%/lib/JObjC.jar:" - #endif +--- openjdk.orig/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:29:13.006436284 +0000 ++++ openjdk/hotspot/src/share/vm/runtime/os.cpp 2014-01-17 20:49:55.908779782 +0000 +@@ -1102,6 +1102,9 @@ + "%/lib/jce.jar:" + "%/lib/charsets.jar:" + "%/lib/jfr.jar:" + "%/lib/netx.jar:" + "%/lib/plugin.jar:" + "%/lib/rhino.jar:" diff -r c73a000ee810 -r 1368d29bbdf0 patches/nss-not-enabled-config.patch --- a/patches/nss-not-enabled-config.patch Thu Jan 16 18:06:30 2014 +0000 +++ b/patches/nss-not-enabled-config.patch Wed Jan 22 11:42:18 2014 +0000 @@ -1,5 +1,5 @@ --- lib/security/java.security.old 2009-08-25 11:43:59.000000000 +0100 -+++ lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 ++++ lib/security/java.security-linux 2009-08-27 14:23:54.000000000 +0100 @@ -51,6 +51,10 @@ security.provider.6=com.sun.security.sasl.Provider security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI diff -r c73a000ee810 -r 1368d29bbdf0 patches/openjdk/6763340-corba_memory_leak.patch --- a/patches/openjdk/6763340-corba_memory_leak.patch Thu Jan 16 18:06:30 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,409 +0,0 @@ -# HG changeset patch -# User robm -# Date 1289846868 28800 -# Node ID cff5a173ec1e89013359e804a3e31736ef6fb462 -# Parent f642c9ec81a07b88a5566ea1dc4f1a9068c7d251 -6763340: memory leak in com.sun.corba.se.* classes -6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 -Summary: Reviewed by Ken Cavanaugh -Reviewed-by: coffeys - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/ClientRequestInfoImpl.java -@@ -74,6 +74,7 @@ - import com.sun.corba.se.spi.ior.iiop.GIOPVersion; - import com.sun.corba.se.spi.orb.ORB; - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.transport.CorbaContactInfo; - import com.sun.corba.se.spi.transport.CorbaContactInfoList; - import com.sun.corba.se.spi.transport.CorbaContactInfoListIterator; -@@ -110,7 +111,7 @@ - - // The current retry request status. True if this request is being - // retried and this info object is to be reused, or false otherwise. -- private boolean retryRequest; -+ private RetryType retryRequest; - - // The number of times this info object has been (re)used. This is - // incremented every time a request is retried, and decremented every -@@ -163,7 +164,8 @@ - - // Please keep these in the same order that they're declared above. - -- retryRequest = false; -+ // 6763340 -+ retryRequest = RetryType.NONE; - - // Do not reset entryCount because we need to know when to pop this - // from the stack. -@@ -824,14 +826,15 @@ - /** - * Set or reset the retry request flag. - */ -- void setRetryRequest( boolean retryRequest ) { -+ void setRetryRequest( RetryType retryRequest ) { - this.retryRequest = retryRequest; - } - - /** - * Retrieve the current retry request status. - */ -- boolean getRetryRequest() { -+ RetryType getRetryRequest() { -+ // 6763340 - return this.retryRequest; - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java -@@ -70,6 +70,7 @@ - import com.sun.corba.se.spi.protocol.CorbaMessageMediator; - import com.sun.corba.se.spi.protocol.ForwardException; - import com.sun.corba.se.spi.protocol.PIHandler; -+import com.sun.corba.se.spi.protocol.RetryType; - import com.sun.corba.se.spi.logging.CORBALogDomains; - - import com.sun.corba.se.impl.logging.InterceptorsSystemException; -@@ -372,9 +373,24 @@ - } - } - -- public Exception invokeClientPIEndingPoint( -- int replyStatus, Exception exception ) -- { -+ // Needed when an error forces a retry AFTER initiateClientPIRequest -+ // but BEFORE invokeClientPIStartingPoint. -+ public Exception makeCompletedClientRequest( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, false ) ; -+ } -+ -+ public Exception invokeClientPIEndingPoint( int replyStatus, -+ Exception exception ) { -+ -+ // 6763340 -+ return handleClientPIEndingPoint( replyStatus, exception, true ) ; -+ } -+ -+ public Exception handleClientPIEndingPoint( -+ int replyStatus, Exception exception, boolean invokeEndingPoint ) { - if( !hasClientInterceptors ) return exception; - if( !isClientPIEnabledForThisThread() ) return exception; - -@@ -388,24 +404,31 @@ - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); - info.setReplyStatus( piReplyStatus ); - info.setException( exception ); -- interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -- piReplyStatus = info.getReplyStatus(); -+ -+ if (invokeEndingPoint) { -+ // 6763340 -+ interceptorInvoker.invokeClientInterceptorEndingPoint( info ); -+ piReplyStatus = info.getReplyStatus(); -+ } - - // Check reply status: - if( (piReplyStatus == LOCATION_FORWARD.value) || -- (piReplyStatus == TRANSPORT_RETRY.value) ) -- { -+ (piReplyStatus == TRANSPORT_RETRY.value) ) { - // If this is a forward or a retry, reset and reuse - // info object: - info.reset(); -- info.setRetryRequest( true ); -+ -+ // fix for 6763340: -+ if (invokeEndingPoint) { -+ info.setRetryRequest( RetryType.AFTER_RESPONSE ) ; -+ } else { -+ info.setRetryRequest( RetryType.BEFORE_RESPONSE ) ; -+ } - - // ... and return a RemarshalException so the orb internals know - exception = new RemarshalException(); -- } -- else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -- (piReplyStatus == USER_EXCEPTION.value) ) -- { -+ } else if( (piReplyStatus == SYSTEM_EXCEPTION.value) || -+ (piReplyStatus == USER_EXCEPTION.value) ) { - exception = info.getException(); - } - -@@ -421,18 +444,21 @@ - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - ClientRequestInfoImpl info = null; -- if( !infoStack.empty() ) info = -- (ClientRequestInfoImpl)infoStack.peek(); - -- if( !diiRequest && (info != null) && info.isDIIInitiate() ) { -+ if (!infoStack.empty() ) { -+ info = (ClientRequestInfoImpl)infoStack.peek(); -+ } -+ -+ if (!diiRequest && (info != null) && info.isDIIInitiate() ) { - // In RequestImpl.doInvocation we already called - // initiateClientPIRequest( true ), so ignore this initiate. - info.setDIIInitiate( false ); -- } -- else { -+ } else { - // If there is no info object or if we are not retrying a request, - // push a new ClientRequestInfoImpl on the stack: -- if( (info == null) || !info.getRetryRequest() ) { -+ -+ // 6763340: don't push unless this is not a retry -+ if( (info == null) || !info.getRetryRequest().isRetry() ) { - info = new ClientRequestInfoImpl( orb ); - infoStack.push( info ); - printPush(); -@@ -442,9 +468,15 @@ - // Reset the retry request flag so that recursive calls will - // push a new info object, and bump up entry count so we know - // when to pop this info object: -- info.setRetryRequest( false ); -+ info.setRetryRequest( RetryType.NONE ); - info.incrementEntryCount(); - -+ // KMC 6763340: I don't know why this wasn't set earlier, -+ // but we do not want a retry to pick up the previous -+ // reply status, so clear it here. Most likely a new -+ // info was pushed before, so that this was not a problem. -+ info.setReplyStatus( RequestInfoImpl.UNINITIALIZED ) ; -+ - // If this is a DII request, make sure we ignore the next initiate. - if( diiRequest ) { - info.setDIIInitiate( true ); -@@ -457,25 +489,34 @@ - if( !isClientPIEnabledForThisThread() ) return; - - ClientRequestInfoImpl info = peekClientRequestInfoImplStack(); -+ RetryType rt = info.getRetryRequest() ; - -- // If the replyStatus has not yet been set, this is an indication -- // that the ORB threw an exception before we had a chance to -- // invoke the client interceptor ending points. -- // -- // _REVISIT_ We cannot handle any exceptions or ForwardRequests -- // flagged by the ending points here because there is no way -- // to gracefully handle this in any of the calling code. -- // This is a rare corner case, so we will ignore this for now. -- short replyStatus = info.getReplyStatus(); -- if( replyStatus == info.UNINITIALIZED ) { -- invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -- wrapper.unknownRequestInvoke( -- CompletionStatus.COMPLETED_MAYBE ) ) ; -+ // fix for 6763340 -+ if (!rt.equals( RetryType.BEFORE_RESPONSE )) { -+ -+ // If the replyStatus has not yet been set, this is an indication -+ // that the ORB threw an exception before we had a chance to -+ // invoke the client interceptor ending points. -+ // -+ // _REVISIT_ We cannot handle any exceptions or ForwardRequests -+ // flagged by the ending points here because there is no way -+ // to gracefully handle this in any of the calling code. -+ // This is a rare corner case, so we will ignore this for now. -+ short replyStatus = info.getReplyStatus(); -+ if (replyStatus == info.UNINITIALIZED ) { -+ invokeClientPIEndingPoint( ReplyMessage.SYSTEM_EXCEPTION, -+ wrapper.unknownRequestInvoke( -+ CompletionStatus.COMPLETED_MAYBE ) ) ; -+ } - } - - // Decrement entry count, and if it is zero, pop it from the stack. - info.decrementEntryCount(); -- if( info.getEntryCount() == 0 ) { -+ -+ // fix for 6763340, and probably other cases (non-recursive retry) -+ if (info.getEntryCount() == 0 && !info.getRetryRequest().isRetry()) { -+ // RequestInfoStack infoStack = -+ // threadLocalClientRequestInfoStack.get(); - RequestInfoStack infoStack = - (RequestInfoStack)threadLocalClientRequestInfoStack.get(); - infoStack.pop(); -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/PINoOpHandlerImpl.java -@@ -107,6 +107,11 @@ - return null; - } - -+ public Exception makeCompletedClientRequest( -+ int replyStatus, Exception exception ) { -+ return null; -+ } -+ - public void initiateClientPIRequest( boolean diiRequest ) { - } - -diff --git a/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java b/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java -@@ -187,7 +187,8 @@ - startingPointCall = 0; - intermediatePointCall = 0; - endingPointCall = 0; -- replyStatus = UNINITIALIZED; -+ // 6763340 -+ setReplyStatus( UNINITIALIZED ) ; - currentExecutionPoint = EXECUTION_POINT_STARTING; - alreadyExecuted = false; - connection = null; -diff --git a/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java b/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ---- openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -+++ openjdk/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java -@@ -1672,6 +1672,7 @@ - { - StackImpl invocationInfoStack = - (StackImpl)clientInvocationInfoStack.get(); -+ int entryCount = -1; - ClientInvocationInfo clientInvocationInfo = null; - if (!invocationInfoStack.empty()) { - clientInvocationInfo = -@@ -1680,8 +1681,12 @@ From jvanek at redhat.com Wed Jan 22 04:22:37 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 13:22:37 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <20140121175157.GC4729@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <20140121175157.GC4729@redhat.com> Message-ID: <52DFB80D.1030605@redhat.com> On 01/21/2014 06:51 PM, Omair Majid wrote: > * Jiri Vanek [2014-01-21 06:27]: >> On seriosu flaw: you have "private static final ServerAccess server = >> new ServerAccess();" declard. by this you are owerwritting the one in >> BrowserTest, so no browser test will work, and wil fial 'can not lunch >> unset browser". > > That's not true. `server` is a static variable. It's not inherited [1]. Sorry. BAd wording. I had in mind: "is hiding inherited field" > Both `MixedSigningAppletSignedTests.server` and 'BrowserTest.server` > exist and refer to different things. A piece of code will have to > explicitly say `MixedSigningAppletSignedTests.server` to refer to the > variable in `MixedSigningAppletSignedTests`. A piece of code invoking > `BrowserTest.server` will get back the original object, not this > 'inherited' one. > > Not sure if the variable `server` still needs to be defined in the class > or not, but I just wanted to point out that it does not change the nope. > variable declared in the parent class. > > A question on style: why is the variable not `SERVER` instead of > `server`. It's `final`, right? > It was not static final at the beginning. Thanx for keeping an eye. J. From jvanek at redhat.com Wed Jan 22 04:25:55 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 13:25:55 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DE877B.4010507@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <52DE877B.4010507@redhat.com> Message-ID: <52DFB8D3.10206@redhat.com> On 01/21/2014 03:43 PM, Andrew Azores wrote: > On 01/21/2014 06:16 AM, Jiri Vanek wrote: >> On 01/20/2014 09:49 PM, Andrew Azores wrote: >>> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>>> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows >>>>>>> method calls to be made in the normal way as well as via reflection. JNLP includes both >>>>>>> applications and applets now, and they close properly as well. >>>>>>> >>>>>>> (snip) >>>>>>> >>>>>>> Thanks, >>>>>>> Andrew A >>>>>> >>>>>> Went back over this and realized one of the tests was written wrong. The >>>>>> assertAccessControlException helper method in the testcase file is now a little stricter about the >>>>>> type of AccessControlException (so that the exceptions due to applets not being allowed to call >>>>>> System.exit don't falsely fulfill this assertion), and MixedSigningAppletHelper.attackDoPrivileged >>>>>> now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it should >>>>>> have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve data >>>>>> from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the testcases >>>>>> now expect this test to successfully read from System.getProperty, rather than receive an >>>>>> AccessControlException. However, the tests still verify that in situations where the Signed JAR >>>>>> has a method call that involves a privileged action *without* being placed inside a doPrivileged >>>>>> call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as >>>>>> expected. >>>>>> >>>>>> Thanks, >>>>>> >>>>> >>>>> Sorry, please ignore the previous patch. The extra changes were not made based on the most recent >>>>> other changes. Attached are the properly rebased patches, also split into three as they were >>>>> originally. >>>>> >>>>> Thanks, >>>>> >>>> >>>> Thanx for ping. >>>> There is really many of jnlps which are nearly similar. Maybe better idea can be to have one template, and generate all the rest from it? >>>> >>>> I altready did this - and generated them ion BeforeClass. >>>> >>>> What do you think? >>> >>> I like this idea, but I didn't know we were okay with having reproducers do tricks like this ;) >>> >>> Thanks, >>> >> >> >> On seriosu flaw: you have "private static final ServerAccess server = new ServerAccess();" declard. by this you are owerwritting the one in BrowserTest, so no browser test will work, and wil fial 'can not lunch unset browser". >> Just remove this line. > > Oops, right. [2] > >> >> Also - non of the jnlp have security element specified. It i s intentional?? I thought it was an reason for this test to be redone. >> >> After fixed first, and explined second, ok to head. >> >> J. > > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html > > The JNLP spec seems a little bit ambiguous here - it seems to say that "All JARs must be signed" if requesting All-Permission, but doesn't explicitly say if full signing is required to be able to request permissions at all. But as I explained in that other thread, I think it's correct to use the security tag when you have full signing, and not correct to use it when you have partial signing. Hmhm. And what should itw do with such an malicious (security tag) file and contne (not all jars signed)t? It should die... And thats exactly what the reproducers should check. Or not? So from my side (and after reading the [1]) I'm +1 to add the tests. J. [2] dont forget on it in case of new round :) From gitne at gmx.de Wed Jan 22 04:26:10 2014 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 22 Jan 2014 13:26:10 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DF1111.3080301@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> Message-ID: <52DFB8E2.9030502@gmx.de> W dniu 22.01.2014 01:30, Jacob Wisor pisze: > On 01/20/2014 09:11 PM, Andrew Azores wrote: >> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>> (snip) >>>> >>>> Ouch. See my reply to patch. >>> >>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >>> - The process not exiting is definitely a problem. We should not be playing >>> around with reflection on the policytool like this. >>> - Calling PolicyTool.main() directly breaks the automated build(?). We don't >>> want to make it a build dep, and it's too minor to bother with a configure >>> step/flag(?). >>> - Solution: Runtime#exec() makes its return, with a fallback method of >>> reflectively invoking PolicyTool.main() if for any reason the exec fails >>> (non-POSIX system, executable not on PATH, etc) >>> >>> So here's a patch implementing this solution, with lots of extra added >>> documentation. >>> >> >> And this time with better respect for event dispatch thread, I hope. (thanks >> omajid) > > + private static void policyToolLaunchHelper(final JFrame frame, final String > filePath) { > + final String[] launchCommand = new String[] { "policytool", "-file", > filePath }; > > Ah, the caveats of anonymous classes and threads again: The launchCommand local > constant is not guaranteed to be available when Runnable.run() is scheduled to run. > > + new Thread(new Runnable() { > + @Override > + public void run() { > + try { > + final Process ptool = > Runtime.getRuntime().exec(launchCommand); > > The launchCommand local constant referenced here which lives on the stack of the > anonymous class's enclosing policyToolLaunchHelper() method is not guaranteed to > be valid or to exist after the thread had been started. policyToolLaunchHelper() > may terminate and thus its local stack be cleaned up /before/ Runnable.run() is > scheduled to run, leaving no constant for reference. I am not entirely sure > about what the Java Programming Language Spec and/or JVM Spec define in this > case but I would bet that it has intentionally been left undefined. There is > certainly no problem when anonymous class's methods and their enclosing methods > share local variables running on the same thread. This case has been defined. > But, in the case of threads, I would be rather careful. Sorry, I do not have the > time to look it up in the specs. :-/ Well, I did look it up because it was quite an intriguing question. Sub-paragraph 3 of Java Language Specification ?17.4.1 says it: "Local variables (?14.4), formal method parameters (?8.4.1), and exception handler parameters (?14.20) are never shared between threads and are unaffected by the memory model." ;-) > To get thread-safe, you would have to pass launchCommand as a parameter to > Runnable's constructor and store its reference in a member variable. > > Btw, the preferred way to construct Process objects since JDK 1.5 is to use > ProcessBuilder. ProcessBuilder would also allow you to set policytool's current > working directory to user.home, which is advisable. > [...] Jacob From andrew at icedtea.classpath.org Wed Jan 22 04:32:49 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 12:32:49 +0000 Subject: /hg/release/icedtea7-2.3: 2 new changesets Message-ID: changeset 0f30b0c2b4d8 in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=0f30b0c2b4d8 author: Andrew John Hughes date: Wed Jan 22 10:42:07 2014 +0000 Move two fixes back to security section and add CVE numbers. 2014-01-22 Andrew John Hughes * NEWS: Move two fixes back to security section and add CVE numbers. changeset 0d9606a3f667 in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=0d9606a3f667 author: Andrew John Hughes date: Wed Jan 22 12:32:34 2014 +0000 Start 2.3.14 release cycle. 2014-01-22 Andrew John Hughes * configure.ac: Bump to 2.3.14pre. * NEWS: Add section for 2.3.14. diffstat: ChangeLog | 10 ++++++++++ NEWS | 6 ++++-- configure.ac | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diffs (56 lines): diff -r a26f100094fc -r 0d9606a3f667 ChangeLog --- a/ChangeLog Wed Jan 15 22:42:37 2014 +0000 +++ b/ChangeLog Wed Jan 22 12:32:34 2014 +0000 @@ -1,3 +1,13 @@ +2014-01-22 Andrew John Hughes + + * configure.ac: Bump to 2.3.14pre. + * NEWS: Add section for 2.3.14. + +2014-01-22 Andrew John Hughes + + * NEWS: Move two fixes back to security + section and add CVE numbers. + 2014-01-14 Andrew John Hughes * NEWS: Add missing entries. diff -r a26f100094fc -r 0d9606a3f667 NEWS --- a/NEWS Wed Jan 15 22:42:37 2014 +0000 +++ b/NEWS Wed Jan 22 12:32:34 2014 +0000 @@ -10,6 +10,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.3.14 (2014-01-XX): + New in release 2.3.13 (2014-01-14): * Security fixes @@ -56,6 +58,8 @@ - S8019292: Better Attribute Value Exceptions - S8019617: Better view of objects - S8020293: JVM crash + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code - S8021275, CVE-2013-5805: Better screening for ScreenMenu - S8021282, CVE-2013-5806: Better recycling of object instances - S8021286: Improve MacOS resourcing @@ -128,8 +132,6 @@ - S8020085: Linux ARM build failure for 7u45 - S8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances - - S8021257: com.sun.corba.se.** should be on restricted package list - - S8021271: Better buffering in ObjC code - S8021355: REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris - S8021360: object not exported" on start of JMXConnectorServer for RMI-IIOP protocol with security manager - S8021366: java_util/Properties/PropertiesWithOtherEncodings fails during 7u45 nightly testing diff -r a26f100094fc -r 0d9606a3f667 configure.ac --- a/configure.ac Wed Jan 15 22:42:37 2014 +0000 +++ b/configure.ac Wed Jan 22 12:32:34 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.3.13], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.3.14pre], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From ptisnovs at icedtea.classpath.org Wed Jan 22 04:56:47 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 22 Jan 2014 12:56:47 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset d1faa4ad873b in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=d1faa4ad873b author: Pavel Tisnovsky date: Wed Jan 22 14:01:05 2014 +0100 Ten new tests added into BitBltAffineQuadrantRotateTransformOp.java diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r aa23d4954918 -r d1faa4ad873b ChangeLog --- a/ChangeLog Mon Jan 20 10:17:26 2014 +0100 +++ b/ChangeLog Wed Jan 22 14:01:05 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-22 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Ten new tests added into BitBltAffineQuadrantRotateTransformOp.java + 2014-01-18 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r aa23d4954918 -r d1faa4ad873b src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Mon Jan 20 10:17:26 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Wed Jan 22 14:01:05 2014 +0100 @@ -249,6 +249,146 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGR(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR_PRE. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageType4ByteABGRPreRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_BYTE_BINARY. + * + * @param image + * image used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From ptisnovs at icedtea.classpath.org Wed Jan 22 04:59:10 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 22 Jan 2014 12:59:10 +0000 Subject: /hg/rhino-tests: Enhancement of the test testGetResourceAsStream... Message-ID: changeset 3054fb3dccb4 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=3054fb3dccb4 author: Pavel Tisnovsky date: Wed Jan 22 14:03:28 2014 +0100 Enhancement of the test testGetResourceAsStreamNegativeTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/BindingsClassTest.java | 257 ++++++++++++++++++++++++++++++ 2 files changed, 262 insertions(+), 0 deletions(-) diffs (314 lines): diff -r 7bbdd4d1eeee -r 3054fb3dccb4 ChangeLog --- a/ChangeLog Mon Jan 20 10:24:21 2014 +0100 +++ b/ChangeLog Wed Jan 22 14:03:28 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-22 Pavel Tisnovsky + + * src/org/RhinoTests/BindingsClassTest.java: + Enhancement of the test testGetResourceAsStreamNegativeTest. + 2014-01-18 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r 7bbdd4d1eeee -r 3054fb3dccb4 src/org/RhinoTests/BindingsClassTest.java --- a/src/org/RhinoTests/BindingsClassTest.java Mon Jan 20 10:24:21 2014 +0100 +++ b/src/org/RhinoTests/BindingsClassTest.java Wed Jan 22 14:03:28 2014 +0100 @@ -1317,6 +1317,214 @@ } try { + this.bindingsClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1395,6 +1603,14 @@ } try { + this.bindingsClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1451,6 +1667,14 @@ } try { + this.bindingsClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1459,6 +1683,14 @@ } try { + this.bindingsClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1467,6 +1699,22 @@ } try { + this.bindingsClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.bindingsClass.cast(new java.io.File("xyzzy")); + throw new AssertionError("Class.cast(new java.io.File(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.bindingsClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1755,6 +2003,15 @@ } /** + * Test for method javax.script.Bindings.getClass().toString() + */ + protected void testToString() { + String asString; + asString = this.bindingsClass.toString(); + assertEquals("interface javax.script.Bindings", asString, "wrong toString() return value"); + } + + /** * Test for instanceof operator applied to a class javax.script.Bindings */ @SuppressWarnings("cast") From gitne at gmx.de Wed Jan 22 05:11:07 2014 From: gitne at gmx.de (Jacob Wisor) Date: Wed, 22 Jan 2014 14:11:07 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DEC5CD.1070703@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> <52DEA64F.8080704@gmx.de> <52DEC5CD.1070703@redhat.com> Message-ID: <52DFC36B.1060906@gmx.de> On 01/21/2014 08:09 PM, Andrew Azores wrote: > On 01/21/2014 11:54 AM, Jacob Wisor wrote: >> On 01/21/2014 12:25 AM, Jiri Vanek wrote: >>> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>>> (snip) >>>>>> >>>>>> [...] >>>>> >>>>> [...] >>>> >>>> [...] >>> >>> Only one *the* nit :) >>> >>> >>>> /** >>>> + * We do this so we can asynchronously monitor the exit status of the >>>> policytool process. >>>> + * If it fails immediately and we need to fall back to using >>>> reflectivePolicyToolLaunch, >>>> + * then the Thread spawned here is very short lived. However, if the >>>> policytool process >>>> + * successfully launches, then it takes some unknown amount of time >>>> before it closes >>>> + * again. We do not want to call waitFor() on the ptool process in the >>>> main thread >>>> + * because this will cause the itweb-settings window to lock up. >>>> + * @param frame a {@link JFrame} to act as parent to warning dialogs >>>> which may appear >>>> + * @param filePath a {@link String} representing the path to the file to >>>> be opened >>>> + * @throws IOException if an IOException occurs during the exec of the >>>> policytool process >>>> + */ >>>> + private static void policyToolLaunchHelper(final JFrame frame, final >>>> String filePath) { >>>> + final String[] launchCommand = new String[] { "policytool", "-file", >>>> filePath }; >>>> + new Thread(new Runnable() { >>>> + @Override >>>> + public void run() { >>>> + try { >>>> + final Process ptool = >>>> Runtime.getRuntime().exec(launchCommand); >>>> + if (ptool.waitFor() != 0) { >> >> You do realize that Process.waitFor() may never return and thus block the >> current thread indefinitely? So, either some other thread has to interrupt it >> and kill that sub process (or better yet, this thread's InterruptedException >> handler). Or, the sub process needs to be polled by Process.exitValue() after >> some timeout and then perhaps be Process.destroy()'ed. > > Calling Process#exitValue() on a process which has not yet terminated is > illegal, and I really don't think having some timeout to destroy the process is > a good idea. Just because Process.exitValue() may throw an IllegalThreadStateException at run time, it does not mean it is illegal to call it on any not yet terminated process. It is legal to call it anytime indeed. Obviously, the designers of Process have chosen to return the process's state data via an exception, simply because returning state data through the return value is not feasible. If both kinds of data, the process's state and its return value, were returned through Process.exitValue()'s return value, this data would be indistinguishable. What I actually have meant was that the process should be checked whether it had started yet. If not, Process.destroy() it. But, to be honest, I have not figured out how to do that either. > There is no way to do this and distinguish between the policytool > process erroneously continuing to run (eg perhaps it has become a zombie) and > the policytool still being in use by the user. Yeah, being able to detect a whether a process has gone zombie after Process.exec() or ProcessBuilder.start() would be helpful indeed. > But as you say, adding a destroy() call in an InterruptedException handler is a > good idea. If the helper thread is interrupted then the process it spawned > should be cleaned up. The problem is that even if we add this handler, when will > the helper ever have interrupt() called on it? If we're really worried about > ensuring that the policytool process is definitely cleaned up when we exit the > control panel (so that the control panel can cleanly exit as well), then we need > to add some logic to ensure Thread#interrupt() is called when the window is > closing, correct? However, we still don't have a way to know if the policytool > process is running simply because the user hasn't finished using the policytool > yet, or because it has become a zombie - and adding a listener to call > interrupt() on the helper thread means that closing the control panel will quit > the policytool, probably without even asking if you want to save your changes > first. Is this really what we want? > >> >>>> + reflectivePolicyToolLaunch(filePath); >>>> + } >>>> + } catch (Exception e) { >> >> I don't see any InterruptedException handling here, do I? Well, that's one >> reason why you should not "willy nilly" catch all exceptions into one handler. >> In case of an InterruptedException Process.destroy() should be called here. >> (head shake) :-( > > Yes, this is a good point in general. Thanks for pointing it out. But as above, > I think if we're going to bother with trying to ensure cleanup for corner cases, > then we need to properly define when cleanup happens first. A separate > InterruptedException will get put in, don't get me wrong, but there's more to > discuss first I think. > >> >>>> + OutputController.getLogger().log(e); >>>> + showCouldNotOpenFileDialog(frame, filePath, >>>> R("CPPolicyEditorNotFound")); >>>> + } >>>> + } >>>> + }).start(); >>>> + } >>>> + Jacob From jvanek at redhat.com Wed Jan 22 05:35:22 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 14:35:22 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DE8D00.70807@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> <52DE8D00.70807@redhat.com> Message-ID: <52DFC91A.7060607@redhat.com> On 01/21/2014 04:06 PM, Andrew Azores wrote: > On 01/21/2014 06:25 AM, Jiri Vanek wrote: >> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>> (snip) >>>>> >>>>> Ouch. See my reply to patch. >>>> >>>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>>> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >>>> - The process not exiting is definitely a problem. We should not be playing around with reflection on the policytool like this. >>>> - Calling PolicyTool.main() directly breaks the automated build(?). We don't want to make it a build dep, and it's too minor to bother with a configure step/flag(?). >>>> - Solution: Runtime#exec() makes its return, with a fallback method of reflectively invoking PolicyTool.main() if for any reason the exec fails (non-POSIX system, executable not on PATH, etc) >>>> >>>> So here's a patch implementing this solution, with lots of extra added documentation. >>>> >>> >>> And this time with better respect for event dispatch thread, I hope. (thanks omajid) >>> >>> Thanks, >> >> Only one *the* nit :) >> >> >>> /** >>> + * We do this so we can asynchronously monitor the exit status of the policytool process. >>> + * If it fails immediately and we need to fall back to using reflectivePolicyToolLaunch, >>> + * then the Thread spawned here is very short lived. However, if the policytool process >>> + * successfully launches, then it takes some unknown amount of time before it closes >>> + * again. We do not want to call waitFor() on the ptool process in the main thread >>> + * because this will cause the itweb-settings window to lock up. >>> + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear >>> + * @param filePath a {@link String} representing the path to the file to be opened >>> + * @throws IOException if an IOException occurs during the exec of the policytool process >>> + */ >>> + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { >>> + final String[] launchCommand = new String[] { "policytool", "-file", filePath }; >>> + new Thread(new Runnable() { >>> + @Override >>> + public void run() { >>> + try { >>> + final Process ptool = Runtime.getRuntime().exec(launchCommand); >>> + if (ptool.waitFor() != 0) { >>> + reflectivePolicyToolLaunch(filePath); >>> + } >>> + } catch (Exception e) { >>> + OutputController.getLogger().log(e); >>> + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); >>> + } >>> + } >>> + }).start(); >>> + } >>> + >> >> >> I would discourage you from this, By doing this you will lunch the main classed fallback even in case of failure in spawned jvm. >> >> I would go with: >> >> Integer lunched = null; >> ... >> if (lunched == null){ >> final Process ptool = Runtime.getRuntime().exec("policytool --help"); >> //it only prints somethig to stdou >> lunched = ptool.waitFor(); >> } >> if (lunched == null){ throw/log Something human readable or run fallback or whatewer} >> if (lunched ==0){run async proces} else {run fallback} >> >> >> otherwise ok! >> >> J. >> >> > > Well, the first null check seems useless if lunched isn't used anywhere else. Mostly correct, anyway, it was pseudocode. > Then, policytool doesn't actually accept anything except '-file' - it has no '-help' or '--help'-. So that process you're exec'ing always fails just about immediately with a non-zero (1) exit status. lunched will never be null after assigning ptool.waitFor() to it, unless some exception is thrown and handling logic is added, so the lunched == null case also seems useless. Then, lunched is always non-zero because there is no --help, so we never run async process to launch policytool properly with a -file, and always resort to fallback. *If* there was a --help switch which could be used to run policytool headless with a zero exit > status, then this would all work nicely... :) hmhm. unluckily correct. My overlook. > > Thanks, > Instead of wait for, you should use process builderwith its start. The process is then synchronous. Also there is "This method checks that the command is a valid operating system command. " in javadoc, so then the fallback should be used. As for backport. I'm still for it. Bit as +1 for me, and -1 for Jacob, then its up to you... I still think that its is minor modification. Just making long time implemented stuff visible (like console for 1.4.2) From jvanek at redhat.com Wed Jan 22 05:39:40 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 14:39:40 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DFC91A.7060607@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DE5919.3030900@redhat.com> <52DE8D00.70807@redhat.com> <52DFC91A.7060607@redhat.com> Message-ID: <52DFCA1C.7020006@redhat.com> On 01/22/2014 02:35 PM, Jiri Vanek wrote: > On 01/21/2014 04:06 PM, Andrew Azores wrote: >> On 01/21/2014 06:25 AM, Jiri Vanek wrote: >>> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>>> (snip) >>>>>> >>>>>> Ouch. See my reply to patch. >>>>> >>>>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>>>> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >>>>> - The process not exiting is definitely a problem. We should not be playing around with reflection on the policytool like this. >>>>> - Calling PolicyTool.main() directly breaks the automated build(?). We don't want to make it a build dep, and it's too minor to bother with a configure step/flag(?). >>>>> - Solution: Runtime#exec() makes its return, with a fallback method of reflectively invoking PolicyTool.main() if for any reason the exec fails (non-POSIX system, executable not on PATH, etc) >>>>> >>>>> So here's a patch implementing this solution, with lots of extra added documentation. >>>>> >>>> >>>> And this time with better respect for event dispatch thread, I hope. (thanks omajid) >>>> >>>> Thanks, >>> >>> Only one *the* nit :) >>> >>> >>>> /** >>>> + * We do this so we can asynchronously monitor the exit status of the policytool process. >>>> + * If it fails immediately and we need to fall back to using reflectivePolicyToolLaunch, >>>> + * then the Thread spawned here is very short lived. However, if the policytool process >>>> + * successfully launches, then it takes some unknown amount of time before it closes >>>> + * again. We do not want to call waitFor() on the ptool process in the main thread >>>> + * because this will cause the itweb-settings window to lock up. >>>> + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear >>>> + * @param filePath a {@link String} representing the path to the file to be opened >>>> + * @throws IOException if an IOException occurs during the exec of the policytool process >>>> + */ >>>> + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { >>>> + final String[] launchCommand = new String[] { "policytool", "-file", filePath }; >>>> + new Thread(new Runnable() { >>>> + @Override >>>> + public void run() { >>>> + try { >>>> + final Process ptool = Runtime.getRuntime().exec(launchCommand); >>>> + if (ptool.waitFor() != 0) { >>>> + reflectivePolicyToolLaunch(filePath); >>>> + } >>>> + } catch (Exception e) { >>>> + OutputController.getLogger().log(e); >>>> + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); >>>> + } >>>> + } >>>> + }).start(); >>>> + } >>>> + >>> >>> >>> I would discourage you from this, By doing this you will lunch the main classed fallback even in case of failure in spawned jvm. >>> >>> I would go with: >>> >>> Integer lunched = null; >>> ... >>> if (lunched == null){ >>> final Process ptool = Runtime.getRuntime().exec("policytool --help"); >>> //it only prints somethig to stdou >>> lunched = ptool.waitFor(); >>> } >>> if (lunched == null){ throw/log Something human readable or run fallback or whatewer} >>> if (lunched ==0){run async proces} else {run fallback} >>> >>> >>> otherwise ok! >>> >>> J. >>> >>> >> >> Well, the first null check seems useless if lunched isn't used anywhere else. > > > Mostly correct, anyway, it was pseudocode. > > > Then, policytool doesn't actually accept anything except '-file' - it has no '-help' or '--help'-. So that process you're exec'ing always fails just about immediately with a non-zero (1) exit status. lunched will never be null after assigning ptool.waitFor() to it, unless some exception is thrown and handling logic is added, so the lunched == null case also seems useless. Then, lunched is always non-zero because there is no --help, so we never run async process to launch policytool properly with a -file, and always resort to fallback. *If* there was a --help switch which could be used to run policytool headless with a zero exit >> status, then this would all work nicely... :) > > hmhm. unluckily correct. My overlook. > >> >> Thanks, >> > > Instead of wait for, you should use process builderwith its start. The process is then synchronous. > > > Also there is "This method checks that the command is a valid operating system command. " in javadoc, so then the fallback should be used. > It is the something like: java.io.IOException: Cannot run program "file.exe": error=2, No such file or... > > As for backport. I'm still for it. Bit as +1 for me, and -1 for Jacob, then its up to you... I still think that its is minor modification. Just making long time implemented stuff visible (like console for 1.4.2) From aazores at redhat.com Wed Jan 22 06:37:43 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 22 Jan 2014 09:37:43 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DFB8D3.10206@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <52DE877B.4010507@redhat.com> <52DFB8D3.10206@redhat.com> Message-ID: <52DFD7B7.1060101@redhat.com> On 01/22/2014 07:25 AM, Jiri Vanek wrote: > On 01/21/2014 03:43 PM, Andrew Azores wrote: >> On 01/21/2014 06:16 AM, Jiri Vanek wrote: >>> On 01/20/2014 09:49 PM, Andrew Azores wrote: >>>> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>>>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>>>> Updated PR1592 tests, using a custom reproducer rather than >>>>>>>> split simple/signed. This allows >>>>>>>> method calls to be made in the normal way as well as via >>>>>>>> reflection. JNLP includes both >>>>>>>> applications and applets now, and they close properly as well. >>>>>>>> >>>>>>>> (snip) >>>>>>>> >>>>>>>> Thanks, >>>>>>>> Andrew A >>>>>>> >>>>>>> Went back over this and realized one of the tests was written >>>>>>> wrong. The >>>>>>> assertAccessControlException helper method in the testcase file >>>>>>> is now a little stricter about the >>>>>>> type of AccessControlException (so that the exceptions due to >>>>>>> applets not being allowed to call >>>>>>> System.exit don't falsely fulfill this assertion), and >>>>>>> MixedSigningAppletHelper.attackDoPrivileged >>>>>>> now properly calls >>>>>>> MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, >>>>>>> as it should >>>>>>> have been doing. In this case, the Unsigned JAR actually *is* >>>>>>> meant to be able to retrieve data >>>>>>> from the Signed JAR (as is the point of the >>>>>>> AccessController.doPrivileged call), so the testcases >>>>>>> now expect this test to successfully read from >>>>>>> System.getProperty, rather than receive an >>>>>>> AccessControlException. However, the tests still verify that in >>>>>>> situations where the Signed JAR >>>>>>> has a method call that involves a privileged action *without* >>>>>>> being placed inside a doPrivileged >>>>>>> call, an AccessControlException will be thrown if the Unsigned >>>>>>> code attempts to access it, as >>>>>>> expected. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>> >>>>>> Sorry, please ignore the previous patch. The extra changes were >>>>>> not made based on the most recent >>>>>> other changes. Attached are the properly rebased patches, also >>>>>> split into three as they were >>>>>> originally. >>>>>> >>>>>> Thanks, >>>>>> >>>>> >>>>> Thanx for ping. >>>>> There is really many of jnlps which are nearly similar. Maybe >>>>> better idea can be to have one template, and generate all the rest >>>>> from it? >>>>> >>>>> I altready did this - and generated them ion BeforeClass. >>>>> >>>>> What do you think? >>>> >>>> I like this idea, but I didn't know we were okay with having >>>> reproducers do tricks like this ;) >>>> >>>> Thanks, >>>> >>> >>> >>> On seriosu flaw: you have "private static final ServerAccess server >>> = new ServerAccess();" declard. by this you are owerwritting the one >>> in BrowserTest, so no browser test will work, and wil fial 'can not >>> lunch unset browser". >>> Just remove this line. >> >> Oops, right. > [2] >> >>> >>> Also - non of the jnlp have security element specified. It i s >>> intentional?? I thought it was an reason for this test to be redone. >>> >>> After fixed first, and explined second, ok to head. >>> >>> J. >> >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html >> >> >> The JNLP spec seems a little bit ambiguous here - it seems to say >> that "All JARs must be signed" if requesting All-Permission, but >> doesn't explicitly say if full signing is required to be able to >> request permissions at all. But as I explained in that other thread, >> I think it's correct to use the security tag when you have full >> signing, and not correct to use it when you have partial signing. > > > Hmhm. And what should itw do with such an malicious (security tag) > file and contne (not all jars signed)t? It should die... > > And thats exactly what the reproducers should check. > > Or not? > > So from my side (and after reading the [1]) I'm +1 to add the tests. > > J. > > [2] dont forget on it in case of new round :) It does die, which is correct IMO. Clearly it would be wrong if we actually respected that security tag, and I think it would be ambiguous of us and kind of useless to silently ignore the security tag - doing this would probably just end up annoying some app developer. Best to explicitly fail with the launch exception describing the exact problem. If you think it's worthy of a new patch/review round then I can also add that. But how in-depth do you want it to be... ? Just one test to ensure that the security tag causes a failed launch, or repeat all existing tests with an addition security tag, or somewhere in between? Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Wed Jan 22 06:55:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 22 Jan 2014 14:55:38 +0000 Subject: [Bug 1652] Fatal: Read Error: Could not read or parse the JNLP file. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1652 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #1 from Andrew Azores --- If you edit the JNLP file (tasmanager.cgi) and look for this line: the parser is complaining about the word splash not being enclosed in quotation marks. Changing the line to this: fixes the parse exception, and launch continues past this stage. The new parser in 1.5 handles this file fine with no modifications. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140122/0d207be7/attachment-0001.html From andrew at icedtea.classpath.org Wed Jan 22 07:08:39 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 22 Jan 2014 15:08:39 +0000 Subject: /hg/release/icedtea6-1.13: 2 new changesets Message-ID: changeset eb77bc7992a9 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=eb77bc7992a9 author: Andrew John Hughes date: Wed Jan 22 11:44:10 2014 +0000 Prepare for 1.13.1 release. 2014-01-22 Andrew John Hughes * configure.ac: Set to 1.13.1. * NEWS: Set 1.13.1 release date. changeset f1cb7c2a533b in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=f1cb7c2a533b author: Andrew John Hughes date: Wed Jan 22 15:07:55 2014 +0000 Added tag icedtea6-1.13.1 for changeset eb77bc7992a9 diffstat: .hgtags | 1 + ChangeLog | 5 +++++ NEWS | 2 +- configure.ac | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) diffs (41 lines): diff -r 1368d29bbdf0 -r f1cb7c2a533b .hgtags --- a/.hgtags Wed Jan 22 11:42:18 2014 +0000 +++ b/.hgtags Wed Jan 22 15:07:55 2014 +0000 @@ -23,3 +23,4 @@ 24c5bd2e7d574441813bfb8f9e4636e50c5d7c28 icedtea6-1.11-branchpoint 5a1e1b39664409e9a0945ba49b558f25ef976c58 icedtea6-1.12-branchpoint 0770fe4c010590f293d189c83af2c49ac0c2268d icedtea6-1.13 +eb77bc7992a9c321470c8426c901abd75ed8f567 icedtea6-1.13.1 diff -r 1368d29bbdf0 -r f1cb7c2a533b ChangeLog --- a/ChangeLog Wed Jan 22 11:42:18 2014 +0000 +++ b/ChangeLog Wed Jan 22 15:07:55 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-22 Andrew John Hughes + + * configure.ac: Set to 1.13.1. + * NEWS: Set 1.13.1 release date. + 2014-01-22 Andrew John Hughes * NEWS: Update with NSS patch fix. diff -r 1368d29bbdf0 -r f1cb7c2a533b NEWS --- a/NEWS Wed Jan 22 11:42:18 2014 +0000 +++ b/NEWS Wed Jan 22 15:07:55 2014 +0000 @@ -12,7 +12,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.13.1 (2014-XX-XX): +New in release 1.13.1 (2014-01-22): * Security fixes - S6727821: Enhance JAAS Configuration diff -r 1368d29bbdf0 -r f1cb7c2a533b configure.ac --- a/configure.ac Wed Jan 22 11:42:18 2014 +0000 +++ b/configure.ac Wed Jan 22 15:07:55 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.13.1pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.13.1],[distro-pkg-dev at openjdk.java.net]) AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) From jvanek at redhat.com Wed Jan 22 07:22:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 16:22:23 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DFD7B7.1060101@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <52DE877B.4010507@redhat.com> <52DFB8D3.10206@redhat.com> <52DFD7B7.1060101@redhat.com> Message-ID: <52DFE22F.5040905@redhat.com> On 01/22/2014 03:37 PM, Andrew Azores wrote: > On 01/22/2014 07:25 AM, Jiri Vanek wrote: >> On 01/21/2014 03:43 PM, Andrew Azores wrote: >>> On 01/21/2014 06:16 AM, Jiri Vanek wrote: >>>> On 01/20/2014 09:49 PM, Andrew Azores wrote: >>>>> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>>>>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>>>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>>>>> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows >>>>>>>>> method calls to be made in the normal way as well as via reflection. JNLP includes both >>>>>>>>> applications and applets now, and they close properly as well. >>>>>>>>> >>>>>>>>> (snip) >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> Andrew A >>>>>>>> >>>>>>>> Went back over this and realized one of the tests was written wrong. The >>>>>>>> assertAccessControlException helper method in the testcase file is now a little stricter about the >>>>>>>> type of AccessControlException (so that the exceptions due to applets not being allowed to call >>>>>>>> System.exit don't falsely fulfill this assertion), and MixedSigningAppletHelper.attackDoPrivileged >>>>>>>> now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it should >>>>>>>> have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve data >>>>>>>> from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the testcases >>>>>>>> now expect this test to successfully read from System.getProperty, rather than receive an >>>>>>>> AccessControlException. However, the tests still verify that in situations where the Signed JAR >>>>>>>> has a method call that involves a privileged action *without* being placed inside a doPrivileged >>>>>>>> call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as >>>>>>>> expected. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>> >>>>>>> Sorry, please ignore the previous patch. The extra changes were not made based on the most recent >>>>>>> other changes. Attached are the properly rebased patches, also split into three as they were >>>>>>> originally. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>> >>>>>> Thanx for ping. >>>>>> There is really many of jnlps which are nearly similar. Maybe better idea can be to have one template, and generate all the rest from it? >>>>>> >>>>>> I altready did this - and generated them ion BeforeClass. >>>>>> >>>>>> What do you think? >>>>> >>>>> I like this idea, but I didn't know we were okay with having reproducers do tricks like this ;) >>>>> >>>>> Thanks, >>>>> >>>> >>>> >>>> On seriosu flaw: you have "private static final ServerAccess server = new ServerAccess();" declard. by this you are owerwritting the one in BrowserTest, so no browser test will work, and wil fial 'can not lunch unset browser". >>>> Just remove this line. >>> >>> Oops, right. >> [2] >>> >>>> >>>> Also - non of the jnlp have security element specified. It i s intentional?? I thought it was an reason for this test to be redone. >>>> >>>> After fixed first, and explined second, ok to head. >>>> >>>> J. >>> >>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html >>> >>> The JNLP spec seems a little bit ambiguous here - it seems to say that "All JARs must be signed" if requesting All-Permission, but doesn't explicitly say if full signing is required to be able to request permissions at all. But as I explained in that other thread, I think it's correct to use the security tag when you have full signing, and not correct to use it when you have partial signing. >> >> >> Hmhm. And what should itw do with such an malicious (security tag) file and contne (not all jars signed)t? It should die... >> >> And thats exactly what the reproducers should check. >> >> Or not? >> >> So from my side (and after reading the [1]) I'm +1 to add the tests. >> >> J. >> >> [2] dont forget on it in case of new round :) > > It does die, which is correct IMO. yes its the most correct. > Clearly it would be wrong if we actually respected that security tag, and I think it would be ambiguous of us and kind of useless to silently ignore the security tag - doing this would probably just end up annoying some app developer. Best to explicitly fail with the launch exception describing the exact problem. If you think it's worthy of a new patch/review round then I can also add that. But how in-depth do you want it to be... ? Just one test to ensure that the security tag causes a failed launch, or repeat all existing tests with an addition security tag, or somewhere in between? Yes. its worth to add reproducer with security tag, and one more round of review. From gnu.andrew at redhat.com Wed Jan 22 07:26:01 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 22 Jan 2014 15:26:01 +0000 Subject: [SECURITY] IcedTea 1.12.8 & 1.13.1 for OpenJDK 6 Released! Message-ID: <20140122152601.GA2280@carrie.the212.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 6 support in the 1.12.x and 1.13.x series with the January 2014 security errata and a number of bug fixes. An update will follow for the 1.11.x series (1.11.15), but this will be the final update for this release series, following the release of the 1.13.x series (see http://icedtea.classpath.org/wiki/ReleasePolicy). Users are advised to migrate to either the 1.12.x or 1.13.x series as soon as possible. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 1.13.1 (2014-01-22): * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list - S8021271: Better buffering in ObjC code - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections - S8023245, CVE-2014-0423: Enhance Beans decoding - S8023301: Enhance generic classes - S8023672: Enhance jar file validation - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience - S8024867: Enhance logging start up - S8025014: Enhance Security Policy - S8025018, CVE-2014-0376: Enhance JAX-P set up - S8025026, CVE-2013-5878: Enhance canonicalization - S8025034, CVE-2013-5907: Improve layout lookups - S8025448: Enhance listening events - S8025758, CVE-2014-0422: Enhance Naming management - S8025767, CVE-2014-0428: Enhance IIOP Streams - S8026172: Enhance UI Management - S8026176: Enhance document printing - S8026193, CVE-2013-5884: Enhance CORBA stub factories - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up * Import of OpenJDK6 b30 - OJ24: Fix change summary generator - OJ25: Remove @Override annotation added on interfaces by 2014/01/14 security fixes - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S8026826: JDK 7 fix for 8010935 broke the build - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms * Bug fixes - Fix path in nss-not-enabled-config.patch. New in release 1.12.8 (2014-01-22): * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections - S8023245, CVE-2014-0423: Enhance Beans decoding - S8023301: Enhance generic classes - S8023672: Enhance jar file validation - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience - S8024867: Enhance logging start up - S8025014: Enhance Security Policy - S8025018, CVE-2014-0376: Enhance JAX-P set up - S8025026, CVE-2013-5878: Enhance canonicalization - S8025034, CVE-2013-5907: Improve layout lookups - S8025448: Enhance listening events - S8025758, CVE-2014-0422: Enhance Naming management - S8025767, CVE-2014-0428: Enhance IIOP Streams - S8026172: Enhance UI Management - S8026176: Enhance document printing - S8026193, CVE-2013-5884: Enhance CORBA stub factories - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up * Backports - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S8026826: JDK 7 fix for 8010935 broke the build - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms * Bug fixes - Fail if a C and C++ compiler are not detected. - Fix path in nss-not-enabled-config.patch. * SystemTap support: - Ensure all patches are applied. The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea6-1.12.8.tar.gz http://icedtea.classpath.org/download/source/icedtea6-1.13.1.tar.gz or: http://icedtea.classpath.org/download/source/icedtea6-1.12.8.tar.xz http://icedtea.classpath.org/download/source/icedtea6-1.13.1.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea6-1.12.8.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea6-1.12.8.tar.xz.sig http://icedtea.classpath.org/download/source/icedtea6-1.13.1.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea6-1.13.1.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: c2ad74af29af774f778675d3fde952f4defebb2be44f565253d788e2e7af39d4 icedtea6-1.12.8.tar.gz dd6655700b5f68ba17480e62f13eb963ada63392d046bdf499eaf8f9f269526b icedtea6-1.12.8.tar.gz.sig cb584a3983e146b91f64c31594f8c599604fbc91fd3560503fdd65b04c6bfb7c icedtea6-1.12.8.tar.xz e973decd9dd68d7d84b57105abd5dba6cfe1431e052061e30d1ca137108f3a23 icedtea6-1.12.8.tar.xz.sig 3d4d0a02304884ddf9f2123c227501b77d318cffb1b912c204dbc992f66bd4b6 icedtea6-1.13.1.tar.gz f295b4373edb7a819a1a461e7c18ca447056b0618ee47a28377e98cf1118ac0d icedtea6-1.13.1.tar.gz.sig 5b2fe75660282889217fe997e9c8f9e70982f2c72fc2ca59db80e7da7380d7c1 icedtea6-1.13.1.tar.xz dd9ab64a6c21df07059d05065eedaa16bacb530c1a0961a614689426edd1cf5d icedtea6-1.13.1.tar.xz.sig The following people helped with these releases: * Andrew Hughes (all other backports & fixes & release management) * Omair Majid (security backports & NSS config fix) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-${release_version}.tar.gz or: $ tar x -I xz -f icedtea6-${release_version}.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea6-${release_version}/configure $ make where ${release_version} is either 1.12.8 or 1.13.1. Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140122/99dc47ec/attachment.bin From jvanek at redhat.com Wed Jan 22 10:37:58 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 22 Jan 2014 19:37:58 +0100 Subject: [rfc][icedtea-web] tuning of properties loading Message-ID: <52E01006.30700@redhat.com> By hitting https://bugzilla.redhat.com/show_bug.cgi?id i realized, that we made an serious error by not dying on ConfigureException. This patch is fixing it. It also fix an bug, when deployment.system.config.mandatory is true, and invlaid url is proposed. It also add few cosmetic changes - few docs - better error reporting from loading the global config - better handling of non fatal (==non ConfigureException) ) exception - logged - defautls are used - if it is not processed, then instantiation error is thrown instead, which is not much helpful... The reproducers for this are hardly to be possible, as both global files needs root permissions. However some unitsts will be hopefully possible. Thanx, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: tuningOfPropertiesLoading.patch Type: text/x-patch Size: 7645 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140122/432ead91/tuningOfPropertiesLoading-0001.patch From aazores at redhat.com Wed Jan 22 10:57:52 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 22 Jan 2014 13:57:52 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DFB8E2.9030502@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> Message-ID: <52E014B0.8030706@redhat.com> On 01/22/2014 07:26 AM, Jacob Wisor wrote: > W dniu 22.01.2014 01:30, Jacob Wisor pisze: >> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>> (snip) >>>>> >>>>> Ouch. See my reply to patch. >>>> >>>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>>> - The reflection hack is horrible. It doesn't quite work, and it's >>>> super ugly. >>>> - The process not exiting is definitely a problem. We should not be >>>> playing >>>> around with reflection on the policytool like this. >>>> - Calling PolicyTool.main() directly breaks the automated build(?). >>>> We don't >>>> want to make it a build dep, and it's too minor to bother with a >>>> configure >>>> step/flag(?). >>>> - Solution: Runtime#exec() makes its return, with a fallback method of >>>> reflectively invoking PolicyTool.main() if for any reason the exec >>>> fails >>>> (non-POSIX system, executable not on PATH, etc) >>>> >>>> So here's a patch implementing this solution, with lots of extra added >>>> documentation. >>>> >>> >>> And this time with better respect for event dispatch thread, I hope. >>> (thanks >>> omajid) >> >> + private static void policyToolLaunchHelper(final JFrame frame, >> final String >> filePath) { >> + final String[] launchCommand = new String[] { "policytool", >> "-file", >> filePath }; >> >> Ah, the caveats of anonymous classes and threads again: The >> launchCommand local >> constant is not guaranteed to be available when Runnable.run() is >> scheduled to run. >> >> + new Thread(new Runnable() { >> + @Override >> + public void run() { >> + try { >> + final Process ptool = >> Runtime.getRuntime().exec(launchCommand); >> >> The launchCommand local constant referenced here which lives on the >> stack of the >> anonymous class's enclosing policyToolLaunchHelper() method is not >> guaranteed to >> be valid or to exist after the thread had been started. >> policyToolLaunchHelper() >> may terminate and thus its local stack be cleaned up /before/ >> Runnable.run() is >> scheduled to run, leaving no constant for reference. I am not >> entirely sure >> about what the Java Programming Language Spec and/or JVM Spec define >> in this >> case but I would bet that it has intentionally been left undefined. >> There is >> certainly no problem when anonymous class's methods and their >> enclosing methods >> share local variables running on the same thread. This case has been >> defined. >> But, in the case of threads, I would be rather careful. Sorry, I do >> not have the >> time to look it up in the specs. :-/ > > Well, I did look it up because it was quite an intriguing question. > Sub-paragraph 3 of Java Language Specification ?17.4.1 says it: > "Local variables (?14.4), formal method parameters (?8.4.1), and > exception handler parameters (?14.20) are never shared between threads > and are unaffected by the memory model." ;-) > >> To get thread-safe, you would have to pass launchCommand as a >> parameter to >> Runnable's constructor and store its reference in a member variable. >> >> Btw, the preferred way to construct Process objects since JDK 1.5 is >> to use >> ProcessBuilder. ProcessBuilder would also allow you to set >> policytool's current >> working directory to user.home, which is advisable. >> [...] > > Jacob Amazing, thank you for all the help with this! But are you sure about this problem of the constant going out of scope of the Thread? Yes, variables, method parameters, and exception handler parameters will never be *shared* between threads (as in each Thread will have a local variable by the same name but these two will be distinct from each other in memory), but does this really mean that the variable can go out of scope for the Thread by the time it runs? This to me seems to imply that closures are utterly broken in Java, if the enclosed context may suddenly become unavailable altogether. And if this is true, that means that no matter what we do when we're spawning a new Thread, we always have to make a new class for it that implements Runnable and has fields to copy absolutely any state data that we need to copy from our context (to avoid relying on closures). This is going to end up looking horrendous and be very difficult to maintain, while being used to implement what should be a very simple and highly non-critical piece of the software. Assuming that the launchCommand variable becomes unavailable by the time the new Thread is going to run, the end result is just the the policytool fails to launch due to an NPE or something. As long as this isn't the guaranteed behaviour, or the most likely behaviour, then maybe it's a rare edge case that we can simply live with? But I really am not convinced that this is a problem we need to worry about anyway. I am pretty sure that closures are well implemented and that this problem should never occur in any properly functioning JVM implementation. This is the entire reason that things need to be declared final before you can use them inside of a closure - so that a copy of the reference can be made for the anonymous class to hold on to, and that reference is guaranteed to never change while the anonymous class has it.And, since the constant in question here is a String[], itis not a primitive and therefore although the first reference to it is a stack variable, the object itself lives on the heap. Then the anonymous function/closure's reference to it is a second strong reference to the same object. So even if the method exits and its stack frame disappears along with the local reference to it, there is still SOME strong reference to the memory object, namely within the closure. Thus it is reachable and will not be GC'd until after the Thread completes and discards its Runnable, destroying the closure's context and removing the object reference, and in this case, the last reference - freeing the object's memory allocation to be GC'd on the next cycle. Now, if we're going to use ProcessBuilder instead (which I think is a good idea, thanks for this recommendation as well), do we really even need to be constructing a separate Runnable to feed into a new Thread? ProcessBuilder.start() will throw an IOException if the process can't be started, eg if the policytool executable isn't available, or what have you. So we just catch this IOException and use the fallback launch here. If ProcessBuilder.start() doesn't throw an exception then we may assume that the policytool window has successfully opened and as far as we're concerned, the launch is complete. We don't need to launch a new thread to asynchronously monitor the process using waitFor(), because we don't really need to check for a non-zero exit value - the potentially thrown IOException is doing this job for us now. As far as I can tell we also don't need to worry about doing any Process#destroy() anymore either, because if ProcessBuilder#start() throws an IOException then we never got a Process to begin with, and if it doesn't throw then the assumption is that, well, everything is okay and no destroy() is needed. There's also no InterruptedException to worry about dealing with either because we don't have any Threads doing any kind of waiting. What about the fallback reflective launch method, though? I suppose we still want to spawn a new Thread to handle this? If we do (which I suspect is the case), then are we still truly concerned about the filePath String being unavailable to the Thread/its anonymous Runnable? This means we need to make a Runnable implementation that holds references to not only the filePath String, but also to the relevant data used to display an error dialog (JFrame, message String). This sounds, honestly, ludicrous to me... as above, I am *pretty* sure that we can depend on closures being well implemented. > p.s.: Oh, one more thing: Please post rfc patches always based on tip, > not based on previously posted rfc patches. Otherwise they are > difficult to track. Thank you. Hmm? I haven't posted any patches based off other patches - they've all been off of tip. Maybe it got confusing because at one point one of the older patches in this thread actually did get OK'd and pushed, and immediately after more issues were discovered, so we are back to revising. So these latest patches actually are based off tip, unfortunately :( Thanks, -- Andrew A -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140122/370e15c3/attachment.html From magnus.ihse.bursie at oracle.com Wed Jan 22 12:55:17 2014 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Wed, 22 Jan 2014 21:55:17 +0100 Subject: Adapting IcedTea for the new OpenJDK build system (build-infra) In-Reply-To: <1401636605.10464511.1345815280341.JavaMail.root@redhat.com> References: <1401636605.10464511.1345815280341.JavaMail.root@redhat.com> Message-ID: <52E03035.40806@oracle.com> Picking up an old thread... On 2012-08-24 15:34, Andrew Hughes wrote: > ----- Original Message ----- >> Hi IcedTea developers, >> >> As some (most, I hope) of you know, we're about to replace the old >> build >> system in OpenJDK, with a completely rewritten build system, based on >> autoconf and more structured makefiles (the build-infra project). >> >> This project is slowly but surely getting closer to delivery. >> >> I don't know if anybody in the IcedTea community have tried out the >> new >> build system, or been thinking about how to integrate it with >> IcedTea's >> build system, but if not -- now would be a good time to start! :-) We >> still don't have any official dates, but it is likely that the switch >> to >> the new build system is at least not that many months away... >> >> I'd be happy to assist in answering questions and helping out in >> making >> such an adaptation. Unfortunately, I don't have enough time to dwelve >> into IcedTea right now to provide you with a complete patch, so (as >> usual) the burden of adapting IcedTea to the changes in OpenJDK falls >> on >> your community. Nevertheless, one of the driving ideas behind the >> change >> was to simplify building, so hopefully it should not be hard to get >> it >> to fit in in the IcedTea build process. >> > I'm aware of the work, but haven't had chance to try it yet. It's a change > that affects OpenJDK8 and our main focus has been on 6 & 7 so far, as that's > what we actually ship. > > I do plan to start looking at it, but we need to be careful that we don't > regress in doing so i.e. we need to be able to produce an near-identical > image from the new build as we do now from the old one, and there are a lot > of required fixes on top that we're still in the process of upstreaming. > > It also may be that we end up not needing IcedTea for 8 if enough work goes > upstream. That's something we need to consider as well. Now, 1.5 years later and with the release of JDK8 getting closer, I'm just curious on how the IcedTea project is doing with JDK8. I've been skimming this list and I haven't seen any references to JDK8, but I'm not sure what that means. Have you started any IcedTea support for JDK8, or did it actually end up with IcedTea not being needed for JDK8? Is the new build system of any help? /Magnus From omajid at redhat.com Wed Jan 22 13:43:30 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 22 Jan 2014 16:43:30 -0500 Subject: Adapting IcedTea for the new OpenJDK build system (build-infra) In-Reply-To: <52E03035.40806@oracle.com> References: <1401636605.10464511.1345815280341.JavaMail.root@redhat.com> <52E03035.40806@oracle.com> Message-ID: <20140122214329.GA15115@redhat.com> Hi, I can't speak for the entire community, but I will share my experience and what I have seen. * Magnus Ihse Bursie [2014-01-22 15:57]: > Now, 1.5 years later and with the release of JDK8 getting closer, > I'm just curious on how the IcedTea project is doing with JDK8. I've > been skimming this list and I haven't seen any references to JDK8, > but I'm not sure what that means. Mostly, it just means that most of us have been too busy with other things (including OpenJDK/IcedTea 6 and 7) to work much on IcedTea 8. We are tracking what needs to be added to OpenJDK8 for IcedTea8 here: http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8 But that's just patches and not most of the other work that has been put into IcedTea6 or IcedTea7. > Have you started any IcedTea support for JDK8, I am not sure; we haven't updated IcedTea8 in a while (at least, not that I know of). > or did it actually > end up with IcedTea not being needed for JDK8? Speaking for myself, I have actually added a non-IcedTea8 build of OpenJDK8 to Fedora [1]. It is missing lots of things that are maintained in IcedTea, though. Still, as a proof of concept, it seems like it is mostly working. I think we will need _some_ variant of IcedTea8 for OpenJDK8. Even ignoring all the non-OpenJDK parts of IcedTea (such as alternate VMs and ports), we will need it for release branches. We need release branches (and releases/tags). In lots of distributions, major version updates are not allowed and we need to have release branches that just contain security fixes (and major bug fixes) but nothing else. > Is the new build system of any help? IMO, the answer is a big "YES". The new build system (thanks to it's autotools nature) is both familiar and sensible when it comes to adding/removing and modifying things. I have found most fixes rather straight-forward. If I have been a little slow in trying to upstream them, it's because I was hesitant to re-implement the build fixes in both the old build system and the new build system. Thanks, Omair [1] http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec#n427 -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Wed Jan 22 14:05:00 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 22 Jan 2014 17:05:00 -0500 Subject: [rfc][icedtea-web] tuning of properties loading In-Reply-To: <52E01006.30700@redhat.com> References: <52E01006.30700@redhat.com> Message-ID: <52E0408C.6010002@redhat.com> On 01/22/2014 01:37 PM, Jiri Vanek wrote: > By hitting https://bugzilla.redhat.com/show_bug.cgi?id i realized, > that we made an serious error by not dying on ConfigureException. > This patch is fixing it. It also fix an bug, when > deployment.system.config.mandatory is true, and invlaid url is proposed. > It also add few cosmetic changes > - few docs > - better error reporting from loading the global config > - better handling of non fatal (==non ConfigureException) ) exception > - logged > - defautls are used > - if it is not processed, then instantiation error is thrown > instead, which is not much helpful... > > The reproducers for this are hardly to be possible, as both global > files needs root permissions. However some unitsts will be hopefully > possible. > > Thanx, > J. + if (systemPropertiesMandatory == true){ + throw new ConfigurationException("Invalid url to system properties, which are mandatory"); " == true" ? ;) } catch (IOException e) { + if (mandatory){ + throw new ConfigurationException(e.getMessage());//unluckily ConfigurationException can not have cause + } ConfigurationException does have initCause(Throwable), does this not match what you need? It gets this from its superclass NamingException which implements Throwable. + //to be sure - we MUST die -http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html + }catch(Throwable t){ + //all exceptions are causing InstantiatizationError so this do it much more readble + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, getMessage("RFailingToDefault")); + //try to survive this unlikely exception + config.resetToDefaults(); Hmm, what's the motivation behind adding this? What is there that's causing InstantiationErrors [1], and if these occur, should it be trying to survive? Usually you don't want to be catching Errors [2], so catch-all Throwable is even worse than catch-all Exception. [1] http://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationError.html [2] http://docs.oracle.com/javase/7/docs/api/java/lang/Error.html Thanks, -- Andrew A From gnu.andrew at redhat.com Wed Jan 22 14:46:54 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 22 Jan 2014 17:46:54 -0500 (EST) Subject: Adapting IcedTea for the new OpenJDK build system (build-infra) In-Reply-To: <20140122214329.GA15115@redhat.com> References: <1401636605.10464511.1345815280341.JavaMail.root@redhat.com> <52E03035.40806@oracle.com> <20140122214329.GA15115@redhat.com> Message-ID: <1914900430.5606225.1390430814289.JavaMail.root@redhat.com> ----- Original Message ----- > Hi, > > I can't speak for the entire community, but I will share my experience > and what I have seen. > > * Magnus Ihse Bursie [2014-01-22 15:57]: > > Now, 1.5 years later and with the release of JDK8 getting closer, > > I'm just curious on how the IcedTea project is doing with JDK8. I've > > been skimming this list and I haven't seen any references to JDK8, > > but I'm not sure what that means. > > Mostly, it just means that most of us have been too busy with other > things (including OpenJDK/IcedTea 6 and 7) to work much on IcedTea 8. We > are tracking what needs to be added to OpenJDK8 for IcedTea8 here: > http://icedtea.classpath.org/wiki/IcedTea_Patches_for_OpenJDK_8 > > But that's just patches and not most of the other work that has been put > into IcedTea6 or IcedTea7. > > > Have you started any IcedTea support for JDK8, > > I am not sure; we haven't updated IcedTea8 in a while (at least, not > that I know of). The IcedTea 3.x series is on b80. That's about the last time we had chance to look at it. It can also be built with JamVM, as Xerxes has done some work on that. Security updates have taken up all our time and, now they are occurring every three months, that's only going to increase. That has to be the priority, together with fixes for the bugs people encounter, because that's what people are actually using. Personally, I feel 8 has come far too quick. We're still seeing a lot of interest in 6 and 7 is really only just now settling down, IMHO. I'd have preferred 8 be released in maybe two or three years time, but it feels like there is a rush to obsolete things almost as soon as they are released. > > > or did it actually > > end up with IcedTea not being needed for JDK8? > > Speaking for myself, I have actually added a non-IcedTea8 build of > OpenJDK8 to Fedora [1]. It is missing lots of things that are maintained > in IcedTea, though. Still, as a proof of concept, it seems like it is > mostly working. > > I think we will need _some_ variant of IcedTea8 for OpenJDK8. Even > ignoring all the non-OpenJDK parts of IcedTea (such as alternate VMs and > ports), we will need it for release branches. We need release branches > (and releases/tags). In lots of distributions, major version updates are > not allowed and we need to have release branches that just contain > security fixes (and major bug fixes) but nothing else. I concur with Omair on this. IcedTea has always been about providing OpenJDK in a more consumable form and, though we no longer have to work around most of the technical issues that were apparent at the start, we still end up providing things like a more usual release cycle and somewhere for people to put fixes. It's still far too hard to get stuff into OpenJDK upstream; it varies depending on what component you want to get it into and also, bizarrely, who is proposing the fix. I've had no problem getting build fixes in, especially with the new system, presumably because we're now well known and in contact with the people working on it. On the other hand, I still can't commit to HotSpot, even as an OpenJDK reviewer. I have no idea how HotSpot fixes make it from 8 into the update cycles, to the point that I'm on the verge of giving up. I'm paid to work on this, but my time is still limited as mentioned above. It doesn't surprise me we don't see many volunteers. However, what makes me saddest is when I see someone post a patch who hasn't before and it is simply ignored. No response at all. I understand people are busy at Oracle too, but sometimes this just comes across as rude. The other big thing is there are no security release tarballs. I discussed this with Dalibor in October 2012 on the 7u list, but it seemed to go nowhere. There are at least tags, but it means to get a release with just the additional security fixes, you have to pull that tag from each repo and hope you don't end up with stuff from the next release. This could very easily be made simpler for people, but I got the impression that there was no desire to target end users. > > > Is the new build system of any help? > > IMO, the answer is a big "YES". The new build system (thanks to it's > autotools nature) is both familiar and sensible when it comes to > adding/removing and modifying things. I have found most fixes rather > straight-forward. If I have been a little slow in trying to upstream > them, it's because I was hesitant to re-implement the build fixes in > both the old build system and the new build system. I have had chance to try it since b80 at which point both the new and old were present, but only one was usable. I found it all very confusing and most of my time was spent fixing regressions, so I didn't have the best experience. Finding two places that seem to do the same thing, but then you find one isn't being used any more, isn't helpful. I understand the old build system has finally been thrown out (long overdue) so things may well have improved. I'm sure the configure step now makes it easier for people building raw OpenJDK, but as we've had that with IcedTea from the start, it's not a huge boon for us. What was odd was that some options seemed to be available in configure while others were still only in make variables; again this may now have been fixed. I guess the main effect it has had is that it's made it more difficult to get things in, because we're supposed to go 8->7->6, but if the fix contains build changes, those changes will be completely different on 6 & 7. I'm still not sure how we deal with this going forward. People claim the new build is faster, but I honestly didn't really notice. Maybe this was just because doing parallel builds with the old build was so obscure that people didn't enable it? IcedTea has for a long time, so I've always been building on 8 cores where supported. > > Thanks, > Omair > > [1] > http://pkgs.fedoraproject.org/cgit/java-1.8.0-openjdk.git/tree/java-1.8.0-openjdk.spec#n427 > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > I'm sorry this all sounds so negative, but, from my perspective, I have enough on my plate already without 8 coming into the picture. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Wed Jan 22 16:53:49 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 00:53:49 +0000 Subject: /hg/release/icedtea6-1.13: Start 1.13.2 release cycle. Message-ID: changeset f49a6db8092f in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=f49a6db8092f author: Andrew John Hughes date: Thu Jan 23 00:53:36 2014 +0000 Start 1.13.2 release cycle. 2014-01-23 Andrew John Hughes * configure.ac: Set to 1.13.2pre. * NEWS: Add 1.13.2 section and missing CVE. diffstat: ChangeLog | 5 +++++ NEWS | 4 +++- configure.ac | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diffs (42 lines): diff -r f1cb7c2a533b -r f49a6db8092f ChangeLog --- a/ChangeLog Wed Jan 22 15:07:55 2014 +0000 +++ b/ChangeLog Thu Jan 23 00:53:36 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-23 Andrew John Hughes + + * configure.ac: Set to 1.13.2pre. + * NEWS: Add 1.13.2 section and missing CVE. + 2014-01-22 Andrew John Hughes * configure.ac: Set to 1.13.1. diff -r f1cb7c2a533b -r f49a6db8092f NEWS --- a/NEWS Wed Jan 22 15:07:55 2014 +0000 +++ b/NEWS Thu Jan 23 00:53:36 2014 +0000 @@ -12,6 +12,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 1.13.2 (2014-04-XX): + New in release 1.13.1 (2014-01-22): * Security fixes @@ -20,7 +22,7 @@ - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list - - S8021271: Better buffering in ObjC code + - S8021271, CVE-2014-0408: Better buffering in ObjC code - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes diff -r f1cb7c2a533b -r f49a6db8092f configure.ac --- a/configure.ac Wed Jan 22 15:07:55 2014 +0000 +++ b/configure.ac Thu Jan 23 00:53:36 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.13.1],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.13.2pre],[distro-pkg-dev at openjdk.java.net]) AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) From andrew at icedtea.classpath.org Wed Jan 22 16:56:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 00:56:43 +0000 Subject: /hg/release/icedtea6-1.12: Start 1.12.9 release cycle. Message-ID: changeset d0623b79350a in /hg/release/icedtea6-1.12 details: http://icedtea.classpath.org/hg/release/icedtea6-1.12?cmd=changeset;node=d0623b79350a author: Andrew John Hughes date: Thu Jan 23 00:56:22 2014 +0000 Start 1.12.9 release cycle. 2014-01-23 Andrew John Hughes * configure.ac: Set to 1.12.9pre. * NEWS: Add 1.12.9 section. diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r 2d5401078e59 -r d0623b79350a ChangeLog --- a/ChangeLog Wed Jan 22 08:26:14 2014 +0000 +++ b/ChangeLog Thu Jan 23 00:56:22 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-23 Andrew John Hughes + + * configure.ac: Set to 1.12.9pre. + * NEWS: Add 1.12.9 section. + 2014-01-22 Andrew John Hughes * configure.ac: Set to 1.12.8. diff -r 2d5401078e59 -r d0623b79350a NEWS --- a/NEWS Wed Jan 22 08:26:14 2014 +0000 +++ b/NEWS Thu Jan 23 00:56:22 2014 +0000 @@ -11,6 +11,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 1.12.9 (2014-04-XX): + New in release 1.12.8 (2014-01-22): * Security fixes diff -r 2d5401078e59 -r d0623b79350a configure.ac --- a/configure.ac Wed Jan 22 08:26:14 2014 +0000 +++ b/configure.ac Thu Jan 23 00:56:22 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.12.8],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.12.9pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Wed Jan 22 17:22:32 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 01:22:32 +0000 Subject: /hg/icedtea6: Add 1.12.8 & 1.13.1 release notes. Message-ID: changeset 3d420569bf1d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=3d420569bf1d author: Andrew John Hughes date: Thu Jan 23 01:21:49 2014 +0000 Add 1.12.8 & 1.13.1 release notes. 2014-01-23 Andrew John Hughes * NEWS: Add 1.12.8 & 1.13.1 release notes. diffstat: ChangeLog | 4 ++++ NEWS | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 2 files changed, 56 insertions(+), 2 deletions(-) diffs (84 lines): diff -r df7f5fed4615 -r 3d420569bf1d ChangeLog --- a/ChangeLog Wed Jan 22 09:53:21 2014 +0000 +++ b/ChangeLog Thu Jan 23 01:21:49 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-23 Andrew John Hughes + + * NEWS: Add 1.12.8 & 1.13.1 release notes. + 2014-01-22 Andrew John Hughes * Makefile.am: diff -r df7f5fed4615 -r 3d420569bf1d NEWS --- a/NEWS Wed Jan 22 09:53:21 2014 +0000 +++ b/NEWS Thu Jan 23 01:21:49 2014 +0000 @@ -14,6 +14,51 @@ New in release 1.14.0 (201X-XX-XX): +New in release 1.13.1 (2014-01-22): + +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Import of OpenJDK6 b30 + - OJ24: Fix change summary generator + - OJ25: Remove @Override annotation added on interfaces by 2014/01/14 security fixes + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fix path in nss-not-enabled-config.patch. + +New in release 1.12.8 (2014-01-22): + * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses @@ -45,10 +90,15 @@ - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up -* Import of OpenJDK6 b30 - - OJ24: Fix change summary generator +* Backports - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fail if a C and C++ compiler are not detected. + - Fix path in nss-not-enabled-config.patch. +* SystemTap support: + - Ensure all patches are applied. New in release 1.13.0 (2013-12-26): From andrew at icedtea.classpath.org Wed Jan 22 17:25:17 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 01:25:17 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset f56b445a2081 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f56b445a2081 author: Andrew John Hughes date: Tue Jan 21 19:54:26 2014 +0000 Fix path in nss-not-enabled-config.patch 2014-01-10 Omair Majid * patches/nss-not-enabled-config.patch: Fix path to java.security. changeset 94c0b31c2a43 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=94c0b31c2a43 author: Andrew John Hughes date: Mon Jan 20 18:42:31 2014 +0000 Credit Aurelien Jarno for D729448 patch. 2014-01-20 Andrew John Hughes * AUTHORS: Credit Aurelien Jarno for D729448 patch. diffstat: AUTHORS | 1 + ChangeLog | 10 ++++++++++ patches/nss-not-enabled-config.patch | 2 +- 3 files changed, 12 insertions(+), 1 deletions(-) diffs (38 lines): diff -r 3d420569bf1d -r 94c0b31c2a43 AUTHORS --- a/AUTHORS Thu Jan 23 01:21:49 2014 +0000 +++ b/AUTHORS Mon Jan 20 18:42:31 2014 +0000 @@ -19,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Aurelien Jarno C. K. Jester-Young (cky944 at gmail.com) Alex Kasko (alex.kasko.lists at gmail.com) Matthias Klose diff -r 3d420569bf1d -r 94c0b31c2a43 ChangeLog --- a/ChangeLog Thu Jan 23 01:21:49 2014 +0000 +++ b/ChangeLog Mon Jan 20 18:42:31 2014 +0000 @@ -1,3 +1,13 @@ +2014-01-20 Andrew John Hughes + + * AUTHORS: + Credit Aurelien Jarno for D729448 patch. + +2014-01-10 Omair Majid + + * patches/nss-not-enabled-config.patch: Fix path + to java.security. + 2014-01-23 Andrew John Hughes * NEWS: Add 1.12.8 & 1.13.1 release notes. diff -r 3d420569bf1d -r 94c0b31c2a43 patches/nss-not-enabled-config.patch --- a/patches/nss-not-enabled-config.patch Thu Jan 23 01:21:49 2014 +0000 +++ b/patches/nss-not-enabled-config.patch Mon Jan 20 18:42:31 2014 +0000 @@ -1,5 +1,5 @@ --- lib/security/java.security.old 2009-08-25 11:43:59.000000000 +0100 -+++ lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 ++++ lib/security/java.security-linux 2009-08-27 14:23:54.000000000 +0100 @@ -51,6 +51,10 @@ security.provider.6=com.sun.security.sasl.Provider security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI From andrew at icedtea.classpath.org Wed Jan 22 17:25:44 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 01:25:44 +0000 Subject: /hg/icedtea6-hg: 4 new changesets Message-ID: changeset df7f5fed4615 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=df7f5fed4615 author: Andrew John Hughes date: Wed Jan 22 09:53:21 2014 +0000 Update to b30 tarball. 2014-01-22 Andrew John Hughes * Makefile.am: (OPENJDK_DATE): Set to date of b30. (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. changeset 3d420569bf1d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=3d420569bf1d author: Andrew John Hughes date: Thu Jan 23 01:21:49 2014 +0000 Add 1.12.8 & 1.13.1 release notes. 2014-01-23 Andrew John Hughes * NEWS: Add 1.12.8 & 1.13.1 release notes. changeset f56b445a2081 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=f56b445a2081 author: Andrew John Hughes date: Tue Jan 21 19:54:26 2014 +0000 Fix path in nss-not-enabled-config.patch 2014-01-10 Omair Majid * patches/nss-not-enabled-config.patch: Fix path to java.security. changeset 94c0b31c2a43 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=94c0b31c2a43 author: Andrew John Hughes date: Mon Jan 20 18:42:31 2014 +0000 Credit Aurelien Jarno for D729448 patch. 2014-01-20 Andrew John Hughes * AUTHORS: Credit Aurelien Jarno for D729448 patch. diffstat: AUTHORS | 1 + ChangeLog | 21 ++++++++++++++ Makefile.am | 6 ++-- NEWS | 54 ++++++++++++++++++++++++++++++++++- patches/nss-not-enabled-config.patch | 2 +- 5 files changed, 78 insertions(+), 6 deletions(-) diffs (144 lines): diff -r b2459cb1e254 -r 94c0b31c2a43 AUTHORS --- a/AUTHORS Fri Jan 17 23:04:10 2014 +0000 +++ b/AUTHORS Mon Jan 20 18:42:31 2014 +0000 @@ -19,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Aurelien Jarno C. K. Jester-Young (cky944 at gmail.com) Alex Kasko (alex.kasko.lists at gmail.com) Matthias Klose diff -r b2459cb1e254 -r 94c0b31c2a43 ChangeLog --- a/ChangeLog Fri Jan 17 23:04:10 2014 +0000 +++ b/ChangeLog Mon Jan 20 18:42:31 2014 +0000 @@ -1,3 +1,24 @@ +2014-01-20 Andrew John Hughes + + * AUTHORS: + Credit Aurelien Jarno for D729448 patch. + +2014-01-10 Omair Majid + + * patches/nss-not-enabled-config.patch: Fix path + to java.security. + +2014-01-23 Andrew John Hughes + + * NEWS: Add 1.12.8 & 1.13.1 release notes. + +2014-01-22 Andrew John Hughes + + * Makefile.am: + (OPENJDK_DATE): Set to date of b30. + (OPENJDK_SHA256SUM): Add b30 SHA256 checksum. + (OPENJDK_SRC_ZIP): Switch to smaller xz tarball. + 2014-01-17 Andrew John Hughes * NEWS: Add fixes added to upstream. diff -r b2459cb1e254 -r 94c0b31c2a43 Makefile.am --- a/Makefile.am Fri Jan 17 23:04:10 2014 +0000 +++ b/Makefile.am Mon Jan 20 18:42:31 2014 +0000 @@ -1,7 +1,7 @@ # Dependencies -OPENJDK_DATE = 05_dec_2013 -OPENJDK_SHA256SUM = a9b1b0a48fb52aef82bbe5db33b1dae1672fc8a5f456451f2e300158fc7a7d6b +OPENJDK_DATE = 21_jan_2014 +OPENJDK_SHA256SUM = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475 OPENJDK_VERSION = b30 OPENJDK_URL = https://java.net/downloads/openjdk6/ @@ -175,7 +175,7 @@ if USE_HG OPENJDK_SRC_ZIP = else - OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.gz + OPENJDK_SRC_ZIP = openjdk-6-src-$(OPENJDK_VERSION)-$(OPENJDK_DATE).tar.xz endif # FIXME (HotSpot): HotSpot changeset logic goes here diff -r b2459cb1e254 -r 94c0b31c2a43 NEWS --- a/NEWS Fri Jan 17 23:04:10 2014 +0000 +++ b/NEWS Mon Jan 20 18:42:31 2014 +0000 @@ -14,6 +14,51 @@ New in release 1.14.0 (201X-XX-XX): +New in release 1.13.1 (2014-01-22): + +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Import of OpenJDK6 b30 + - OJ24: Fix change summary generator + - OJ25: Remove @Override annotation added on interfaces by 2014/01/14 security fixes + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fix path in nss-not-enabled-config.patch. + +New in release 1.12.8 (2014-01-22): + * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP statuses @@ -45,10 +90,15 @@ - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up -* Import of OpenJDK6 b30 - - OJ24: Fix change summary generator +* Backports - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - Fail if a C and C++ compiler are not detected. + - Fix path in nss-not-enabled-config.patch. +* SystemTap support: + - Ensure all patches are applied. New in release 1.13.0 (2013-12-26): diff -r b2459cb1e254 -r 94c0b31c2a43 patches/nss-not-enabled-config.patch --- a/patches/nss-not-enabled-config.patch Fri Jan 17 23:04:10 2014 +0000 +++ b/patches/nss-not-enabled-config.patch Mon Jan 20 18:42:31 2014 +0000 @@ -1,5 +1,5 @@ --- lib/security/java.security.old 2009-08-25 11:43:59.000000000 +0100 -+++ lib/security/java.security 2009-08-27 14:23:54.000000000 +0100 ++++ lib/security/java.security-linux 2009-08-27 14:23:54.000000000 +0100 @@ -51,6 +51,10 @@ security.provider.6=com.sun.security.sasl.Provider security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 01:47:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 09:47:15 +0000 Subject: [Bug 1652] Fatal: Read Error: Could not read or parse the JNLP file. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1652 --- Comment #2 from JacKal --- (In reply to comment #1) > If you edit the JNLP file (tasmanager.cgi) and look for this line: > > > > the parser is complaining about the word splash not being enclosed in > quotation marks. Changing the line to this: > > > > fixes the parse exception, and launch continues past this stage. > > The new parser in 1.5 handles this file fine with no modifications. Thanks! -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/2f8fc612/attachment.html From ptisnovs at icedtea.classpath.org Thu Jan 23 04:20:55 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 23 Jan 2014 12:20:55 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColor test s... Message-ID: changeset 48428250e782 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=48428250e782 author: Pavel Tisnovsky date: Thu Jan 23 13:25:12 2014 +0100 Ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r d1faa4ad873b -r 48428250e782 ChangeLog --- a/ChangeLog Wed Jan 22 14:01:05 2014 +0100 +++ b/ChangeLog Thu Jan 23 13:25:12 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-23 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Ten new tests added into BitBltUsingBgColor test suite. + 2014-01-22 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r d1faa4ad873b -r 48428250e782 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Jan 22 14:01:05 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Jan 23 13:25:12 2014 +0100 @@ -5102,6 +5102,156 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_PRE. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeIntARGB_Pre_backgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.yellow); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Thu Jan 23 04:22:59 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 23 Jan 2014 12:22:59 +0000 Subject: /hg/rhino-tests: Test improvements. Message-ID: changeset ec46202571e9 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ec46202571e9 author: Pavel Tisnovsky date: Thu Jan 23 13:27:15 2014 +0100 Test improvements. diffstat: ChangeLog | 5 + src/org/RhinoTests/SimpleScriptContextClassTest.java | 248 +++++++++++++++++++ 2 files changed, 253 insertions(+), 0 deletions(-) diffs (298 lines): diff -r 3054fb3dccb4 -r ec46202571e9 ChangeLog --- a/ChangeLog Wed Jan 22 14:03:28 2014 +0100 +++ b/ChangeLog Thu Jan 23 13:27:15 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-23 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + Test improvements. + 2014-01-22 Pavel Tisnovsky * src/org/RhinoTests/BindingsClassTest.java: diff -r 3054fb3dccb4 -r ec46202571e9 src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Wed Jan 22 14:03:28 2014 +0100 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Thu Jan 23 13:27:15 2014 +0100 @@ -1508,6 +1508,214 @@ } try { + this.simpleScriptContextClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1594,6 +1802,14 @@ } try { + this.simpleScriptContextClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1650,6 +1866,14 @@ } try { + this.simpleScriptContextClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1658,6 +1882,14 @@ } try { + this.simpleScriptContextClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1666,6 +1898,22 @@ } try { + this.simpleScriptContextClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.io.File("xyzzy")); + throw new AssertionError("Class.cast(new java.io.File(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } From titu at keba.ro Thu Jan 23 05:22:50 2014 From: titu at keba.ro (titu) Date: Thu, 23 Jan 2014 15:22:50 +0200 Subject: configure: error: Could not find Xproto headers - Try installing xorg-x11-proto-devel Message-ID: <1390483370.2045.28.camel@titu-N53Jq> I downloaded icedtea-2.4.4 on raspberry and executed the command ./configure --enable-cacao --without-rhino --disable-system-kerberos --disable-system-zlib --disable-system-jpeg --disable-system-png --disable-system-gif --disable-system-lcms --disable-system-gtk --disable-system-gio --disable-system-fontconfig --disable-compile-against-syscalls The output is configure: error: Could not find Xproto headers - Try installing xorg-x11-proto-devel. Information about the system: root at raspberry-pi:~# cat /proc/cpuinfo Processor : ARMv6-compatible processor rev 7 (v6l) BogoMIPS : 697.95 Features : swp half thumb fastmult vfp edsp java tls CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xb76 CPU revision : 7 Hardware : BCM2708 Revision : 000e Serial : 00000000cbe2dc72 root at raspberry-pi:~# java -version java version "1.7.0_25" OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1~deb7u1+rpi1) OpenJDK Zero VM (build 22.0-b10, mixed mode) root at raspberry-pi:~# cat /proc/version Linux version 3.6.11+ (dc4 at dc4-arm-01) (gcc version 4.7.2 20120731 (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) #545 PREEMPT Fri Sep 20 23:57:55 BST 2013 root at raspberry-pi:/opt/icedtea-2.4.4# find / -name Xproto.h /usr/include/X11/Xproto.h root at raspberry-pi:/opt/icedtea-2.4.4# apt-cache search xorg-x11-proto-devel empty The image I downloaded from http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/ I want to install icedtea and cacao because our application started with openjdk runs very slow. Thank you, Titu -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/6be66540/attachment.html From gnu.andrew at redhat.com Thu Jan 23 05:55:17 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 23 Jan 2014 08:55:17 -0500 (EST) Subject: configure: error: Could not find Xproto headers - Try installing xorg-x11-proto-devel In-Reply-To: <1390483370.2045.28.camel@titu-N53Jq> References: <1390483370.2045.28.camel@titu-N53Jq> Message-ID: <1567062290.5912418.1390485317668.JavaMail.root@redhat.com> ----- Original Message ----- > I downloaded icedtea-2.4.4 on raspberry and executed the command > ./configure --enable-cacao --without-rhino --disable-system-kerberos > --disable-system-zlib --disable-system-jpeg --disable-system-png > --disable-system-gif --disable-system-lcms --disable-system-gtk > --disable-system-gio --disable-system-fontconfig > --disable-compile-against-syscalls > > The output is > configure: error: Could not find Xproto headers - Try installing > xorg-x11-proto-devel. > > > > Information about the system: > root at raspberry-pi:~# cat /proc/cpuinfo > Processor : ARMv6-compatible processor rev 7 (v6l) > BogoMIPS : 697.95 > Features : swp half thumb fastmult vfp edsp java tls > CPU implementer : 0x41 > CPU architecture: 7 > CPU variant : 0x0 > CPU part : 0xb76 > CPU revision : 7 > > Hardware : BCM2708 > Revision : 000e > Serial : 00000000cbe2dc72 > > root at raspberry-pi:~# java -version > java version "1.7.0_25" > OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1~deb7u1+rpi1) > OpenJDK Zero VM (build 22.0-b10, mixed mode) > > root at raspberry-pi:~# cat /proc/version > Linux version 3.6.11+ (dc4 at dc4-arm-01) (gcc version 4.7.2 20120731 > (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) > #545 PREEMPT Fri Sep 20 23:57:55 BST 2013 > > root at raspberry-pi:/opt/icedtea-2.4.4# find / -name Xproto.h > /usr/include/X11/Xproto.h > > root at raspberry-pi:/opt/icedtea-2.4.4# apt-cache search > xorg-x11-proto-devel > empty > > The image I downloaded from > http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/ > I want to install icedtea and cacao because our application started with > openjdk runs very slow. > > Thank you, > Titu > Can you attach the config.log file from your build? That would give me more idea why it's failing; the error output is just a best guess. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From titu at keba.ro Thu Jan 23 06:21:44 2014 From: titu at keba.ro (titu) Date: Thu, 23 Jan 2014 16:21:44 +0200 Subject: configure: error: Could not find Xproto headers - Try installing xorg-x11-proto-devel In-Reply-To: <1567062290.5912418.1390485317668.JavaMail.root@redhat.com> References: <1390483370.2045.28.camel@titu-N53Jq> <1567062290.5912418.1390485317668.JavaMail.root@redhat.com> Message-ID: <1390486904.2045.34.camel@titu-N53Jq> I executed this command apt-get build-dep openjdk-7-jdk and executed again root at raspberry-pi:/opt/icedtea-2.4.4# ./configure --enable-cacao --without-rhino --disable-system-kerberos --disable-system-zlib --disable-system-jpeg --disable-system-png --disable-system-gif --disable-system-lcms --disable-system-gtk --disable-system-gio --disable-system-fontconfig --disable-compile-against-syscalls // command successfully executed after that I executed make root at raspberry-pi:/opt/icedtea-2.4.4# make CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /opt/icedtea-2.4.4/missing aclocal-1.13 /opt/icedtea-2.4.4/missing: line 81: aclocal-1.13: command not found WARNING: 'aclocal-1.13' is missing on your system. You should only need it if you modified 'acinclude.m4' or 'configure.ac' or m4 files included by 'configure.ac'. The 'aclocal' program is part of the GNU Automake package: It also requires GNU Autoconf, GNU m4 and Perl in order to run: make: *** [aclocal.m4] Error 127 On Thu, 2014-01-23 at 08:55 -0500, Andrew Hughes wrote: > > ----- Original Message ----- > > I downloaded icedtea-2.4.4 on raspberry and executed the command > > ./configure --enable-cacao --without-rhino --disable-system-kerberos > > --disable-system-zlib --disable-system-jpeg --disable-system-png > > --disable-system-gif --disable-system-lcms --disable-system-gtk > > --disable-system-gio --disable-system-fontconfig > > --disable-compile-against-syscalls > > > > The output is > > configure: error: Could not find Xproto headers - Try installing > > xorg-x11-proto-devel. > > > > > > > > Information about the system: > > root at raspberry-pi:~# cat /proc/cpuinfo > > Processor : ARMv6-compatible processor rev 7 (v6l) > > BogoMIPS : 697.95 > > Features : swp half thumb fastmult vfp edsp java tls > > CPU implementer : 0x41 > > CPU architecture: 7 > > CPU variant : 0x0 > > CPU part : 0xb76 > > CPU revision : 7 > > > > Hardware : BCM2708 > > Revision : 000e > > Serial : 00000000cbe2dc72 > > > > root at raspberry-pi:~# java -version > > java version "1.7.0_25" > > OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1~deb7u1+rpi1) > > OpenJDK Zero VM (build 22.0-b10, mixed mode) > > > > root at raspberry-pi:~# cat /proc/version > > Linux version 3.6.11+ (dc4 at dc4-arm-01) (gcc version 4.7.2 20120731 > > (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) > > #545 PREEMPT Fri Sep 20 23:57:55 BST 2013 > > > > root at raspberry-pi:/opt/icedtea-2.4.4# find / -name Xproto.h > > /usr/include/X11/Xproto.h > > > > root at raspberry-pi:/opt/icedtea-2.4.4# apt-cache search > > xorg-x11-proto-devel > > empty > > > > The image I downloaded from > > http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/ > > I want to install icedtea and cacao because our application started with > > openjdk runs very slow. > > > > Thank you, > > Titu > > > > Can you attach the config.log file from your build? That would give me more idea > why it's failing; the error output is just a best guess. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/5c225ed6/attachment-0001.html -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: text/x-log Size: 57975 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/5c225ed6/config-0001.log From aazores at redhat.com Thu Jan 23 08:47:03 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 23 Jan 2014 11:47:03 -0500 Subject: [rfc][icedtea-web] tuning of properties loading In-Reply-To: <52E140C8.7070502@redhat.com> References: <52E01006.30700@redhat.com> <52E0408C.6010002@redhat.com> <52E140C8.7070502@redhat.com> Message-ID: <52E14787.8060305@redhat.com> On 01/23/2014 11:18 AM, Jiri Vanek wrote: > >> } catch (IOException e) { >> + if (mandatory){ >> + throw new >> ConfigurationException(e.getMessage());//unluckily >> ConfigurationException can not have cause >> + } >> >> >> ConfigurationException does have initCause(Throwable), does this not >> match what you need? It gets >> this from its superclass NamingException which implements Throwable. > > Ah I overlooked!. Tahnx. Fixed. I still see this: + if (mandatory){ + throw new ConfigurationException(e.getMessage());//unluckily ConfigurationException can not have cause + } why not use it here as well? Also, this is just a style thing and feel free to ignore, but: + ConfigurationException ce = new ConfigurationException("Invalid url to system properties, which are mandatory"); + ce.initCause(e); + throw ce; could also simply become: + throw new ConfigurationException("Invalid url to system properties, which are mandatory").initCause(e); since Throwable#initCause(Throwable) is defined to return "this" at the end. >> >> + //to be sure - we MUST die >> -http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html >> >> + }catch(Throwable t){ >> + //all exceptions are causing InstantiatizationError >> so this do it much more readble >> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); >> + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, >> getMessage("RFailingToDefault")); >> + //try to survive this unlikely exception >> + config.resetToDefaults(); >> >> >> Hmm, what's the motivation behind adding this? What is there that's >> causing InstantiationErrors [1], >> and if these occur, should it be trying to survive? Usually you don't >> want to be catching Errors >> [2], so catch-all Throwable is even worse than catch-all Exception. > > a) the NoClassDefFoundError error is fatal and non recoverable > b) no solid info *why* it happened appeared (consumed any > NoClassDefFoundError?) > c) we can run pretty well with defaults (and msut warn user - I'm > thinking also about poping up an dialogue in non headless mode, but > I'm afraid that it cnabe to early to (maybe another chnageset) > > I do not insist on throwable, If you wish I can lower to general > exception or whatever you wont. But defintley do not wont this static > block to throw something > Well, NoClassDefFoundError is a a subclass of Error, not Exception, so catching general Exception will still not catch this! If you want this method to absolutely never throw anything without first catching it on its own, then Throwable is the only choice you have. >> >> [1] >> http://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationError.html > > Ugh sorry - it is java.lang.NoClassDefFoundError: Could not initialize > class > net.sourceforge.jnlp.runtime.JNLPRuntime$DeploymentConfigurationHolder > what is thrown when static initializer throw some excption out. Ah okay this makes sense, I understand the motivation now. Catching all Throwable still sounds kind of scary to me though, because this includes all kinds of Error subclasses that are really not meant to be recoverable. Are you sure you want to be consuming and ignoring VirtualMachineError, AssertionError, and LinkageError? Thanks, -- Andrew A From gnu.andrew at redhat.com Thu Jan 23 09:37:48 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 23 Jan 2014 12:37:48 -0500 (EST) Subject: configure: error: Could not find Xproto headers - Try installing xorg-x11-proto-devel In-Reply-To: <1390486904.2045.34.camel@titu-N53Jq> References: <1390483370.2045.28.camel@titu-N53Jq> <1567062290.5912418.1390485317668.JavaMail.root@redhat.com> <1390486904.2045.34.camel@titu-N53Jq> Message-ID: <1929619696.6065760.1390498668305.JavaMail.root@redhat.com> ----- Original Message ----- > > I executed this command > apt-get build-dep openjdk-7-jdk > > and executed again > root at raspberry-pi:/opt/icedtea-2.4.4# ./configure --enable-cacao > --without-rhino --disable-system-kerberos --disable-system-zlib > --disable-system-jpeg --disable-system-png --disable-system-gif > --disable-system-lcms --disable-system-gtk --disable-system-gio > --disable-system-fontconfig --disable-compile-against-syscalls > > // command successfully executed > > after that I executed make > root at raspberry-pi:/opt/icedtea-2.4.4# make > CDPATH="${ZSH_VERSION+.}:" && cd . > && /bin/bash /opt/icedtea-2.4.4/missing aclocal-1.13 > /opt/icedtea-2.4.4/missing: line 81: aclocal-1.13: command not found > WARNING: 'aclocal-1.13' is missing on your system. > You should only need it if you modified 'acinclude.m4' or > 'configure.ac' or m4 files included by 'configure.ac'. > The 'aclocal' program is part of the GNU Automake package: > > It also requires GNU Autoconf, GNU m4 and Perl in order to run: > > > > make: *** [aclocal.m4] Error 127 > > > > On Thu, 2014-01-23 at 08:55 -0500, Andrew Hughes wrote: > > > > > ----- Original Message ----- > > > I downloaded icedtea-2.4.4 on raspberry and executed the command > > > ./configure --enable-cacao --without-rhino --disable-system-kerberos > > > --disable-system-zlib --disable-system-jpeg --disable-system-png > > > --disable-system-gif --disable-system-lcms --disable-system-gtk > > > --disable-system-gio --disable-system-fontconfig > > > --disable-compile-against-syscalls > > > > > > The output is > > > configure: error: Could not find Xproto headers - Try installing > > > xorg-x11-proto-devel. > > > > > > > > > > > > Information about the system: > > > root at raspberry-pi:~# cat /proc/cpuinfo > > > Processor : ARMv6-compatible processor rev 7 (v6l) > > > BogoMIPS : 697.95 > > > Features : swp half thumb fastmult vfp edsp java tls > > > CPU implementer : 0x41 > > > CPU architecture: 7 > > > CPU variant : 0x0 > > > CPU part : 0xb76 > > > CPU revision : 7 > > > > > > Hardware : BCM2708 > > > Revision : 000e > > > Serial : 00000000cbe2dc72 > > > > > > root at raspberry-pi:~# java -version > > > java version "1.7.0_25" > > > OpenJDK Runtime Environment (IcedTea 2.3.10) (7u25-2.3.10-1~deb7u1+rpi1) > > > OpenJDK Zero VM (build 22.0-b10, mixed mode) > > > > > > root at raspberry-pi:~# cat /proc/version > > > Linux version 3.6.11+ (dc4 at dc4-arm-01) (gcc version 4.7.2 20120731 > > > (prerelease) (crosstool-NG linaro-1.13.1+bzr2458 - Linaro GCC 2012.08) ) > > > #545 PREEMPT Fri Sep 20 23:57:55 BST 2013 > > > > > > root at raspberry-pi:/opt/icedtea-2.4.4# find / -name Xproto.h > > > /usr/include/X11/Xproto.h > > > > > > root at raspberry-pi:/opt/icedtea-2.4.4# apt-cache search > > > xorg-x11-proto-devel > > > empty > > > > > > The image I downloaded from > > > http://www.linuxsystems.it/raspbian-wheezy-armhf-raspberry-pi-minimal-image/ > > > I want to install icedtea and cacao because our application started with > > > openjdk runs very slow. > > > > > > Thank you, > > > Titu > > > > > > > Can you attach the config.log file from your build? That would give me > > more idea > > why it's failing; the error output is just a best guess. > > > The config.log looks sane, but then it isn't for your original failure. Did you alter any of the tarball files? It looks like this has been detected and it's trying to re-run the autotools to rebuild. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From jvanek at redhat.com Thu Jan 23 08:18:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 23 Jan 2014 17:18:16 +0100 Subject: [rfc][icedtea-web] tuning of properties loading In-Reply-To: <52E0408C.6010002@redhat.com> References: <52E01006.30700@redhat.com> <52E0408C.6010002@redhat.com> Message-ID: <52E140C8.7070502@redhat.com> On 01/22/2014 11:05 PM, Andrew Azores wrote: > On 01/22/2014 01:37 PM, Jiri Vanek wrote: >> By hitting https://bugzilla.redhat.com/show_bug.cgi?id i realized, that we made an serious error >> by not dying on ConfigureException. >> This patch is fixing it. It also fix an bug, when deployment.system.config.mandatory is true, and >> invlaid url is proposed. >> It also add few cosmetic changes >> - few docs >> - better error reporting from loading the global config >> - better handling of non fatal (==non ConfigureException) ) exception >> - logged >> - defautls are used >> - if it is not processed, then instantiation error is thrown instead, which is not much helpful... >> >> The reproducers for this are hardly to be possible, as both global files needs root permissions. >> However some unitsts will be hopefully possible. >> >> Thanx, >> J. > > + if (systemPropertiesMandatory == true){ > + throw new ConfigurationException("Invalid url to system properties, which are > mandatory"); > > > " == true" ? ;) fixed. > > } catch (IOException e) { > + if (mandatory){ > + throw new ConfigurationException(e.getMessage());//unluckily > ConfigurationException can not have cause > + } > > > ConfigurationException does have initCause(Throwable), does this not match what you need? It gets > this from its superclass NamingException which implements Throwable. Ah I overlooked!. Tahnx. Fixed. > > + //to be sure - we MUST die > -http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html > + }catch(Throwable t){ > + //all exceptions are causing InstantiatizationError so this do it much more readble > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); > + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, > getMessage("RFailingToDefault")); > + //try to survive this unlikely exception > + config.resetToDefaults(); > > > Hmm, what's the motivation behind adding this? What is there that's causing InstantiationErrors [1], > and if these occur, should it be trying to survive? Usually you don't want to be catching Errors > [2], so catch-all Throwable is even worse than catch-all Exception. a) the NoClassDefFoundError error is fatal and non recoverable b) no solid info *why* it happened appeared (consumed any NoClassDefFoundError?) c) we can run pretty well with defaults (and msut warn user - I'm thinking also about poping up an dialogue in non headless mode, but I'm afraid that it cnabe to early to (maybe another chnageset) I do not insist on throwable, If you wish I can lower to general exception or whatever you wont. But defintley do not wont this static block to throw something > > [1] http://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationError.html Ugh sorry - it is java.lang.NoClassDefFoundError: Could not initialize class net.sourceforge.jnlp.runtime.JNLPRuntime$DeploymentConfigurationHolder what is thrown when static initializer throw some excption out. > [2] http://docs.oracle.com/javase/7/docs/api/java/lang/Error.html > Thanks, J -------------- next part -------------- A non-text attachment was scrubbed... Name: tuningOfPropertiesLoading2.patch Type: text/x-patch Size: 7720 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/dc9917e3/tuningOfPropertiesLoading2.patch From gitne at gmx.de Thu Jan 23 10:54:27 2014 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 23 Jan 2014 19:54:27 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E014B0.8030706@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> Message-ID: <52E16563.7000401@gmx.de> On 01/22/2014 07:57 PM, Andrew Azores wrote: > On 01/22/2014 07:26 AM, Jacob Wisor wrote: >> On 01/22/2014 01:30 AM, Jacob Wisor wrote: >>> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>>> (snip) >>>>>> >>>>>> Ouch. See my reply to patch. >>>>> >>>>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>>>> - The reflection hack is horrible. It doesn't quite work, and it's super ugly. >>>>> - The process not exiting is definitely a problem. We should not be playing >>>>> around with reflection on the policytool like this. >>>>> - Calling PolicyTool.main() directly breaks the automated build(?). We don't >>>>> want to make it a build dep, and it's too minor to bother with a configure >>>>> step/flag(?). >>>>> - Solution: Runtime#exec() makes its return, with a fallback method of >>>>> reflectively invoking PolicyTool.main() if for any reason the exec fails >>>>> (non-POSIX system, executable not on PATH, etc) >>>>> >>>>> So here's a patch implementing this solution, with lots of extra added >>>>> documentation. >>>>> >>>> >>>> And this time with better respect for event dispatch thread, I hope. (thanks >>>> omajid) >>> >>> + private static void policyToolLaunchHelper(final JFrame frame, final String >>> filePath) { >>> + final String[] launchCommand = new String[] { "policytool", "-file", >>> filePath }; >>> >>> Ah, the caveats of anonymous classes and threads again: The launchCommand local >>> constant is not guaranteed to be available when Runnable.run() is scheduled >>> to run. >>> >>> + new Thread(new Runnable() { >>> + @Override >>> + public void run() { >>> + try { >>> + final Process ptool = >>> Runtime.getRuntime().exec(launchCommand); >>> >>> The launchCommand local constant referenced here which lives on the stack of the >>> anonymous class's enclosing policyToolLaunchHelper() method is not guaranteed to >>> be valid or to exist after the thread had been started. policyToolLaunchHelper() >>> may terminate and thus its local stack be cleaned up /before/ Runnable.run() is >>> scheduled to run, leaving no constant for reference. I am not entirely sure >>> about what the Java Programming Language Spec and/or JVM Spec define in this >>> case but I would bet that it has intentionally been left undefined. There is >>> certainly no problem when anonymous class's methods and their enclosing methods >>> share local variables running on the same thread. This case has been defined. >>> But, in the case of threads, I would be rather careful. Sorry, I do not have the >>> time to look it up in the specs. :-/ >> >> Well, I did look it up because it was quite an intriguing question. >> Sub-paragraph 3 of Java Language Specification ?17.4.1 says it: >> "Local variables (?14.4), formal method parameters (?8.4.1), and exception >> handler parameters (?14.20) are never shared between threads and are >> unaffected by the memory model." ;-) >> >>> To get thread-safe, you would have to pass launchCommand as a parameter to >>> Runnable's constructor and store its reference in a member variable. >>> >>> Btw, the preferred way to construct Process objects since JDK 1.5 is to use >>> ProcessBuilder. ProcessBuilder would also allow you to set policytool's current >>> working directory to user.home, which is advisable. >>> [...] > > Amazing, thank you for all the help with this! But are you sure about this > problem of the constant going out of scope of the Thread? Yes, variables, method > parameters, and exception handler parameters will never be *shared* between > threads (as in each Thread will have a local variable by the same name but these > two will be distinct from each other in memory), but does this really mean that > the variable can go out of scope for the Thread by the time it runs? First of all, the term "scope" in the context of programming languages only refers to visibility of memory resource identifiers from a given section of source code. It has no implications on nor any assumptions can be made based upon it about the visibility of memory resources in any target execution environment. A given programming language scope may or may not have an equivalent abstraction, representation, or constraint in the target execution environment. In Java, both cases can be found, depending on the language construct. So, please do not confuse applying the term "scope" from a programming language to an execution environment. Most execution environments do not deal with scopes. They rather have limitations on addressing modes or have memory management units etc. In the source code at hand, Runnable.run() does not lose scope of launchCommand. Otherwise, the source code would not compile, simply because scope checking is done at compile-time, never at run-time. However, what bothered me was that Runnable.run() needs to access the object via the reference stored in the local constant variable launchCommand. Accesses can only be accomplished through reading the value of a field, an array element, or a local variable (or a return value that is also placed on the stack). And, since launchCommand isn't passed and stored nowhere in the source code explicitly to Runnable, I would rather assume it is not going to be available at run-time. So, I decided to dig deeper into this by disassembling the relevant classes. As it turns out, the OpenJDK 7 compiler synthesizes a "final synthetic java.lang.String[] val$launchCommand" field in Runnable. IMHO this is a violation of the Java Language Spec. It is no violation of the JVM Spec, of course. But, it is annoying and confusing that the so called "Java reference implementation" silently starts to violate the Java Language Spec in order to get around corner cases or to patch things up so that it just runs. :-( This means that you can never be sure about the code that the compiler is going to generate or rather you have to be always aware that it will possibly generate some wired and dubious stuff into your byte code. This is totally against Java's original intention of a compile-time error preventing type-safe verifiable platform. *rant start* They have turned this idea upside down by eliminating errors silently or implicitly instead of leaving programmers in control of their programs and the way they want to solve problems. Why did they do that? Did they fear some programmers being to dump to solve problems themselves? *end of rant* > This to me seems to imply that closures are utterly broken in Java, if the enclosed context > may suddenly become unavailable altogether. Relax, they are not broken. ;-) And, even if the compiler would not synthesize fields into Java classes closures would still work. The only difference would be that the compiler would issue an error when thread-crossing accesses to enclosing local variables from enclosed classes appear in the source code. > And if this is true, that means that no matter what we do when we're spawning a new Thread, we always have to make a > new class for it that implements Runnable and has fields to copy absolutely any > state data that we need to copy from our context (to avoid relying on closures). Well, this is actually what the OpenJDK 7 compiler does for you silently anyway. Or, maybe automagically! :-D > This is going to end up looking horrendous and be very difficult to maintain, > while being used to implement what should be a very simple and highly > non-critical piece of the software. Ah no, the code would not be more or less difficult to maintain than any other threading related code. > Assuming that the launchCommand variable > becomes unavailable by the time the new Thread is going to run, the end result > is just the the policytool fails to launch due to an NPE or something. As long > as this isn't the guaranteed behaviour, or the most likely behaviour, then maybe > it's a rare edge case that we can simply live with? So, I guess you can leave it the way it is, unless you want to make the source code imho truly Java Language Spec conforming so that other truly conforming Java compiler implementations won't error out on this construct. ;-) > But I really am not convinced that this is a problem we need to worry about > anyway. I am pretty sure that closures are well implemented and that this > problem should never occur in any properly functioning JVM implementation. I did not say nor imply that OpenJDK or any other JVM implementation would not be properly implemented. I just would have expected, according to the Java Language Spec that the JVM would throw some kind of RuntimeException or Error at run-time at this point. > This is the entire reason that things need to be declared final before you can use > them inside of a closure - so that a copy of the reference can be made for the > anonymous class to hold on to, and that reference is guaranteed to never change > while the anonymous class has it. And, since the constant in question here is a > String[], it is not a primitive and therefore although the first reference to it > is a stack variable, the object itself lives on the heap. Then the anonymous > function/closure's reference to it is a second strong reference to the same > object. So even if the method exits and its stack frame disappears along with > the local reference to it, there is still SOME strong reference to the memory > object, namely within the closure. Thus it is reachable and will not be GC'd > until after the Thread completes and discards its Runnable, destroying the > closure's context and removing the object reference, and in this case, the last > reference - freeing the object's memory allocation to be GC'd on the next cycle. The life cycle of the object was never of concern to me. The variable holding the reference was. And, as it turns out, the reason for declaring variables final for use in closures is actually for the compiler to do stuff behind your back. :-\ > Now, if we're going to use ProcessBuilder instead (which I think is a good idea, > thanks for this recommendation as well), do we really even need to be > constructing a separate Runnable to feed into a new Thread? > ProcessBuilder.start() will throw an IOException if the process can't be > started, eg if the policytool executable isn't available, or what have you. So > we just catch this IOException and use the fallback launch here. If > ProcessBuilder.start() doesn't throw an exception then we may assume that the > policytool window has successfully opened and as far as we're concerned, the > launch is complete. We don't need to launch a new thread to asynchronously > monitor the process using waitFor(), because we don't really need to check for a > non-zero exit value - the potentially thrown IOException is doing this job for > us now. As far as I can tell we also don't need to worry about doing any > Process#destroy() anymore either, because if ProcessBuilder#start() throws an > IOException then we never got a Process to begin with, and if it doesn't throw > then the assumption is that, well, everything is okay and no destroy() is > needed. There's also no InterruptedException to worry about dealing with either > because we don't have any Threads doing any kind of waiting. Right, with ProcessBuilder at hand catching InterruptedException becomes obsolete in this case. Yet, I would still go with instantiating and operating on ProcessBuilder on a separate thread because ProcessBuilder.start() probably is or may be on some systems synchronous. Actually, there is no way to know for how long ProcessBuilder.start() will block the current thread, so it always seems better to avoid blocking the AWT thread as much as possible. > What about the fallback reflective launch method, though? I suppose we still > want to spawn a new Thread to handle this? If we do (which I suspect is the > case), then are we still truly concerned about the filePath String being > unavailable to the Thread/its anonymous Runnable? This means we need to make a > Runnable implementation that holds references to not only the filePath String, > but also to the relevant data used to display an error dialog (JFrame, message > String). This sounds, honestly, ludicrous to me... as above, I am *pretty* sure > that we can depend on closures being well implemented. Same as above, I guess you can depend on the compiler implicitly synthesizing any necessary fields into the anonymous class. Jacob From andrew at icedtea.classpath.org Thu Jan 23 10:57:17 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 18:57:17 +0000 Subject: /hg/release/icedtea6-1.13: 2 new changesets Message-ID: changeset fa97228fa384 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=fa97228fa384 author: Andrew John Hughes date: Thu Jan 23 18:46:47 2014 +0000 Remove unneeded jdk_generic_profile.sh patch that breaks when system LCMS is disabled. 2014-01-23 Andrew John Hughes * patches/alternative_krb5_cache_fixup.patch: Remove unneeded jdk_generic_profile.sh fragment that doesn't apply when system LCMS is disabled. changeset 8796f8cdd621 in /hg/release/icedtea6-1.13 details: http://icedtea.classpath.org/hg/release/icedtea6-1.13?cmd=changeset;node=8796f8cdd621 author: Andrew John Hughes date: Thu Jan 23 18:56:55 2014 +0000 Disable LCMS2 system library check when LCMS2 isn't required. 2014-01-23 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Depend on IT_ENABLE_LCMS2 and only enable system LCMS by default if it's enabled. * configure.ac: Don't invoke IT_ENABLE_LCMS2 explicitly. diffstat: ChangeLog | 15 +++++++++++++++ acinclude.m4 | 3 ++- configure.ac | 5 +---- patches/alternative_krb5_cache_fixup.patch | 18 ------------------ 4 files changed, 18 insertions(+), 23 deletions(-) diffs (89 lines): diff -r f49a6db8092f -r 8796f8cdd621 ChangeLog --- a/ChangeLog Thu Jan 23 00:53:36 2014 +0000 +++ b/ChangeLog Thu Jan 23 18:56:55 2014 +0000 @@ -1,3 +1,18 @@ +2014-01-23 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Depend on IT_ENABLE_LCMS2 + and only enable system LCMS by default if it's + enabled. + * configure.ac: + Don't invoke IT_ENABLE_LCMS2 explicitly. + +2014-01-23 Andrew John Hughes + + * patches/alternative_krb5_cache_fixup.patch: + Remove unneeded jdk_generic_profile.sh fragment + that doesn't apply when system LCMS is disabled. + 2014-01-23 Andrew John Hughes * configure.ac: Set to 1.13.2pre. diff -r f49a6db8092f -r 8796f8cdd621 acinclude.m4 --- a/acinclude.m4 Thu Jan 23 00:53:36 2014 +0000 +++ b/acinclude.m4 Thu Jan 23 18:56:55 2014 +0000 @@ -1537,6 +1537,7 @@ AC_DEFUN_ONCE([IT_CHECK_FOR_LCMS], [ + AC_REQUIRE([IT_ENABLE_LCMS2]) AC_MSG_CHECKING([whether to use the system LCMS install]) AC_ARG_ENABLE([system-lcms], [AS_HELP_STRING(--enable-system-lcms,use the system LCMS [[default=yes]])], @@ -1544,7 +1545,7 @@ ENABLE_SYSTEM_LCMS="${enableval}" ], [ - if test x"${target_os}" = "xlinux-gnu"; then + if test x"${ENABLE_LCMS2}" = "xyes" -a x"${target_os}" = "xlinux-gnu" ; then ENABLE_SYSTEM_LCMS="yes" ; else ENABLE_SYSTEM_LCMS="no" ; diff -r f49a6db8092f -r 8796f8cdd621 configure.ac --- a/configure.ac Thu Jan 23 00:53:36 2014 +0000 +++ b/configure.ac Thu Jan 23 18:56:55 2014 +0000 @@ -296,10 +296,6 @@ IT_WITH_PAX AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm]) -IT_ENABLE_LCMS2 - -IT_CHECK_FOR_KERBEROS - dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[] ,[AC_MSG_ERROR([Could not find CUPS headers; @@ -313,6 +309,7 @@ IT_CHECK_FOR_PNG IT_CHECK_FOR_GIF IT_CHECK_FOR_LCMS +IT_CHECK_FOR_KERBEROS AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. diff -r f49a6db8092f -r 8796f8cdd621 patches/alternative_krb5_cache_fixup.patch --- a/patches/alternative_krb5_cache_fixup.patch Thu Jan 23 00:53:36 2014 +0000 +++ b/patches/alternative_krb5_cache_fixup.patch Thu Jan 23 18:56:55 2014 +0000 @@ -1,21 +1,3 @@ -diff -Nru openjdk.orig/jdk/make/jdk_generic_profile.sh openjdk/jdk/make/jdk_generic_profile.sh ---- openjdk.orig/jdk/make/jdk_generic_profile.sh 2013-08-30 02:41:17.276807687 +0100 -+++ openjdk/jdk/make/jdk_generic_profile.sh 2013-08-30 12:11:12.428923185 +0100 -@@ -467,5 +467,14 @@ - export LCMS_CFLAGS - export LCMS_LIBS - -+# Export variables for system krb5 -+# KRB5_CFLAGS and KRB5_LIBS tell the compiler how to compile and -+# link against Kerberos -+if [ "${KRB5_LIBS}" = "" ] ; then -+ KRB5_LIBS="-lkrb5" -+fi -+export KRB5_LIBS -+ - # IcedTea defaults; use system libraries - export SYSTEM_LCMS=true -+export SYSTEM_KRB5=true diff -Nru openjdk.orig/jdk/make/sun/security/krb5/internal/ccache/Makefile openjdk/jdk/make/sun/security/krb5/internal/ccache/Makefile --- openjdk.orig/jdk/make/sun/security/krb5/internal/ccache/Makefile 2013-08-30 02:41:17.408809749 +0100 +++ openjdk/jdk/make/sun/security/krb5/internal/ccache/Makefile 2013-08-30 12:10:34.336330523 +0100 From andrew at icedtea.classpath.org Thu Jan 23 10:58:16 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 23 Jan 2014 18:58:16 +0000 Subject: /hg/icedtea6: 2 new changesets Message-ID: changeset 29333c29963d in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=29333c29963d author: Andrew John Hughes date: Thu Jan 23 18:46:47 2014 +0000 Remove unneeded jdk_generic_profile.sh patch that breaks when system LCMS is disabled. 2014-01-23 Andrew John Hughes * patches/alternative_krb5_cache_fixup.patch: Remove unneeded jdk_generic_profile.sh fragment that doesn't apply when system LCMS is disabled. changeset 2ec0e83f2e83 in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=2ec0e83f2e83 author: Andrew John Hughes date: Thu Jan 23 18:56:55 2014 +0000 Disable LCMS2 system library check when LCMS2 isn't required. 2014-01-23 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_LCMS): Depend on IT_ENABLE_LCMS2 and only enable system LCMS by default if it's enabled. * configure.ac: Don't invoke IT_ENABLE_LCMS2 explicitly. diffstat: ChangeLog | 15 +++++++++++++++ acinclude.m4 | 3 ++- configure.ac | 5 +---- patches/alternative_krb5_cache_fixup.patch | 18 ------------------ 4 files changed, 18 insertions(+), 23 deletions(-) diffs (89 lines): diff -r 94c0b31c2a43 -r 2ec0e83f2e83 ChangeLog --- a/ChangeLog Mon Jan 20 18:42:31 2014 +0000 +++ b/ChangeLog Thu Jan 23 18:56:55 2014 +0000 @@ -1,3 +1,18 @@ +2014-01-23 Andrew John Hughes + + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Depend on IT_ENABLE_LCMS2 + and only enable system LCMS by default if it's + enabled. + * configure.ac: + Don't invoke IT_ENABLE_LCMS2 explicitly. + +2014-01-23 Andrew John Hughes + + * patches/alternative_krb5_cache_fixup.patch: + Remove unneeded jdk_generic_profile.sh fragment + that doesn't apply when system LCMS is disabled. + 2014-01-20 Andrew John Hughes * AUTHORS: diff -r 94c0b31c2a43 -r 2ec0e83f2e83 acinclude.m4 --- a/acinclude.m4 Mon Jan 20 18:42:31 2014 +0000 +++ b/acinclude.m4 Thu Jan 23 18:56:55 2014 +0000 @@ -1537,6 +1537,7 @@ AC_DEFUN_ONCE([IT_CHECK_FOR_LCMS], [ + AC_REQUIRE([IT_ENABLE_LCMS2]) AC_MSG_CHECKING([whether to use the system LCMS install]) AC_ARG_ENABLE([system-lcms], [AS_HELP_STRING(--enable-system-lcms,use the system LCMS [[default=yes]])], @@ -1544,7 +1545,7 @@ ENABLE_SYSTEM_LCMS="${enableval}" ], [ - if test x"${target_os}" = "xlinux-gnu"; then + if test x"${ENABLE_LCMS2}" = "xyes" -a x"${target_os}" = "xlinux-gnu" ; then ENABLE_SYSTEM_LCMS="yes" ; else ENABLE_SYSTEM_LCMS="no" ; diff -r 94c0b31c2a43 -r 2ec0e83f2e83 configure.ac --- a/configure.ac Mon Jan 20 18:42:31 2014 +0000 +++ b/configure.ac Thu Jan 23 18:56:55 2014 +0000 @@ -296,10 +296,6 @@ IT_WITH_PAX AC_CONFIG_FILES([pax-mark-vm], [chmod +x pax-mark-vm]) -IT_ENABLE_LCMS2 - -IT_CHECK_FOR_KERBEROS - dnl pkgconfig cannot be used to find these headers and libraries. AC_CHECK_HEADERS([cups/cups.h cups/ppd.h],[] ,[AC_MSG_ERROR([Could not find CUPS headers; @@ -313,6 +309,7 @@ IT_CHECK_FOR_PNG IT_CHECK_FOR_GIF IT_CHECK_FOR_LCMS +IT_CHECK_FOR_KERBEROS AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. diff -r 94c0b31c2a43 -r 2ec0e83f2e83 patches/alternative_krb5_cache_fixup.patch --- a/patches/alternative_krb5_cache_fixup.patch Mon Jan 20 18:42:31 2014 +0000 +++ b/patches/alternative_krb5_cache_fixup.patch Thu Jan 23 18:56:55 2014 +0000 @@ -1,21 +1,3 @@ -diff -Nru openjdk.orig/jdk/make/jdk_generic_profile.sh openjdk/jdk/make/jdk_generic_profile.sh ---- openjdk.orig/jdk/make/jdk_generic_profile.sh 2013-08-30 02:41:17.276807687 +0100 -+++ openjdk/jdk/make/jdk_generic_profile.sh 2013-08-30 12:11:12.428923185 +0100 -@@ -467,5 +467,14 @@ - export LCMS_CFLAGS - export LCMS_LIBS - -+# Export variables for system krb5 -+# KRB5_CFLAGS and KRB5_LIBS tell the compiler how to compile and -+# link against Kerberos -+if [ "${KRB5_LIBS}" = "" ] ; then -+ KRB5_LIBS="-lkrb5" -+fi -+export KRB5_LIBS -+ - # IcedTea defaults; use system libraries - export SYSTEM_LCMS=true -+export SYSTEM_KRB5=true diff -Nru openjdk.orig/jdk/make/sun/security/krb5/internal/ccache/Makefile openjdk/jdk/make/sun/security/krb5/internal/ccache/Makefile --- openjdk.orig/jdk/make/sun/security/krb5/internal/ccache/Makefile 2013-08-30 02:41:17.408809749 +0100 +++ openjdk/jdk/make/sun/security/krb5/internal/ccache/Makefile 2013-08-30 12:10:34.336330523 +0100 From aazores at redhat.com Thu Jan 23 12:50:24 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 23 Jan 2014 15:50:24 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E16563.7000401@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> Message-ID: <52E18090.3080605@redhat.com> On 01/23/2014 01:54 PM, Jacob Wisor wrote: > On 01/22/2014 07:57 PM, Andrew Azores wrote: >> Amazing, thank you for all the help with this! But are you sure about >> this >> problem of the constant going out of scope of the Thread? Yes, >> variables, method >> parameters, and exception handler parameters will never be *shared* >> between >> threads (as in each Thread will have a local variable by the same >> name but these >> two will be distinct from each other in memory), but does this really >> mean that >> the variable can go out of scope for the Thread by the time it runs? > > First of all, the term "scope" in the context of programming languages > only refers to visibility of memory resource identifiers from a given > section of source code. It has no implications on nor any assumptions > can be made based upon it about the visibility of memory resources in > any target execution environment. A given programming language scope > may or may not have an equivalent abstraction, representation, or > constraint in the target execution environment. In Java, both cases > can be found, depending on the language construct. So, please do not > confuse applying the term "scope" from a programming language to an > execution environment. Most execution environments do not deal with > scopes. They rather have limitations on addressing modes or have > memory management units etc. > > In the source code at hand, Runnable.run() does not lose scope of > launchCommand. Otherwise, the source code would not compile, simply > because scope checking is done at compile-time, never at run-time. You're right that my use of the word "scope" previously was an abuse of the term. Yes, I did use it when talking about a runtime execution environment even though it's generally only a term used at the source level. I think it should be pretty obvious that I know that using an out of scope variable means non-compiling code. Forgive me for trying to use simplified language to get a point across without writing a technical essay of every bare metal implementation detail involved. > However, what bothered me was that Runnable.run() needs to access the > object via the reference stored in the local constant variable > launchCommand. Accesses can only be accomplished through reading the > value of a field, an array element, or a local variable (or a return > value that is also placed on the stack). And, since launchCommand > isn't passed and stored nowhere in the source code explicitly to > Runnable, I would rather assume it is not going to be available at > run-time. So, I decided to dig deeper into this by disassembling the > relevant classes. As it turns out, the OpenJDK 7 compiler synthesizes > a "final synthetic java.lang.String[] val$launchCommand" field in > Runnable. IMHO this is a violation of the Java Language Spec. It is no > violation of the JVM Spec, of course. But, it is annoying and > confusing that the so called "Java reference implementation" silently > starts to violate the Java Language Spec in order to get around corner > cases or to patch things up so that it just runs. :-( This means that > you can never be sure about the code that the compiler is going to > generate or rather you have to be always aware that it will possibly > generate some wired and dubious stuff into your byte code. This is > totally against Java's original intention of a compile-time error > preventing type-safe verifiable platform. *rant start* They have > turned this idea upside down by eliminating errors silently or > implicitly instead of leaving programmers in control of their programs > and the way they want to solve problems. Why did they do that? Did > they fear some programmers being to dump to solve problems themselves? > *end of rant* > I *absolutely*, fundamentally disagree with your assertion that giving programmers the language construct of closures means that they have made the language impossible for you to reason about and that they have removed your power to solve a problem the way you want. Quite the opposite. If you don't like that the compiler can make your anonymous inner classes retain implicit references to their context, then feel free to not make use of the notion of closures in your code. Create named inner classes with fields to hold references instead and the compiler will still accept it. However, I know about closures, I know that Java has them, and I feel that in some cases they make my code more concise, and so I am very glad that the language does not force me to code in the style that you prefer. I also highly disagree with your idea that implementing closures is equivalent to silently handling errors, because there is nothing erroneous about the behaviour. They've been in Scheme for nearly 40 years now and were defined for a decade before that, and pretty much any halfway decent functional language is going to have full support for closures. This is a rich history of a well-defined conceptual language feature, so I cannot agree that anyone is at fault for including it in Java. >> This to me seems to imply that closures are utterly broken in Java, >> if the enclosed context >> may suddenly become unavailable altogether. > > Relax, they are not broken. ;-) And, even if the compiler would not > synthesize fields into Java classes closures would still work. The > only difference would be that the compiler would issue an error when > thread-crossing accesses to enclosing local variables from enclosed > classes appear in the source code. So you would only have single-threaded closures, then. I would still call that "utterly broken in Java" - this means that closures would be relying on being used in a specific context (single-threaded programming) that they really should be independent of, especially in a language that has a good model and support for multi-threading. And, as you've discovered (the hard way ;-) ), the solution is really not very complex. Considering that the "anonymous Runnable inside a Thread(Runnable) constructor" pattern is so prevalent, I think it's a worthy thing to ensure is done right. Not only is the solution in use here the seemingly most common design pattern taken by other languages that implement closures, it also seems like a very simple way to ensure that you do it correctly even if you do want to rely on single threaded execution. It's really not much more complicated than making anonymous classes just use the same references as present in their enclosing context. > >> And if this is true, that means that no matter what we do when we're >> spawning a new Thread, we always have to make a >> new class for it that implements Runnable and has fields to copy >> absolutely any >> state data that we need to copy from our context (to avoid relying on >> closures). > > Well, this is actually what the OpenJDK 7 compiler does for you > silently anyway. Or, maybe automagically! :-D Yes, exactly. Why should I do work when I know a trick to make the compiler do it for me, *and* I know exactly how the compiler achieves it? > >> This is going to end up looking horrendous and be very difficult to >> maintain, >> while being used to implement what should be a very simple and highly >> non-critical piece of the software. > > Ah no, the code would not be more or less difficult to maintain than > any other threading related code. My point about maintainability is that I think introducing a brand new named class, even an inner one, is not necessary when the class will simply be a Runnable with one or two fields. This is going to make the enclosing class much more cluttered than it has to be and for no good reason. > >> Assuming that the launchCommand variable >> becomes unavailable by the time the new Thread is going to run, the >> end result >> is just the the policytool fails to launch due to an NPE or >> something. As long >> as this isn't the guaranteed behaviour, or the most likely behaviour, >> then maybe >> it's a rare edge case that we can simply live with? > > So, I guess you can leave it the way it is, unless you want to make > the source code imho truly Java Language Spec conforming so that other > truly conforming Java compiler implementations won't error out on this > construct. ;-) I appreciate your concern about portability but I am not willing to change this implementation for fear of being incompatible on systems where the compiler or JVM does not support anonymous inner classes being closures. That's a core language feature and I'm not going to code around it in fear of breaking compatibility with half-baked Java environments. > >> But I really am not convinced that this is a problem we need to worry >> about >> anyway. I am pretty sure that closures are well implemented and that >> this >> problem should never occur in any properly functioning JVM >> implementation. > > I did not say nor imply that OpenJDK or any other JVM implementation > would not be properly implemented. I just would have expected, > according to the Java Language Spec that the JVM would throw some kind > of RuntimeException or Error at run-time at this point. Well, you did essentially say that you thought that multithreading breaks closures, which to me would mean that something has been implemented badly. I don't think the quote you gave before from the Language Spec is violated by the implementation, at all. It is still certainly true that the two Threads are not sharing the same local variables or anything. They are sharing a heap object, but they each have their own distinct reference variable with which to refer to it. Yes, it's true that one of these references is not explicitly declared, but it is still present, and everything works as it should since this "implicitly declared" reference is made as a copy of the explicitly declared reference. And this is why the explicitly declared one must be final - so that the original and the copy reference are both guaranteed to always refer to the same heap object. > >> This is the entire reason that things need to be declared final >> before you can use >> them inside of a closure - so that a copy of the reference can be >> made for the >> anonymous class to hold on to, and that reference is guaranteed to >> never change >> while the anonymous class has it. And, since the constant in question >> here is a >> String[], it is not a primitive and therefore although the first >> reference to it >> is a stack variable, the object itself lives on the heap. Then the >> anonymous >> function/closure's reference to it is a second strong reference to >> the same >> object. So even if the method exits and its stack frame disappears >> along with >> the local reference to it, there is still SOME strong reference to >> the memory >> object, namely within the closure. Thus it is reachable and will not >> be GC'd >> until after the Thread completes and discards its Runnable, >> destroying the >> closure's context and removing the object reference, and in this >> case, the last >> reference - freeing the object's memory allocation to be GC'd on the >> next cycle. > > The life cycle of the object was never of concern to me. The variable > holding the reference was. And, as it turns out, the reason for > declaring variables final for use in closures is actually for the > compiler to do stuff behind your back. :-\ > > Well I wouldn't call it "behind your back" since the behaviour is meant to be well-known, but yes. This right here is the entire source of the miscommunication we had - you weren't aware of the significance of using final variables for closures, but I was :-) and I wasn't sure exactly what about the model I knew that you didn't, so my explanation ended up including some stuff that I was /pretty/ sure you knew, but didn't want to take for granted. > >> What about the fallback reflective launch method, though? I suppose >> we still >> want to spawn a new Thread to handle this? If we do (which I suspect >> is the >> case), then are we still truly concerned about the filePath String being >> unavailable to the Thread/its anonymous Runnable? This means we need >> to make a >> Runnable implementation that holds references to not only the >> filePath String, >> but also to the relevant data used to display an error dialog >> (JFrame, message >> String). This sounds, honestly, ludicrous to me... as above, I am >> *pretty* sure >> that we can depend on closures being well implemented. > > Same as above, I guess you can depend on the compiler implicitly > synthesizing any necessary fields into the anonymous class. > > Jacob That was my whole point. This is not "behind your back" or a violation of the language spec - this is just what a closure is in general programming terms, and Java anonymous inner classes implement closures nicely with a multithreading compatible model. >> Now, if we're going to use ProcessBuilder instead (which I think is a >> good idea, >> thanks for this recommendation as well), do we really even need to be >> constructing a separate Runnable to feed into a new Thread? >> ProcessBuilder.start() will throw an IOException if the process can't be >> started, eg if the policytool executable isn't available, or what >> have you. So >> we just catch this IOException and use the fallback launch here. If >> ProcessBuilder.start() doesn't throw an exception then we may assume >> that the >> policytool window has successfully opened and as far as we're >> concerned, the >> launch is complete. We don't need to launch a new thread to >> asynchronously >> monitor the process using waitFor(), because we don't really need to >> check for a >> non-zero exit value - the potentially thrown IOException is doing >> this job for >> us now. As far as I can tell we also don't need to worry about doing any >> Process#destroy() anymore either, because if ProcessBuilder#start() >> throws an >> IOException then we never got a Process to begin with, and if it >> doesn't throw >> then the assumption is that, well, everything is okay and no >> destroy() is >> needed. There's also no InterruptedException to worry about dealing >> with either >> because we don't have any Threads doing any kind of waiting. > > Right, with ProcessBuilder at hand catching InterruptedException > becomes obsolete in this case. Yet, I would still go with > instantiating and operating on ProcessBuilder on a separate thread > because ProcessBuilder.start() probably is or may be on some systems > synchronous. Actually, there is no way to know for how long > ProcessBuilder.start() will block the current thread, so it always > seems better to avoid blocking the AWT thread as much as possible. Anyway, moving on to the actual work at hand :-). Again, you're right that ProcessBuilder#start() doesn't seem to be explicitly defined as being asynchronous, although intuitively it seems like it should be. But I can't find hard facts anywhere guaranteeing this, and I can't really see it causing any problems to do this work within a new Thread (because what possible issue could there be with removing this work from the AWT thread? This absolutely should be independent of that). So in the new patch, that whole chunk of code is inside a new Thread. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-exec-with-fallback2.patch Type: text/x-patch Size: 13678 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/02a05c2a/custompolicy-exec-with-fallback2-0001.patch From omajid at redhat.com Thu Jan 23 14:03:09 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 23 Jan 2014 17:03:09 -0500 Subject: [icedtea-web] RFC: Support building against OpenJDK8 Message-ID: <20140123220308.GB10543@redhat.com> Hi, I tried to build IcedTea-Web against OpenJDK8 for the first time today and ran into a two issues: 1. OpenJDK8 needs the applet hole patch that various IcedTea versions have been carrying [1]. 2. The OpenJDK8 javadoc tool is strict enough that it gives an error and refuses to parse malformed and incorrect javadoc. The attached patch fixes this. This is far from an exhaustive test on OpenJDK8. I only tested a few things, but at least with this we can build IcedTea-Web against OpenJDK8. Okay to push? Thanks, Omair [1] http://icedtea.classpath.org/hg/release/icedtea6-1.13/file/d6930de9aba6/patches/applet_hole.patch -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,26 @@ +2014-01-23 Omair Majid + + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java, + * netx/net/sourceforge/jnlp/config/DirectoryValidator.java, + * netx/net/sourceforge/jnlp/config/Setting.java, + * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogs.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/JarFile.java, + * netx/net/sourceforge/nanoxml/XMLElement.java, + * netx/net/sourceforge/nanoxml/XMLParseException.java, + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Fix incorrect + parameter names, throws declerations and malformed html in javadocs. + 2014-01-20 Jiri Vanek Added Christmas splashscreen extension. diff --git a/netx/net/sourceforge/jnlp/JNLPFile.java b/netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java +++ b/netx/net/sourceforge/jnlp/JNLPFile.java @@ -199,7 +199,7 @@ * * @param location the location of the JNLP file * @param version the version of the JNLP file - * @param strict whether to enforce the spec when + * @param settings the {@link ParserSettings} to use when parsing the {@code location} * @param policy the update policy * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid @@ -264,7 +264,6 @@ /** * Create a JNLPFile from an input stream. * - * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, ParserSettings settings) throws ParseException { @@ -277,8 +276,7 @@ * * @param input input stream of JNLP file. * @param codebase codebase to use if not specified in JNLP file.. - * @param strict whether to enforce the spec rules - * @throws IOException if an IO exception occurred + * @param settings the {@link ParserSettings} to use when parsing * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, URL codebase, ParserSettings settings) throws ParseException { @@ -665,9 +663,7 @@ * * @param requested the local * @param available the available locales - * @param precision the depth with which to match locales. 1 checks only - * language, 2 checks language and country, 3 checks language, country and - * variant for matches. Passing 0 will always return true. + * @param matchLevel the detail with which to match locales. * @return true if requested matches any of available, or if * available is empty or null. */ diff --git a/netx/net/sourceforge/jnlp/NetxPanel.java b/netx/net/sourceforge/jnlp/NetxPanel.java --- a/netx/net/sourceforge/jnlp/NetxPanel.java +++ b/netx/net/sourceforge/jnlp/NetxPanel.java @@ -42,7 +42,7 @@ * This panel calls into netx to run an applet, and pipes the display * into a panel from the icedtea-web browser plugin. * - * @author Francis Kung + * @author Francis Kung <fkung at redhat.com> */ public class NetxPanel extends AppletViewerPanel implements SplashController { private final PluginParameters parameters; diff --git a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java @@ -98,9 +98,6 @@ /** * Returns an instance of the policy. - * - * @param propertiesFile - * @return */ public static CacheLRUWrapper getInstance() { return INSTANCE; diff --git a/netx/net/sourceforge/jnlp/cache/CacheUtil.java b/netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java @@ -368,7 +368,7 @@ /** * Returns the parent directory of the cached resource. - * @param path The path of the cached resource directory. + * @param filePath The path of the cached resource directory. */ public static String getCacheParentDirectory(String filePath) { String path = filePath; diff --git a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java @@ -247,7 +247,7 @@ * Initialize this deployment configuration by reading configuration files. * Generally, it will try to continue and ignore errors it finds (such as file not found). * - * @throws DeploymentException if it encounters a fatal error. + * @throws ConfigurationException if it encounters a fatal error. */ public void load() throws ConfigurationException { load(true); @@ -269,7 +269,7 @@ * * @param fixIssues If true, fix issues that are discovered when reading configuration by * resorting to the default values - * @throws DeploymentException if it encounters a fatal error. + * @throws ConfigurationException if it encounters a fatal error. */ public void load(boolean fixIssues) throws ConfigurationException { // make sure no state leaks if security check fails later on diff --git a/netx/net/sourceforge/jnlp/config/DirectoryValidator.java b/netx/net/sourceforge/jnlp/config/DirectoryValidator.java --- a/netx/net/sourceforge/jnlp/config/DirectoryValidator.java +++ b/netx/net/sourceforge/jnlp/config/DirectoryValidator.java @@ -216,12 +216,14 @@ /** * Creates DirectoryValidator to ensure directories read from * user (if any - default otherwise ) settings via keys: + *
    *
  • KEY_USER_CACHE_DIR
  • *
  • KEY_USER_PERSISTENCE_CACHE_DIR
  • *
  • KEY_SYSTEM_CACHE_DIR
  • *
  • KEY_USER_LOG_DIR
  • *
  • KEY_USER_TMP_DIR
  • *
  • KEY_USER_LOCKS_DIR
  • + *
*/ public DirectoryValidator() { dirsToCheck = new ArrayList(6); diff --git a/netx/net/sourceforge/jnlp/config/Setting.java b/netx/net/sourceforge/jnlp/config/Setting.java --- a/netx/net/sourceforge/jnlp/config/Setting.java +++ b/netx/net/sourceforge/jnlp/config/Setting.java @@ -67,7 +67,7 @@ * @param defaultValue the default value of this setting. If this is not a * recognized setting, use null. * @param value the initial value of this setting - * @param source the origin of the value (a file, or perhaps "") + * @param source the origin of the value (a file, or perhaps "{@code }") */ public Setting(String name, String description, boolean locked, ValueValidator validator, T defaultValue, T value, String source) { diff --git a/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java b/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java --- a/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java +++ b/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java @@ -37,7 +37,7 @@ /** * This dialog provides a means for user to edit more of the proxy settings. * - * @author Andrew Su + * @author Andrew Su <asu at redhat.com, andrew.su at utoronto.ca> * */ public class AdvancedProxySettingsDialog extends JDialog { diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java @@ -796,7 +796,6 @@ * * @param jars Jars that are checked to see if they contain the main class * @param name attribute to be found - * @throws LaunchException Thrown if the signed JNLP file, within the main jar, fails to be verified or does not match */ public String checkForAttributeInJars(List jars, Attributes.Name name) { diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java @@ -684,7 +684,8 @@ } /** - * Indicate that netx is running by creating the {@link JNLPRuntime#INSTANCE_FILE} and + * Indicate that netx is running by creating the file corresponding to + * {@link DeploymentConfiguration#KEY_USER_NETX_RUNNING_FILE} and * acquiring a shared lock on it */ public synchronized static void markNetxRunning() { @@ -734,8 +735,8 @@ } /** - * Indicate that netx is stopped by releasing the shared lock on - * {@link JNLPRuntime#INSTANCE_FILE}. + * Indicate that netx is stopped by releasing the shared lock on the file + * corresponding to {@link DeploymentConfiguration#KEY_USER_NETX_RUNNING_FILE}. */ private static void markNetxStopped() { if (fileLock == null) { diff --git a/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java b/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java --- a/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java +++ b/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java @@ -61,7 +61,7 @@ * Represents a Proxy Auto Config file. This object can be used to evaluate the * proxy file to find the proxy for a given url. * - * @see "http://en.wikipedia.org/wiki/Proxy_auto-config#The_PAC_file" + * @see The PAC File */ public class RhinoBasedPacEvaluator implements PacEvaluator { diff --git a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java @@ -240,7 +240,7 @@ /** * FIXME This is unused. Remove it? - * @return (0, 1, 2) => (Yes, No, Cancel) + * @return (0, 1, 2) => (Yes, No, Cancel) */ public static int showAppletWarning() { diff --git a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java @@ -200,7 +200,7 @@ * @param authType The auth type algorithm * @param hostName The expected hostName that the server should have * @param socket The SSLSocket in use (may be null) - * @param ending The SSLEngine in use (may be null) + * @param engine The SSLEngine in use (may be null) */ public synchronized void checkTrustServer(X509Certificate[] chain, String authType, String hostName, diff --git a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java --- a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java +++ b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java @@ -103,7 +103,7 @@ /** * Initialize the new SingleInstanceService * - * @throws InstanceAlreadyExistsException if the instance already exists + * @throws InstanceExistsException if the instance already exists */ public void initializeSingleInstance() { // this is called after the application has started. so safe to use @@ -222,7 +222,7 @@ /** * Add the specified SingleInstanceListener * - * @throws InstanceExistsException, which is likely to terminate the + * @throws InstanceExistsException which is likely to terminate the * application but not guaranteed to */ public void addSingleInstanceListener(SingleInstanceListener sil) { diff --git a/netx/net/sourceforge/jnlp/util/FileUtils.java b/netx/net/sourceforge/jnlp/util/FileUtils.java --- a/netx/net/sourceforge/jnlp/util/FileUtils.java +++ b/netx/net/sourceforge/jnlp/util/FileUtils.java @@ -398,7 +398,8 @@ /** * utility method which can read from any stream as one long String * - * @param input stream + * @param is stream + * @param encoding the encoding to use to convert the bytes from the stream * @return stream as string * @throws IOException if connection can't be established or resource does not exist */ @@ -424,7 +425,7 @@ /** * utility method which can read from any stream as one long String * - * @param input stream + * @param is stream * @return stream as string * @throws IOException if connection can't be established or resource does not exist */ diff --git a/netx/net/sourceforge/jnlp/util/JarFile.java b/netx/net/sourceforge/jnlp/util/JarFile.java --- a/netx/net/sourceforge/jnlp/util/JarFile.java +++ b/netx/net/sourceforge/jnlp/util/JarFile.java @@ -115,7 +115,8 @@ * So for our purposes we must insists on first record to be valid. * * @param file - * @throws IOException, InvalidJarHeaderException + * @throws IOException + * @throws InvalidJarHeaderException */ public static void verifyZipHeader(File file) throws IOException { if (!JNLPRuntime.isIgnoreHeaders()) { diff --git a/netx/net/sourceforge/nanoxml/XMLElement.java b/netx/net/sourceforge/nanoxml/XMLElement.java --- a/netx/net/sourceforge/nanoxml/XMLElement.java +++ b/netx/net/sourceforge/nanoxml/XMLElement.java @@ -43,11 +43,11 @@ *
Parsing XML Data
*
* You can parse XML data using the following code: - *
    - * XMLElement xml = new XMLElement();
    - * FileReader reader = new FileReader("filename.xml");
    + *
      {@code + * XMLElement xml = new XMLElement(); + * FileReader reader = new FileReader("filename.xml"); * xml.parseFromReader(reader); - *
+ * } *
Retrieving Attributes
*
* You can enumerate the attributes of an element using the method @@ -55,15 +55,15 @@ * The attribute values can be retrieved using the method * {@link #getAttribute(java.lang.String) getAttribute}. * The following example shows how to list the attributes of an element: - *
    - * XMLElement element = ...;
    - * Enumeration enum = element.enumerateAttributeNames();
    - * while (enum.hasMoreElements()) {
    - *     String key = (String) enum.nextElement();
    - *     String value = (String) element.getAttribute(key);
    - *     System.out.println(key + " = " + value);
    + *
      {@code + * XMLElement element = ...; + * Enumeration enum = element.enumerateAttributeNames(); + * while (enum.hasMoreElements()) { + *     String key = (String) enum.nextElement(); + *     String value = (String) element.getAttribute(key); + *     System.out.println(key + " = " + value); * } - *
+ * } *
Retrieving Child Elements
*
* You can enumerate the children of an element using @@ -74,9 +74,7 @@ *
Elements Containing Character Data
*
* If an elements contains character data, like in the following example: - *
    - * <title>The Title</title> - *
+ *
    {@code The Title}
* you can retrieve that data using the method * {@link #getContent() getContent}. *
@@ -163,7 +161,7 @@ * The line number where the element starts. * *
Invariants:
- *
  • lineNr >= 0 + *
    • {@code lineNr >= 0} *
*/ private int lineNr; @@ -215,17 +213,17 @@ /** * Creates and initializes a new XML element. * Calling the construction is equivalent to: - *
    new XMLElement(new Hashtable(), false, true) - *
+ *
  • new XMLElement(new Hashtable(), false, true) + *
* *
Postconditions:
- *
  • countChildren() => 0 - *
  • enumerateChildren() => empty enumeration - *
  • enumeratePropertyNames() => empty enumeration - *
  • getChildren() => empty vector - *
  • getContent() => "" - *
  • getLineNr() => 0 - *
  • getName() => null + *
    • countChildren() => 0 + *
    • enumerateChildren() => empty enumeration + *
    • enumeratePropertyNames() => empty enumeration + *
    • getChildren() => empty vector + *
    • getContent() => "" + *
    • getLineNr() => 0 + *
    • getName() => null *
* */ @@ -252,7 +250,7 @@ * true if the case of element and attribute names have * to be ignored. * - *
Preconditions:
+ *
Preconditions:
*
  • entities != null *
  • if fillBasicConversionTable == false * then entities contains at least the following @@ -261,14 +259,14 @@ *
* *
Postconditions:
- *
  • countChildren() => 0 - *
  • enumerateChildren() => empty enumeration - *
  • enumeratePropertyNames() => empty enumeration - *
  • getChildren() => empty vector - *
  • getContent() => "" - *
  • getLineNr() => 0 - *
  • getName() => null - *
+ *
  • countChildren() => 0 + *
  • enumerateChildren() => empty enumeration + *
  • enumeratePropertyNames() => empty enumeration + *
  • getChildren() => empty vector + *
  • getContent() => "" + *
  • getLineNr() => 0 + *
  • getName() => null + *
* */ protected XMLElement(Hashtable entities, @@ -306,17 +304,17 @@ * @param child * The child element to add. * - *
Preconditions:
+ *
Preconditions:
*
  • child != null *
  • child.getName() != null *
  • child does not have a parent element *
* *
Postconditions:
- *
  • countChildren() => old.countChildren() + 1 - *
  • enumerateChildren() => old.enumerateChildren() + child - *
  • getChildren() => old.enumerateChildren() + child - *
+ *
  • countChildren() => old.countChildren() + 1 + *
  • enumerateChildren() => old.enumerateChildren() + child + *
  • getChildren() => old.enumerateChildren() + child + *
* */ public void addChild(XMLElement child) { @@ -331,7 +329,7 @@ * @param value * The value of the attribute. * - *
Preconditions:
+ *
Preconditions:
*
  • name != null *
  • name is a valid XML identifier *
  • value != null @@ -339,9 +337,9 @@ * *
    Postconditions:
    *
    • enumerateAttributeNames() - * => old.enumerateAttributeNames() + name - *
    • getAttribute(name) => value - *
    + * => old.enumerateAttributeNames() + name + *
  • getAttribute(name) => value + *
* */ public void setAttribute(String name, @@ -356,7 +354,7 @@ * Returns the number of child elements of the element. * *
Postconditions:
- *
  • result >= 0 + *
    • {@code result >= 0} *
* */ @@ -402,7 +400,7 @@ * This method returns 0 there is no associated source data. * *
Postconditions:
- *
  • result >= 0 + *
    • {@code result >= 0} *
*/ public int getLineNr() { @@ -415,10 +413,10 @@ * * @param name The name of the attribute. * - *
Preconditions:
+ *
Preconditions:
*
  • name != null *
  • name is a valid XML identifier - *
+ *
* */ public Object getAttribute(String name) { @@ -443,7 +441,7 @@ * @param reader * The reader from which to retrieve the XML data. * - *
Preconditions:
+ *
Preconditions:
*
  • reader != null *
  • reader is not closed *
@@ -453,7 +451,7 @@ * parsed from the reader *
  • the reader points to the first character following the last * '>' character of the XML element - *
  • + *
    * * @throws java.io.IOException * If an error occured while reading the input. @@ -473,7 +471,7 @@ * @param startingLineNr * The line number of the first line in the data. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • reader != null *
    • reader is not closed *
    @@ -483,7 +481,7 @@ * parsed from the reader *
  • the reader points to the first character following the last * '>' character of the XML element - *
  • + *
    * * @throws java.io.IOException * If an error occured while reading the input. @@ -544,7 +542,7 @@ * @param name * The new name. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • name != null *
    • name is a valid XML identifier *
    @@ -561,7 +559,7 @@ * @param result * The buffer in which the scanned identifier will be put. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • result != null *
    • The next character read from the reader is a valid first * character of an XML identifier. @@ -570,7 +568,7 @@ *
      Postconditions:
      *
      • The next character read from the reader won't be an identifier * character. - *
      + *
    */ protected void scanIdentifier(StringBuffer result) throws IOException { @@ -613,7 +611,7 @@ * * @return the next character following the whitespace. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • result != null *
    */ @@ -640,7 +638,7 @@ * The scanned string without delimiters is appended to * string. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • string != null *
    • the next char read is the string delimiter *
    @@ -668,7 +666,7 @@ * The next < char is skipped. * The scanned data is appended to data. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • data != null *
    */ @@ -696,7 +694,7 @@ * Scans a special tag and if the tag is a CDATA section, append its * content to buf. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • buf != null *
    • The first < has already been read. *
    @@ -751,7 +749,7 @@ /** * Skips a comment. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • The first <!-- has already been read. *
    */ @@ -791,9 +789,9 @@ * @param bracketLevel The number of open square brackets ([) that have * already been read. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • The first <! has already been read. - *
    • bracketLevel >= 0 + *
    • bracketLevel >= 0 *
    */ protected void skipSpecialTag(int bracketLevel) @@ -848,7 +846,7 @@ * * @param literal the literal to check. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • literal != null *
    */ @@ -890,7 +888,7 @@ * * @param elt The element that will contain the result. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • The first < has already been read. *
    • elt != null *
    @@ -1001,7 +999,7 @@ * * @param buf Where to put the entity value. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • The first & has already been read. *
    • buf != null *
    @@ -1043,7 +1041,7 @@ * * @param ch The character to push back. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • The read-back buffer is empty. *
    • ch != '\0' *
    @@ -1058,7 +1056,7 @@ * * @param name The name of the entity. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • name != null *
    */ @@ -1074,7 +1072,7 @@ * @param name The name of the entity. * @param value The value of the entity. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • name != null *
    • value != null *
    @@ -1100,7 +1098,7 @@ * * @param context The context in which the error occured. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • context != null *
    • context.length() > 0 *
    @@ -1117,7 +1115,7 @@ * @param charSet The set of characters (in human readable form) that was * expected. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • charSet != null *
    • charSet.length() > 0 *
    @@ -1134,7 +1132,7 @@ * @param charSet The set of characters (in human readable form) that was * expected. * @param ch The character that was received instead. - *
    Preconditions:
    + *
    Preconditions:
    *
    • charSet != null *
    • charSet.length() > 0 *
    @@ -1149,7 +1147,7 @@ * * @param name The name of the entity. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • name != null *
    • name.length() > 0 *
    diff --git a/netx/net/sourceforge/nanoxml/XMLParseException.java b/netx/net/sourceforge/nanoxml/XMLParseException.java --- a/netx/net/sourceforge/nanoxml/XMLParseException.java +++ b/netx/net/sourceforge/nanoxml/XMLParseException.java @@ -53,7 +53,7 @@ * NO_LINE if the line number is unknown. * *
    Invariants:
    - *
    • lineNr > 0 || lineNr == NO_LINE + *
      • {@code lineNr > 0 || lineNr == NO_LINE} *
    */ private int lineNr; @@ -64,13 +64,13 @@ * @param name The name of the element where the error is located. * @param message A message describing what went wrong. * - *
    Preconditions:
    - *
    • message != null + *
      Preconditions:
      + *
      • {@code message != null} *
      * *
      Postconditions:
      - *
      • getLineNr() => NO_LINE - *
      + *
      • {@code getLineNr() => NO_LINE} + *
    */ public XMLParseException(String name, String message) { @@ -88,14 +88,14 @@ * @param lineNr The number of the line in the input. * @param message A message describing what went wrong. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • message != null *
    • lineNr > 0 *
    * *
    Postconditions:
    - *
    • getLineNr() => lineNr - *
    + *
    • {@code getLineNr() => lineNr} + *
    */ public XMLParseException(String name, int lineNr, diff --git a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java --- a/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java +++ b/plugin/icedteanp/java/sun/applet/PluginStreamHandler.java @@ -320,8 +320,6 @@ * Read string from plugin. * * @return the read string - * - * @exception IOException if an error occurs */ private String read() { String message = null; @@ -355,8 +353,6 @@ * Write string to plugin. * * @param message the message to write - * - * @exception IOException if an error occurs */ public void write(String message) { From gnu.andrew at redhat.com Thu Jan 23 14:16:18 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 23 Jan 2014 17:16:18 -0500 (EST) Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E16563.7000401@gmx.de> References: <52D466B1.8060108@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> Message-ID: <164833898.6181211.1390515378415.JavaMail.root@redhat.com> ----- Original Message ----- > On 01/22/2014 07:57 PM, Andrew Azores wrote: > > On 01/22/2014 07:26 AM, Jacob Wisor wrote: > >> On 01/22/2014 01:30 AM, Jacob Wisor wrote: > >>> On 01/20/2014 09:11 PM, Andrew Azores wrote: > >>>> On 01/20/2014 02:50 PM, Andrew Azores wrote: > >>>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: > >>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: > >>>>>>> (snip) > >>>>>> > >>>>>> Ouch. See my reply to patch. > >>>>> > >>>>> Didn't see any mail, but we discussed on IRC. Here's a recap: > >>>>> - The reflection hack is horrible. It doesn't quite work, and it's > >>>>> super ugly. > >>>>> - The process not exiting is definitely a problem. We should not be > >>>>> playing > >>>>> around with reflection on the policytool like this. > >>>>> - Calling PolicyTool.main() directly breaks the automated build(?). We > >>>>> don't > >>>>> want to make it a build dep, and it's too minor to bother with a > >>>>> configure > >>>>> step/flag(?). > >>>>> - Solution: Runtime#exec() makes its return, with a fallback method of > >>>>> reflectively invoking PolicyTool.main() if for any reason the exec > >>>>> fails > >>>>> (non-POSIX system, executable not on PATH, etc) > >>>>> > >>>>> So here's a patch implementing this solution, with lots of extra added > >>>>> documentation. > >>>>> > >>>> > >>>> And this time with better respect for event dispatch thread, I hope. > >>>> (thanks > >>>> omajid) > >>> > >>> + private static void policyToolLaunchHelper(final JFrame frame, final > >>> String > >>> filePath) { > >>> + final String[] launchCommand = new String[] { "policytool", > >>> "-file", > >>> filePath }; > >>> > >>> Ah, the caveats of anonymous classes and threads again: The launchCommand > >>> local > >>> constant is not guaranteed to be available when Runnable.run() is > >>> scheduled > >>> to run. > >>> > >>> + new Thread(new Runnable() { > >>> + @Override > >>> + public void run() { > >>> + try { > >>> + final Process ptool = > >>> Runtime.getRuntime().exec(launchCommand); > >>> > >>> The launchCommand local constant referenced here which lives on the stack > >>> of the > >>> anonymous class's enclosing policyToolLaunchHelper() method is not > >>> guaranteed to > >>> be valid or to exist after the thread had been started. > >>> policyToolLaunchHelper() > >>> may terminate and thus its local stack be cleaned up /before/ > >>> Runnable.run() is > >>> scheduled to run, leaving no constant for reference. I am not entirely > >>> sure > >>> about what the Java Programming Language Spec and/or JVM Spec define in > >>> this > >>> case but I would bet that it has intentionally been left undefined. There > >>> is > >>> certainly no problem when anonymous class's methods and their enclosing > >>> methods > >>> share local variables running on the same thread. This case has been > >>> defined. > >>> But, in the case of threads, I would be rather careful. Sorry, I do not > >>> have the > >>> time to look it up in the specs. :-/ > >> > >> Well, I did look it up because it was quite an intriguing question. > >> Sub-paragraph 3 of Java Language Specification ?17.4.1 says it: > >> "Local variables (?14.4), formal method parameters (?8.4.1), and exception > >> handler parameters (?14.20) are never shared between threads and are > >> unaffected by the memory model." ;-) > >> > >>> To get thread-safe, you would have to pass launchCommand as a parameter > >>> to > >>> Runnable's constructor and store its reference in a member variable. > >>> > >>> Btw, the preferred way to construct Process objects since JDK 1.5 is to > >>> use > >>> ProcessBuilder. ProcessBuilder would also allow you to set policytool's > >>> current > >>> working directory to user.home, which is advisable. > >>> [...] > > > > Amazing, thank you for all the help with this! But are you sure about this > > problem of the constant going out of scope of the Thread? Yes, variables, > > method > > parameters, and exception handler parameters will never be *shared* between > > threads (as in each Thread will have a local variable by the same name but > > these > > two will be distinct from each other in memory), but does this really mean > > that > > the variable can go out of scope for the Thread by the time it runs? > > First of all, the term "scope" in the context of programming languages only > refers to visibility of memory resource identifiers from a given section of > source code. It has no implications on nor any assumptions can be made based > upon it about the visibility of memory resources in any target execution > environment. A given programming language scope may or may not have an > equivalent abstraction, representation, or constraint in the target execution > environment. In Java, both cases can be found, depending on the language > construct. So, please do not confuse applying the term "scope" from a > programming language to an execution environment. Most execution environments > do > not deal with scopes. They rather have limitations on addressing modes or > have > memory management units etc. > > In the source code at hand, Runnable.run() does not lose scope of > launchCommand. > Otherwise, the source code would not compile, simply because scope checking > is > done at compile-time, never at run-time. However, what bothered me was that > Runnable.run() needs to access the object via the reference stored in the > local > constant variable launchCommand. Accesses can only be accomplished through > reading the value of a field, an array element, or a local variable (or a > return > value that is also placed on the stack). And, since launchCommand isn't > passed > and stored nowhere in the source code explicitly to Runnable, I would rather > assume it is not going to be available at run-time. So, I decided to dig > deeper > into this by disassembling the relevant classes. As it turns out, the OpenJDK > 7 > compiler synthesizes a "final synthetic java.lang.String[] val$launchCommand" > field in Runnable. IMHO this is a violation of the Java Language Spec. It is > no > violation of the JVM Spec, of course. But, it is annoying and confusing that > the > so called "Java reference implementation" silently starts to violate the Java > Language Spec in order to get around corner cases or to patch things up so > that > it just runs. :-( This means that you can never be sure about the code that > the > compiler is going to generate or rather you have to be always aware that it > will > possibly generate some wired and dubious stuff into your byte code. This is > totally against Java's original intention of a compile-time error preventing > type-safe verifiable platform. *rant start* They have turned this idea upside > down by eliminating errors silently or implicitly instead of leaving > programmers > in control of their programs and the way they want to solve problems. Why did > they do that? Did they fear some programmers being to dump to solve problems > themselves? *end of rant* > I'm assuming this is using OpenJDK's javac to compile? Out of interest, have you tried compiling it with ecj and seeing if that gives a different result or emulates the same hack? I suspect this is something that was done to support inner classes. As to the PolicyTool issue itself, it seems the bug in building on 6 is due to: changeset: 2400:b3466e2c3819 user: mchung date: Tue May 18 13:12:46 2010 -0700 summary: 6951599: Rename package of security tools for modularization a change in OpenJDK 7 which moved PolicyTool from sun.security.tools to its own package, sun.security.tools.PolicyTool: - $(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) + $(call make-launcher, policytool, sun.security.tools.policytool.PolicyTool, , ) If that's the only issue with using that, I don't see why we couldn't just backport that change to OpenJDK 6 so the location is consistent across all JDKs again. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:38:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:38:08 +0000 Subject: [Bug 1653] New: [IcedTea7] Support ppc64le Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Bug ID: 1653 Summary: [IcedTea7] Support ppc64le Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: ppc OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025611.html -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/acbde5d0/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:38:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:38:22 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|[IcedTea7] Support ppc64le |[IcedTea7] Support ppc64le | |via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/6e431afb/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:38:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:38:42 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.5 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/76ce5751/attachment.html From aazores at redhat.com Thu Jan 23 14:47:31 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 23 Jan 2014 17:47:31 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <164833898.6181211.1390515378415.JavaMail.root@redhat.com> References: <52D466B1.8060108@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> <164833898.6181211.1390515378415.JavaMail.root@redhat.com> Message-ID: <52E19C03.9030903@redhat.com> On 01/23/2014 05:16 PM, Andrew Hughes wrote: > > ----- Original Message ----- >> On 01/22/2014 07:57 PM, Andrew Azores wrote: >>> On 01/22/2014 07:26 AM, Jacob Wisor wrote: >>>> On 01/22/2014 01:30 AM, Jacob Wisor wrote: >>>>> On 01/20/2014 09:11 PM, Andrew Azores wrote: >>>>>> On 01/20/2014 02:50 PM, Andrew Azores wrote: >>>>>>> On 01/20/2014 07:27 AM, Jiri Vanek wrote: >>>>>>>> On 01/17/2014 10:08 PM, Andrew Azores wrote: >>>>>>>>> (snip) >>>>>>>> Ouch. See my reply to patch. >>>>>>> Didn't see any mail, but we discussed on IRC. Here's a recap: >>>>>>> - The reflection hack is horrible. It doesn't quite work, and it's >>>>>>> super ugly. >>>>>>> - The process not exiting is definitely a problem. We should not be >>>>>>> playing >>>>>>> around with reflection on the policytool like this. >>>>>>> - Calling PolicyTool.main() directly breaks the automated build(?). We >>>>>>> don't >>>>>>> want to make it a build dep, and it's too minor to bother with a >>>>>>> configure >>>>>>> step/flag(?). >>>>>>> - Solution: Runtime#exec() makes its return, with a fallback method of >>>>>>> reflectively invoking PolicyTool.main() if for any reason the exec >>>>>>> fails >>>>>>> (non-POSIX system, executable not on PATH, etc) >>>>>>> >>>>>>> So here's a patch implementing this solution, with lots of extra added >>>>>>> documentation. >>>>>>> >>>>>> And this time with better respect for event dispatch thread, I hope. >>>>>> (thanks >>>>>> omajid) >>>>> + private static void policyToolLaunchHelper(final JFrame frame, final >>>>> String >>>>> filePath) { >>>>> + final String[] launchCommand = new String[] { "policytool", >>>>> "-file", >>>>> filePath }; >>>>> >>>>> Ah, the caveats of anonymous classes and threads again: The launchCommand >>>>> local >>>>> constant is not guaranteed to be available when Runnable.run() is >>>>> scheduled >>>>> to run. >>>>> >>>>> + new Thread(new Runnable() { >>>>> + @Override >>>>> + public void run() { >>>>> + try { >>>>> + final Process ptool = >>>>> Runtime.getRuntime().exec(launchCommand); >>>>> >>>>> The launchCommand local constant referenced here which lives on the stack >>>>> of the >>>>> anonymous class's enclosing policyToolLaunchHelper() method is not >>>>> guaranteed to >>>>> be valid or to exist after the thread had been started. >>>>> policyToolLaunchHelper() >>>>> may terminate and thus its local stack be cleaned up /before/ >>>>> Runnable.run() is >>>>> scheduled to run, leaving no constant for reference. I am not entirely >>>>> sure >>>>> about what the Java Programming Language Spec and/or JVM Spec define in >>>>> this >>>>> case but I would bet that it has intentionally been left undefined. There >>>>> is >>>>> certainly no problem when anonymous class's methods and their enclosing >>>>> methods >>>>> share local variables running on the same thread. This case has been >>>>> defined. >>>>> But, in the case of threads, I would be rather careful. Sorry, I do not >>>>> have the >>>>> time to look it up in the specs. :-/ >>>> Well, I did look it up because it was quite an intriguing question. >>>> Sub-paragraph 3 of Java Language Specification ?17.4.1 says it: >>>> "Local variables (?14.4), formal method parameters (?8.4.1), and exception >>>> handler parameters (?14.20) are never shared between threads and are >>>> unaffected by the memory model." ;-) >>>> >>>>> To get thread-safe, you would have to pass launchCommand as a parameter >>>>> to >>>>> Runnable's constructor and store its reference in a member variable. >>>>> >>>>> Btw, the preferred way to construct Process objects since JDK 1.5 is to >>>>> use >>>>> ProcessBuilder. ProcessBuilder would also allow you to set policytool's >>>>> current >>>>> working directory to user.home, which is advisable. >>>>> [...] >>> Amazing, thank you for all the help with this! But are you sure about this >>> problem of the constant going out of scope of the Thread? Yes, variables, >>> method >>> parameters, and exception handler parameters will never be *shared* between >>> threads (as in each Thread will have a local variable by the same name but >>> these >>> two will be distinct from each other in memory), but does this really mean >>> that >>> the variable can go out of scope for the Thread by the time it runs? >> First of all, the term "scope" in the context of programming languages only >> refers to visibility of memory resource identifiers from a given section of >> source code. It has no implications on nor any assumptions can be made based >> upon it about the visibility of memory resources in any target execution >> environment. A given programming language scope may or may not have an >> equivalent abstraction, representation, or constraint in the target execution >> environment. In Java, both cases can be found, depending on the language >> construct. So, please do not confuse applying the term "scope" from a >> programming language to an execution environment. Most execution environments >> do >> not deal with scopes. They rather have limitations on addressing modes or >> have >> memory management units etc. >> >> In the source code at hand, Runnable.run() does not lose scope of >> launchCommand. >> Otherwise, the source code would not compile, simply because scope checking >> is >> done at compile-time, never at run-time. However, what bothered me was that >> Runnable.run() needs to access the object via the reference stored in the >> local >> constant variable launchCommand. Accesses can only be accomplished through >> reading the value of a field, an array element, or a local variable (or a >> return >> value that is also placed on the stack). And, since launchCommand isn't >> passed >> and stored nowhere in the source code explicitly to Runnable, I would rather >> assume it is not going to be available at run-time. So, I decided to dig >> deeper >> into this by disassembling the relevant classes. As it turns out, the OpenJDK >> 7 >> compiler synthesizes a "final synthetic java.lang.String[] val$launchCommand" >> field in Runnable. IMHO this is a violation of the Java Language Spec. It is >> no >> violation of the JVM Spec, of course. But, it is annoying and confusing that >> the >> so called "Java reference implementation" silently starts to violate the Java >> Language Spec in order to get around corner cases or to patch things up so >> that >> it just runs. :-( This means that you can never be sure about the code that >> the >> compiler is going to generate or rather you have to be always aware that it >> will >> possibly generate some wired and dubious stuff into your byte code. This is >> totally against Java's original intention of a compile-time error preventing >> type-safe verifiable platform. *rant start* They have turned this idea upside >> down by eliminating errors silently or implicitly instead of leaving >> programmers >> in control of their programs and the way they want to solve problems. Why did >> they do that? Did they fear some programmers being to dump to solve problems >> themselves? *end of rant* >> > I'm assuming this is using OpenJDK's javac to compile? Out of interest, have you > tried compiling it with ecj and seeing if that gives a different result or emulates > the same hack? I suspect this is something that was done to support inner classes. > > As to the PolicyTool issue itself, it seems the bug in building on 6 is due to: > > changeset: 2400:b3466e2c3819 > user: mchung > date: Tue May 18 13:12:46 2010 -0700 > summary: 6951599: Rename package of security tools for modularization > > a change in OpenJDK 7 which moved PolicyTool from sun.security.tools to its own > package, sun.security.tools.PolicyTool: > > - $(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) > + $(call make-launcher, policytool, sun.security.tools.policytool.PolicyTool, , ) > > If that's the only issue with using that, I don't see why we couldn't just backport > that change to OpenJDK 6 so the location is consistent across all JDKs again. I don't think it's worth backporting this, at least not if it's just to benefit IcedTea-Web. I wasn't aware of this, but all it means is making the reflective fallback launch check for PolicyTool in one more package. Still really not ideal, but it's a very small thing to add compared to the rest of the work that's developed around getting PolicyTool hooked into the control panel here. Certainly not worth risking breaking other applications that might depend on PolicyTool's location being fixed in 6 (although I suspect that number is *incredibly* small). If it does get backported then great, the current patch is sufficient, but I'm going to say that this use case shouldn't be regarded as significant enough to influence the backport decision. I suppose this means tomorrow I'll post another patch that actually has PolicyPanel check for the PolicyTool in both locations. I'll be so glad when we have a nice replacement for PolicyTool and all of this ProcessBuilder and fallback reflective launch can just go away. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:49:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:49:42 +0000 Subject: [Bug 1654] New: [IcedTea7] ppc32 needs a larger ThreadStackSize to build Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 Bug ID: 1654 Summary: [IcedTea7] ppc32 needs a larger ThreadStackSize to build Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: ppc OS: Linux Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org http://pkgs.fedoraproject.org/cgit/java-1.7.0-openjdk.git/tree/java-1.7.0-openjdk-ppc-zero-jdk.patch -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/17b8babf/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:50:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:50:24 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.4.5 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/277cc47f/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:56:55 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:56:55 +0000 Subject: [Bug 1626] icedtea7-zero fails to build on ARM In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1626 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |gnu.andrew at redhat.com --- Comment #2 from Andrew John Hughes --- I see this too; http://koji.fedoraproject.org/koji/taskinfo?taskID=6436083 The ARM port was forwarded-ported to trunk from 2.3, so the changes predate the KERNEL_RETURN removal. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/96f35fde/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 14:57:33 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 22:57:33 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|ppc |ppc64 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/cf420a2d/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:00:28 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:00:28 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|ppc64 |ppc64le -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/068192ea/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:22:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:22:42 +0000 Subject: [Bug 1655] New: [IcedTea7] Don't add IcedTea-Web jars to bootclasspath Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655 Bug ID: 1655 Summary: [IcedTea7] Don't add IcedTea-Web jars to bootclasspath Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org No longer required. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/d41f72af/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:23:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:23:12 +0000 Subject: [Bug 1655] [IcedTea7] Don't add IcedTea-Web jars to bootclasspath In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |omajid at redhat.com Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/c2950066/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:26:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:26:25 +0000 Subject: [Bug 1553] [IcedTea7] Add Debian AArch64 support In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1553 --- Comment #8 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/corba?cmd=changeset;node=1fa1b6388446 author: andrew date: Wed Sep 04 17:52:30 2013 +0100 PR1553: Add Debian AArch64 support -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/899cdd82/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:26:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:26:31 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/corba?cmd=changeset;node=8c6b5d7b858a author: andrew date: Thu Jan 23 22:40:30 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/ea5c2357/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:26:36 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:26:36 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/corba?cmd=changeset;node=1d9647b1ff91 author: andrew date: Thu Jan 23 23:19:18 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/72c3a80e/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:27:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:27:03 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/hotspot?cmd=changeset;node=75120fe933e5 author: andrew date: Thu Jan 23 22:41:21 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/d59f1561/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:27:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:27:08 +0000 Subject: [Bug 1655] [IcedTea7] Don't add IcedTea-Web jars to bootclasspath In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/hotspot?cmd=changeset;node=7d60cc48fa88 author: andrew date: Thu Jan 23 23:25:39 2014 +0000 PR1655: Don't add IcedTea-Web jars to bootclasspath -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/11afbb54/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:27:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:27:22 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=c09b4f91c987 author: andrew date: Thu Jan 23 22:41:14 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/6a4a1501/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 23 15:27:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 23 Jan 2014 23:27:27 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=3cc793e4b177 author: andrew date: Thu Jan 23 23:19:20 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140123/16de079d/attachment.html From gitne at gmx.de Thu Jan 23 15:38:01 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 24 Jan 2014 00:38:01 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <164833898.6181211.1390515378415.JavaMail.root@redhat.com> References: <52D466B1.8060108@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> <164833898.6181211.1390515378415.JavaMail.root@redhat.com> Message-ID: <52E1A7D9.1040000@gmx.de> On 01/23/2014 11:16 PM, Andrew Hughes wrote: >> On 01/22/2014 07:57 PM, Andrew Azores wrote: >>> On 01/22/2014 07:26 AM, Jacob Wisor wrote: >>> [...] >>> Amazing, thank you for all the help with this! But are you sure about this >>> problem of the constant going out of scope of the Thread? Yes, variables, >>> method >>> parameters, and exception handler parameters will never be *shared* between >>> threads (as in each Thread will have a local variable by the same name but >>> these >>> two will be distinct from each other in memory), but does this really mean >>> that >>> the variable can go out of scope for the Thread by the time it runs? >> >> First of all, the term "scope" in the context of programming languages only >> refers to visibility of memory resource identifiers from a given section of >> source code. It has no implications on nor any assumptions can be made based >> upon it about the visibility of memory resources in any target execution >> environment. A given programming language scope may or may not have an >> equivalent abstraction, representation, or constraint in the target execution >> environment. In Java, both cases can be found, depending on the language >> construct. So, please do not confuse applying the term "scope" from a >> programming language to an execution environment. Most execution environments >> do >> not deal with scopes. They rather have limitations on addressing modes or >> have >> memory management units etc. >> >> In the source code at hand, Runnable.run() does not lose scope of >> launchCommand. >> Otherwise, the source code would not compile, simply because scope checking >> is >> done at compile-time, never at run-time. However, what bothered me was that >> Runnable.run() needs to access the object via the reference stored in the >> local >> constant variable launchCommand. Accesses can only be accomplished through >> reading the value of a field, an array element, or a local variable (or a >> return >> value that is also placed on the stack). And, since launchCommand isn't >> passed >> and stored nowhere in the source code explicitly to Runnable, I would rather >> assume it is not going to be available at run-time. So, I decided to dig >> deeper >> into this by disassembling the relevant classes. As it turns out, the OpenJDK >> 7 >> compiler synthesizes a "final synthetic java.lang.String[] val$launchCommand" >> field in Runnable. IMHO this is a violation of the Java Language Spec. It is >> no >> violation of the JVM Spec, of course. But, it is annoying and confusing that >> the >> so called "Java reference implementation" silently starts to violate the Java >> Language Spec in order to get around corner cases or to patch things up so >> that >> it just runs. :-( This means that you can never be sure about the code that >> the >> compiler is going to generate or rather you have to be always aware that it >> will >> possibly generate some wired and dubious stuff into your byte code. This is >> totally against Java's original intention of a compile-time error preventing >> type-safe verifiable platform. *rant start* They have turned this idea upside >> down by eliminating errors silently or implicitly instead of leaving >> programmers >> in control of their programs and the way they want to solve problems. Why did >> they do that? Did they fear some programmers being to dump to solve problems >> themselves? *end of rant* >> > > I'm assuming this is using OpenJDK's javac to compile? Right. > Out of interest, have you tried compiling it with ecj and seeing if that gives a different result or emulates > the same hack? I suspect this is something that was done to support inner classes. No, I did not try ecj, and I probably won't because of enough time already spent digging into it. But, I did try compiling with OpenJDK 7's javac with -source and -target switches set to different versions. On all instances the compiler did generate synthetic fields but with varying values in field_info structure's access_flags field. For some versions those synthetic fields were flagged ACC_PRIVATE, some 0 (default) and/or ACC_FINAL, and once even ACC_PUBLIC (wtf?). :-D For versions prior to 1.6 the field_info.access_flags field has never been flagged with ACC_SYNTHETIC which seems to be correct. I don't know whether this is a hack, but a compiler that does this kind of implicit code generation seems to violate the Java Language Spec imho. Simply because the Java Language Spec does not state whether accessing local constant variables from an inner class on a different thread is a legal construct or not, or what the side effects of it are. Do I get to access this synthetic field, e.g. using a different language than Java or when using this inner class as a library? IMHO this violates the memory model specified in ?17.4, especially ?17.4.1 for shared variables. Or, the spec is perhaps not clear enough about this and should be amended in ?4.12.4, ?8.1.4, and/or ?17.4.1? It is just confusing that the generated code does not reflect the source code. > As to the PolicyTool issue itself, it seems the bug in building on 6 is due to: > > changeset: 2400:b3466e2c3819 > user: mchung > date: Tue May 18 13:12:46 2010 -0700 > summary: 6951599: Rename package of security tools for modularization > > a change in OpenJDK 7 which moved PolicyTool from sun.security.tools to its own > package, sun.security.tools.PolicyTool: > > - $(call make-launcher, policytool, sun.security.tools.PolicyTool, , ) > + $(call make-launcher, policytool, sun.security.tools.policytool.PolicyTool, , ) So, I was right about that some tools' package names had been changed. :-) > If that's the only issue with using that, I don't see why we couldn't just backport > that change to OpenJDK 6 so the location is consistent across all JDKs again. > Hmm... just thinking; what about software that already has been adapted to this change since the release of OpenJDK 7? It may assume this change still being in effect when running on a Java 6 JRE. Or, what about software that has never been or never will get updated to accommodate for this change, simply because it has been compiled for no later than JDK 6 only? This backport would break that software too. Jacob From omajid at redhat.com Thu Jan 23 16:06:20 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 23 Jan 2014 19:06:20 -0500 Subject: [icedtea-web] RFC: Support building against OpenJDK9 In-Reply-To: <20140123220308.GB10543@redhat.com> References: <20140123220308.GB10543@redhat.com> Message-ID: <20140124000620.GF10543@redhat.com> * Omair Majid [2014-01-23 17:06]: > I tried to build IcedTea-Web against OpenJDK8 for the first time today > and ran into a two issues: I also tried building IcedTea-Web against OpenJDK9. Only one more issue popped up. OpenJDK9 no longer has a PermGen and no longer recognizes the -XX:PermSize option. The javadoc invocation used by IcedTea-Web fails. I am not sure why PermGen sizes are being specified in IcedTea-Web in the first place, so I would like to remove the PermGen-related flags. The attached patch does that. Thoughts? Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 -------------- next part -------------- diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2014-01-23 Omair Majid + + * Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]: + Don't specify perm gen size. + 2014-01-23 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java, diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -172,7 +172,7 @@ JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ -bottom ' Submit a bug or feature' if JAVADOC_SUPPORTS_J_OPTIONS -JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m +JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m endif endif From jvanek at redhat.com Fri Jan 24 03:10:31 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 24 Jan 2014 12:10:31 +0100 Subject: [icedtea-web] RFC: Support building against OpenJDK8 In-Reply-To: <20140123220308.GB10543@redhat.com> References: <20140123220308.GB10543@redhat.com> Message-ID: <52E24A27.7080907@redhat.com> On 01/23/2014 11:03 PM, Omair Majid wrote: > Hi, > > I tried to build IcedTea-Web against OpenJDK8 for the first time today > and ran into a two issues: > > 1. OpenJDK8 needs the applet hole patch that various IcedTea versions > have been carrying [1]. > > 2. The OpenJDK8 javadoc tool is strict enough that it gives an error and > refuses to parse malformed and incorrect javadoc. The attached patch > fixes this. > > This is far from an exhaustive test on OpenJDK8. I only tested a few > things, but at least with this we can build IcedTea-Web against > OpenJDK8. > > Okay to push? looks ok to me. Thanx. It seems that we really have to release 1.5 to f21 if the jdk8 will be main jdk here! > > Thanks, > Omair > > [1] http://icedtea.classpath.org/hg/release/icedtea6-1.13/file/d6930de9aba6/patches/applet_hole.patch > Yes. This patch is an issue, and we really have to upstream it. IS there even chance it will be usptreamed? Havne anybody ever tried? If no.. thenm it will have to be spec patch for ever and les susers for ITW :( J. From jvanek at redhat.com Fri Jan 24 03:13:14 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 24 Jan 2014 12:13:14 +0100 Subject: [icedtea-web] RFC: Support building against OpenJDK9 In-Reply-To: <20140124000620.GF10543@redhat.com> References: <20140123220308.GB10543@redhat.com> <20140124000620.GF10543@redhat.com> Message-ID: <52E24ACA.4000709@redhat.com> On 01/24/2014 01:06 AM, Omair Majid wrote: > * Omair Majid [2014-01-23 17:06]: >> >I tried to build IcedTea-Web against OpenJDK8 for the first time today >> >and ran into a two issues: > I also tried building IcedTea-Web against OpenJDK9. Only one more issue > popped up. > > OpenJDK9 no longer has a PermGen and no longer recognizes the > -XX:PermSize option. The javadoc invocation used by IcedTea-Web fails. I > am not sure why PermGen sizes are being specified in IcedTea-Web in the > first place, so I would like to remove the PermGen-related flags. > > The attached patch does that. Thoughts? I would guess this was copied from icedtea6 buoild infrastructure. And I would even bet that here it arrived by some long forgotten copy whne it were flags from something else. Feel free to push. > > Thanks, > Omair > > -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F > 6648 4681 > > > build-against-openjdk9-01.patch > > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,8 @@ > +2014-01-23 Omair Majid > + > + * Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]: > + Don't specify perm gen size. > + > 2014-01-23 Omair Majid > > * netx/net/sourceforge/jnlp/JNLPFile.java, > diff --git a/Makefile.am b/Makefile.am > --- a/Makefile.am > +++ b/Makefile.am > @@ -172,7 +172,7 @@ > JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ > -bottom ' Submit a bug or feature' > if JAVADOC_SUPPORTS_J_OPTIONS > -JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m > +JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m > endif > endif > > From jvanek at redhat.com Fri Jan 24 04:53:31 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 24 Jan 2014 13:53:31 +0100 Subject: [rfc][icedtea-web] tuning of properties loading In-Reply-To: <52E14787.8060305@redhat.com> References: <52E01006.30700@redhat.com> <52E0408C.6010002@redhat.com> <52E140C8.7070502@redhat.com> <52E14787.8060305@redhat.com> Message-ID: <52E2624B.3020004@redhat.com> On 01/23/2014 05:47 PM, Andrew Azores wrote: > On 01/23/2014 11:18 AM, Jiri Vanek wrote: >> >>> } catch (IOException e) { >>> + if (mandatory){ >>> + throw new ConfigurationException(e.getMessage());//unluckily >>> ConfigurationException can not have cause >>> + } >>> >>> >>> ConfigurationException does have initCause(Throwable), does this not match what you need? It gets >>> this from its superclass NamingException which implements Throwable. >> >> Ah I overlooked!. Tahnx. Fixed. > > I still see this: > > + if (mandatory){ > + throw new ConfigurationException(e.getMessage());//unluckily ConfigurationException > can not have cause > + } > > why not use it here as well? ugh. ThanX! > > Also, this is just a style thing and feel free to ignore, but: :( I dont like it.. kept. > > + ConfigurationException ce = new ConfigurationException("Invalid url to system > properties, which are mandatory"); > + ce.initCause(e); > + throw ce; > > could also simply become: > > + throw new ConfigurationException("Invalid url to system properties, which are > mandatory").initCause(e); > > since Throwable#initCause(Throwable) is defined to return "this" at the end. > >>> >>> + //to be sure - we MUST die >>> -http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html >>> + }catch(Throwable t){ >>> + //all exceptions are causing InstantiatizationError so this do it much more readble >>> + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); >>> + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, >>> getMessage("RFailingToDefault")); >>> + //try to survive this unlikely exception >>> + config.resetToDefaults(); >>> >>> >>> Hmm, what's the motivation behind adding this? What is there that's causing InstantiationErrors [1], >>> and if these occur, should it be trying to survive? Usually you don't want to be catching Errors >>> [2], so catch-all Throwable is even worse than catch-all Exception. >> >> a) the NoClassDefFoundError error is fatal and non recoverable >> b) no solid info *why* it happened appeared (consumed any NoClassDefFoundError?) >> c) we can run pretty well with defaults (and msut warn user - I'm thinking also about poping up an >> dialogue in non headless mode, but I'm afraid that it cnabe to early to (maybe another chnageset) >> >> I do not insist on throwable, If you wish I can lower to general exception or whatever you wont. >> But defintley do not wont this static block to throw something Ok . I switched to Exception. You sounds like don't likening throwable :) >> > > Well, NoClassDefFoundError is a a subclass of Error, not Exception, so catching general Exception > will still not catch this! If you want this method to absolutely never throw anything without first > catching it on its own, then Throwable is the only choice you have. nn. You got it wrong. The NoClassDefFoundError is *caused* *by* any exception *from* the staic initializer. So I'm not cacthing NoClassDefFoundError, I'm pereventing it to happen. I do not wont to survive something so fatal! > >>> >>> [1] http://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationError.html >> >> Ugh sorry - it is java.lang.NoClassDefFoundError: Could not initialize class >> net.sourceforge.jnlp.runtime.JNLPRuntime$DeploymentConfigurationHolder what is thrown when static >> initializer throw some excption out. > > Ah okay this makes sense, I understand the motivation now. Catching all Throwable still sounds kind > of scary to me though, because this includes all kinds of Error subclasses that are really not meant > to be recoverable. Are you sure you want to be consuming and ignoring VirtualMachineError, > AssertionError, and LinkageError? as above. I think preventing the NoClassDefFoundError exception by warning ( I added the pop up now) by defaults is good thing to do. Thanx! J. -------------- next part -------------- A non-text attachment was scrubbed... Name: tuningOfPropertiesLoading3.patch Type: text/x-patch Size: 8495 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/8749bbf0/tuningOfPropertiesLoading3.patch From ptisnovs at icedtea.classpath.org Fri Jan 24 05:03:42 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 24 Jan 2014 13:03:42 +0000 Subject: /hg/gfx-test: Another ten new tests added into BitBltUsingBgColo... Message-ID: changeset 840cb462723e in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=840cb462723e author: Pavel Tisnovsky date: Fri Jan 24 14:07:59 2014 +0100 Another ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 150 +++++++++++++++++++++ 2 files changed, 155 insertions(+), 0 deletions(-) diffs (172 lines): diff -r 48428250e782 -r 840cb462723e ChangeLog --- a/ChangeLog Thu Jan 23 13:25:12 2014 +0100 +++ b/ChangeLog Fri Jan 24 14:07:59 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-24 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Another ten new tests added into BitBltUsingBgColor test suite. + 2014-01-23 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 48428250e782 -r 840cb462723e src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Thu Jan 23 13:25:12 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Fri Jan 24 14:07:59 2014 +0100 @@ -5252,6 +5252,156 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_BINARY. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteBinaryBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteBinary(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.blue. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.green. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.cyan. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.red. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.magenta. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.yellow. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_GRAY. + * Background color is set to Color.white. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteGrayBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteGray(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * Background color is set to Color.black. + * + * @param image + * image to be used as a destination for BitBlt-type operations + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.black); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Fri Jan 24 05:10:02 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 24 Jan 2014 13:10:02 +0000 Subject: /hg/rhino-tests: More test improvements. Message-ID: changeset d6b53a234aca in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=d6b53a234aca author: Pavel Tisnovsky date: Fri Jan 24 14:14:19 2014 +0100 More test improvements. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/SimpleScriptContextClassTest.java | 50 ++++++++++++++++++++ 2 files changed, 55 insertions(+), 0 deletions(-) diffs (86 lines): diff -r ec46202571e9 -r d6b53a234aca ChangeLog --- a/ChangeLog Thu Jan 23 13:27:15 2014 +0100 +++ b/ChangeLog Fri Jan 24 14:14:19 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-24 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleScriptContextClassTest.java: + More test improvements. + 2014-01-23 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r ec46202571e9 -r d6b53a234aca src/org/RhinoTests/SimpleScriptContextClassTest.java --- a/src/org/RhinoTests/SimpleScriptContextClassTest.java Thu Jan 23 13:27:15 2014 +0100 +++ b/src/org/RhinoTests/SimpleScriptContextClassTest.java Fri Jan 24 14:14:19 2014 +0100 @@ -1962,6 +1962,30 @@ } try { + this.simpleScriptContextClass.cast(new java.awt.Label()); + throw new AssertionError("Class.cast(new java.awt.Label()) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.awt.Label(new String())); + throw new AssertionError("Class.cast(new java.awt.Label(new String())) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleScriptContextClass.cast(new java.awt.Label("xyzzy")); + throw new AssertionError("Class.cast(new java.awt.Label(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1978,6 +2002,14 @@ } try { + this.simpleScriptContextClass.cast(new javax.swing.JLabel("xyzzy")); + throw new AssertionError("Class.cast(new javax.swing.JLabel(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleScriptContextClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } @@ -2162,6 +2194,24 @@ } /** + * Test for method javax.script.SimpleScriptContext.getClass().getResourceAsStreamPositiveTest() + */ + protected void testGetResourceAsStreamPositiveTest() { + Object stream; + stream = this.simpleScriptContextClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getResourceAsStream(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + } + + /** + * Test for method javax.script.SimpleScriptContext.getClass().toString() + */ + protected void testToString() { + String asString; + asString = this.simpleScriptContextClass.toString(); + assertEquals("class javax.script.SimpleScriptContext", asString, "wrong toString() return value"); + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleScriptContext */ @SuppressWarnings("cast") From jvanek at redhat.com Fri Jan 24 05:27:55 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 24 Jan 2014 14:27:55 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E18090.3080605@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> <52E18090.3080605@redhat.com> Message-ID: <52E26A5B.1040003@redhat.com> > > Anyway, moving on to the actual work at hand :-). Again, you're right that ProcessBuilder#start() > doesn't seem to be explicitly defined as being asynchronous, although intuitively it seems like it > should be. But I can't find hard facts anywhere guaranteeing this, and I can't really see it causing > any problems to do this work within a new Thread (because what possible issue could there be with > removing this work from the AWT thread? This absolutely should be independent of that). So in the > new patch, that whole chunk of code is inside a new Thread. > > Thanks, > ok for me. Good luck with others ;) J. From omajid at redhat.com Fri Jan 24 06:55:55 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 24 Jan 2014 09:55:55 -0500 Subject: [icedtea-web] RFC: Support building against OpenJDK8 In-Reply-To: <52E24A27.7080907@redhat.com> References: <20140123220308.GB10543@redhat.com> <52E24A27.7080907@redhat.com> Message-ID: <20140124145555.GB2112@redhat.com> * Jiri Vanek [2014-01-24 06:10]: > On 01/23/2014 11:03 PM, Omair Majid wrote: > >Okay to push? > > looks ok to me. Thanx. Thank you for the review! > It seems that we really have to release 1.5 to f21 if the jdk8 will be main jdk here! Hey, I think we should release 1.5 anyway. Release early, release often! I don't actually know if OpenJDK8 will be the main JDK on Fedora 21. I don't even know if there is a release date set for Fedora 21 yet (so I am not sure if the schedules match up in any way). And I don't think (as upstream) we should worry too much about any individual distribution. Folks maintaining IcedTea-Web in Fedora (that's you :) ) can selectively backport things too, right? Still, I would love to see a 1.5 out sooner rather than later. I am a fan of the proposal of having release out every few months, not once every year :( > >[1] http://icedtea.classpath.org/hg/release/icedtea6-1.13/file/d6930de9aba6/patches/applet_hole.patch > > Yes. This patch is an issue, and we really have to upstream it. IS > there even chance it will be usptreamed? Havne anybody ever tried? I posted the patch for review to jdk9-dev yesterday: http://mail.openjdk.java.net/pipermail/jdk9-dev/2014-January/000320.html So far, it's looking like a "no" :( Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at icedtea.classpath.org Fri Jan 24 07:10:50 2014 From: omajid at icedtea.classpath.org (omajid at icedtea.classpath.org) Date: Fri, 24 Jan 2014 15:10:50 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 4b70f2812899 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=4b70f2812899 author: Omair Majid date: Fri Jan 24 10:05:12 2014 -0500 Support building against OpenJDK8 The OpenJDK8 javadoc parser is much more strict and raises erorrs on marlformed html, incorrect parameter names and incorrect throws declerations. 2014-01-23 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java, * netx/net/sourceforge/jnlp/config/DirectoryValidator.java, * netx/net/sourceforge/jnlp/config/Setting.java, * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java, * netx/net/sourceforge/jnlp/security/SecurityDialogs.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/JarFile.java, * netx/net/sourceforge/nanoxml/XMLElement.java, * netx/net/sourceforge/nanoxml/XMLParseException.java, * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Fix incorrect parameter names, throws declerations and malformed html in javadocs. changeset 353717054f7e in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=353717054f7e author: Omair Majid date: Fri Jan 24 10:08:57 2014 -0500 Support building against OpenJDK9 OpenJDK9 does not have a PermGen and does not accept PermGen related flags. Remove them. 2014-01-23 Omair Majid * Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]: Don't specify perm gen size. diffstat: ChangeLog | 28 ++ Makefile.am | 2 +- netx/net/sourceforge/jnlp/JNLPFile.java | 10 +- netx/net/sourceforge/jnlp/NetxPanel.java | 2 +- netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 3 - netx/net/sourceforge/jnlp/cache/CacheUtil.java | 2 +- netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 4 +- netx/net/sourceforge/jnlp/config/DirectoryValidator.java | 2 + netx/net/sourceforge/jnlp/config/Setting.java | 2 +- netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java | 2 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 1 - netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 7 +- netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java | 2 +- netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 2 +- netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 2 +- netx/net/sourceforge/jnlp/services/XSingleInstanceService.java | 4 +- netx/net/sourceforge/jnlp/util/FileUtils.java | 5 +- netx/net/sourceforge/jnlp/util/JarFile.java | 3 +- netx/net/sourceforge/nanoxml/XMLElement.java | 140 ++++----- netx/net/sourceforge/nanoxml/XMLParseException.java | 16 +- plugin/icedteanp/java/sun/applet/PluginStreamHandler.java | 4 - 21 files changed, 131 insertions(+), 112 deletions(-) diffs (truncated from 792 to 500 lines): diff -r c125ee7b6759 -r 353717054f7e ChangeLog --- a/ChangeLog Mon Jan 20 18:28:16 2014 +0100 +++ b/ChangeLog Fri Jan 24 10:08:57 2014 -0500 @@ -1,3 +1,31 @@ +2014-01-23 Omair Majid + + * Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]: + Don't specify perm gen size. + +2014-01-23 Omair Majid + + * netx/net/sourceforge/jnlp/JNLPFile.java, + * netx/net/sourceforge/jnlp/NetxPanel.java, + * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java, + * netx/net/sourceforge/jnlp/cache/CacheUtil.java, + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java, + * netx/net/sourceforge/jnlp/config/DirectoryValidator.java, + * netx/net/sourceforge/jnlp/config/Setting.java, + * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java, + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, + * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java, + * netx/net/sourceforge/jnlp/security/SecurityDialogs.java, + * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, + * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, + * netx/net/sourceforge/jnlp/util/FileUtils.java, + * netx/net/sourceforge/jnlp/util/JarFile.java, + * netx/net/sourceforge/nanoxml/XMLElement.java, + * netx/net/sourceforge/nanoxml/XMLParseException.java, + * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Fix incorrect + parameter names, throws declerations and malformed html in javadocs. + 2014-01-20 Jiri Vanek Added Christmas splashscreen extension. diff -r c125ee7b6759 -r 353717054f7e Makefile.am --- a/Makefile.am Mon Jan 20 18:28:16 2014 +0100 +++ b/Makefile.am Fri Jan 24 10:08:57 2014 -0500 @@ -172,7 +172,7 @@ JAVADOC_OPTS=-use -keywords -encoding UTF-8 -splitIndex \ -bottom ' Submit a bug or feature' if JAVADOC_SUPPORTS_J_OPTIONS -JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m +JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m endif endif diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Fri Jan 24 10:08:57 2014 -0500 @@ -199,7 +199,7 @@ * * @param location the location of the JNLP file * @param version the version of the JNLP file - * @param strict whether to enforce the spec when + * @param settings the {@link ParserSettings} to use when parsing the {@code location} * @param policy the update policy * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid @@ -264,7 +264,6 @@ /** * Create a JNLPFile from an input stream. * - * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, ParserSettings settings) throws ParseException { @@ -277,8 +276,7 @@ * * @param input input stream of JNLP file. * @param codebase codebase to use if not specified in JNLP file.. - * @param strict whether to enforce the spec rules - * @throws IOException if an IO exception occurred + * @param settings the {@link ParserSettings} to use when parsing * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, URL codebase, ParserSettings settings) throws ParseException { @@ -665,9 +663,7 @@ * * @param requested the local * @param available the available locales - * @param precision the depth with which to match locales. 1 checks only - * language, 2 checks language and country, 3 checks language, country and - * variant for matches. Passing 0 will always return true. + * @param matchLevel the detail with which to match locales. * @return true if requested matches any of available, or if * available is empty or null. */ diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/NetxPanel.java --- a/netx/net/sourceforge/jnlp/NetxPanel.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/NetxPanel.java Fri Jan 24 10:08:57 2014 -0500 @@ -42,7 +42,7 @@ * This panel calls into netx to run an applet, and pipes the display * into a panel from the icedtea-web browser plugin. * - * @author Francis Kung + * @author Francis Kung <fkung at redhat.com> */ public class NetxPanel extends AppletViewerPanel implements SplashController { private final PluginParameters parameters; diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Fri Jan 24 10:08:57 2014 -0500 @@ -98,9 +98,6 @@ /** * Returns an instance of the policy. - * - * @param propertiesFile - * @return */ public static CacheLRUWrapper getInstance() { return INSTANCE; diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jan 24 10:08:57 2014 -0500 @@ -368,7 +368,7 @@ /** * Returns the parent directory of the cached resource. - * @param path The path of the cached resource directory. + * @param filePath The path of the cached resource directory. */ public static String getCacheParentDirectory(String filePath) { String path = filePath; diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Fri Jan 24 10:08:57 2014 -0500 @@ -247,7 +247,7 @@ * Initialize this deployment configuration by reading configuration files. * Generally, it will try to continue and ignore errors it finds (such as file not found). * - * @throws DeploymentException if it encounters a fatal error. + * @throws ConfigurationException if it encounters a fatal error. */ public void load() throws ConfigurationException { load(true); @@ -269,7 +269,7 @@ * * @param fixIssues If true, fix issues that are discovered when reading configuration by * resorting to the default values - * @throws DeploymentException if it encounters a fatal error. + * @throws ConfigurationException if it encounters a fatal error. */ public void load(boolean fixIssues) throws ConfigurationException { // make sure no state leaks if security check fails later on diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/config/DirectoryValidator.java --- a/netx/net/sourceforge/jnlp/config/DirectoryValidator.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/config/DirectoryValidator.java Fri Jan 24 10:08:57 2014 -0500 @@ -216,12 +216,14 @@ /** * Creates DirectoryValidator to ensure directories read from * user (if any - default otherwise ) settings via keys: + *
      *
    • KEY_USER_CACHE_DIR
    • *
    • KEY_USER_PERSISTENCE_CACHE_DIR
    • *
    • KEY_SYSTEM_CACHE_DIR
    • *
    • KEY_USER_LOG_DIR
    • *
    • KEY_USER_TMP_DIR
    • *
    • KEY_USER_LOCKS_DIR
    • + *
    */ public DirectoryValidator() { dirsToCheck = new ArrayList(6); diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/config/Setting.java --- a/netx/net/sourceforge/jnlp/config/Setting.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/config/Setting.java Fri Jan 24 10:08:57 2014 -0500 @@ -67,7 +67,7 @@ * @param defaultValue the default value of this setting. If this is not a * recognized setting, use null. * @param value the initial value of this setting - * @param source the origin of the value (a file, or perhaps "") + * @param source the origin of the value (a file, or perhaps "{@code }") */ public Setting(String name, String description, boolean locked, ValueValidator validator, T defaultValue, T value, String source) { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java --- a/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java Fri Jan 24 10:08:57 2014 -0500 @@ -37,7 +37,7 @@ /** * This dialog provides a means for user to edit more of the proxy settings. * - * @author Andrew Su + * @author Andrew Su <asu at redhat.com, andrew.su at utoronto.ca> * */ public class AdvancedProxySettingsDialog extends JDialog { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Jan 24 10:08:57 2014 -0500 @@ -796,7 +796,6 @@ * * @param jars Jars that are checked to see if they contain the main class * @param name attribute to be found - * @throws LaunchException Thrown if the signed JNLP file, within the main jar, fails to be verified or does not match */ public String checkForAttributeInJars(List jars, Attributes.Name name) { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Fri Jan 24 10:08:57 2014 -0500 @@ -684,7 +684,8 @@ } /** - * Indicate that netx is running by creating the {@link JNLPRuntime#INSTANCE_FILE} and + * Indicate that netx is running by creating the file corresponding to + * {@link DeploymentConfiguration#KEY_USER_NETX_RUNNING_FILE} and * acquiring a shared lock on it */ public synchronized static void markNetxRunning() { @@ -734,8 +735,8 @@ } /** - * Indicate that netx is stopped by releasing the shared lock on - * {@link JNLPRuntime#INSTANCE_FILE}. + * Indicate that netx is stopped by releasing the shared lock on the file + * corresponding to {@link DeploymentConfiguration#KEY_USER_NETX_RUNNING_FILE}. */ private static void markNetxStopped() { if (fileLock == null) { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java --- a/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java Fri Jan 24 10:08:57 2014 -0500 @@ -61,7 +61,7 @@ * Represents a Proxy Auto Config file. This object can be used to evaluate the * proxy file to find the proxy for a given url. * - * @see "http://en.wikipedia.org/wiki/Proxy_auto-config#The_PAC_file" + * @see The PAC File */ public class RhinoBasedPacEvaluator implements PacEvaluator { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/security/SecurityDialogs.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java Fri Jan 24 10:08:57 2014 -0500 @@ -240,7 +240,7 @@ /** * FIXME This is unused. Remove it? - * @return (0, 1, 2) => (Yes, No, Cancel) + * @return (0, 1, 2) => (Yes, No, Cancel) */ public static int showAppletWarning() { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java --- a/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java Fri Jan 24 10:08:57 2014 -0500 @@ -200,7 +200,7 @@ * @param authType The auth type algorithm * @param hostName The expected hostName that the server should have * @param socket The SSLSocket in use (may be null) - * @param ending The SSLEngine in use (may be null) + * @param engine The SSLEngine in use (may be null) */ public synchronized void checkTrustServer(X509Certificate[] chain, String authType, String hostName, diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/services/XSingleInstanceService.java --- a/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/services/XSingleInstanceService.java Fri Jan 24 10:08:57 2014 -0500 @@ -103,7 +103,7 @@ /** * Initialize the new SingleInstanceService * - * @throws InstanceAlreadyExistsException if the instance already exists + * @throws InstanceExistsException if the instance already exists */ public void initializeSingleInstance() { // this is called after the application has started. so safe to use @@ -222,7 +222,7 @@ /** * Add the specified SingleInstanceListener * - * @throws InstanceExistsException, which is likely to terminate the + * @throws InstanceExistsException which is likely to terminate the * application but not guaranteed to */ public void addSingleInstanceListener(SingleInstanceListener sil) { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/util/FileUtils.java --- a/netx/net/sourceforge/jnlp/util/FileUtils.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/FileUtils.java Fri Jan 24 10:08:57 2014 -0500 @@ -398,7 +398,8 @@ /** * utility method which can read from any stream as one long String * - * @param input stream + * @param is stream + * @param encoding the encoding to use to convert the bytes from the stream * @return stream as string * @throws IOException if connection can't be established or resource does not exist */ @@ -424,7 +425,7 @@ /** * utility method which can read from any stream as one long String * - * @param input stream + * @param is stream * @return stream as string * @throws IOException if connection can't be established or resource does not exist */ diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/jnlp/util/JarFile.java --- a/netx/net/sourceforge/jnlp/util/JarFile.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/JarFile.java Fri Jan 24 10:08:57 2014 -0500 @@ -115,7 +115,8 @@ * So for our purposes we must insists on first record to be valid. * * @param file - * @throws IOException, InvalidJarHeaderException + * @throws IOException + * @throws InvalidJarHeaderException */ public static void verifyZipHeader(File file) throws IOException { if (!JNLPRuntime.isIgnoreHeaders()) { diff -r c125ee7b6759 -r 353717054f7e netx/net/sourceforge/nanoxml/XMLElement.java --- a/netx/net/sourceforge/nanoxml/XMLElement.java Mon Jan 20 18:28:16 2014 +0100 +++ b/netx/net/sourceforge/nanoxml/XMLElement.java Fri Jan 24 10:08:57 2014 -0500 @@ -43,11 +43,11 @@ *
    Parsing XML Data
    *
    * You can parse XML data using the following code: - *
      - * XMLElement xml = new XMLElement();
      - * FileReader reader = new FileReader("filename.xml");
      + *
        {@code + * XMLElement xml = new XMLElement(); + * FileReader reader = new FileReader("filename.xml"); * xml.parseFromReader(reader); - *
    + * } *
    Retrieving Attributes
    *
    * You can enumerate the attributes of an element using the method @@ -55,15 +55,15 @@ * The attribute values can be retrieved using the method * {@link #getAttribute(java.lang.String) getAttribute}. * The following example shows how to list the attributes of an element: - *
      - * XMLElement element = ...;
      - * Enumeration enum = element.enumerateAttributeNames();
      - * while (enum.hasMoreElements()) {
      - *     String key = (String) enum.nextElement();
      - *     String value = (String) element.getAttribute(key);
      - *     System.out.println(key + " = " + value);
      + *
        {@code + * XMLElement element = ...; + * Enumeration enum = element.enumerateAttributeNames(); + * while (enum.hasMoreElements()) { + *     String key = (String) enum.nextElement(); + *     String value = (String) element.getAttribute(key); + *     System.out.println(key + " = " + value); * } - *
    + * } *
    Retrieving Child Elements
    *
    * You can enumerate the children of an element using @@ -74,9 +74,7 @@ *
    Elements Containing Character Data
    *
    * If an elements contains character data, like in the following example: - *
      - * <title>The Title</title> - *
    + *
      {@code The Title}
    * you can retrieve that data using the method * {@link #getContent() getContent}. *
    @@ -163,7 +161,7 @@ * The line number where the element starts. * *
    Invariants:
    - *
    • lineNr >= 0 + *
      • {@code lineNr >= 0} *
    */ private int lineNr; @@ -215,17 +213,17 @@ /** * Creates and initializes a new XML element. * Calling the construction is equivalent to: - *
      new XMLElement(new Hashtable(), false, true) - *
    + *
    • new XMLElement(new Hashtable(), false, true) + *
    * *
    Postconditions:
    - *
    • countChildren() => 0 - *
    • enumerateChildren() => empty enumeration - *
    • enumeratePropertyNames() => empty enumeration - *
    • getChildren() => empty vector - *
    • getContent() => "" - *
    • getLineNr() => 0 - *
    • getName() => null + *
      • countChildren() => 0 + *
      • enumerateChildren() => empty enumeration + *
      • enumeratePropertyNames() => empty enumeration + *
      • getChildren() => empty vector + *
      • getContent() => "" + *
      • getLineNr() => 0 + *
      • getName() => null *
    * */ @@ -252,7 +250,7 @@ * true if the case of element and attribute names have * to be ignored. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • entities != null *
    • if fillBasicConversionTable == false * then entities contains at least the following @@ -261,14 +259,14 @@ *
    * *
    Postconditions:
    - *
    • countChildren() => 0 - *
    • enumerateChildren() => empty enumeration - *
    • enumeratePropertyNames() => empty enumeration - *
    • getChildren() => empty vector - *
    • getContent() => "" - *
    • getLineNr() => 0 - *
    • getName() => null - *
    + *
    • countChildren() => 0 + *
    • enumerateChildren() => empty enumeration + *
    • enumeratePropertyNames() => empty enumeration + *
    • getChildren() => empty vector + *
    • getContent() => "" + *
    • getLineNr() => 0 + *
    • getName() => null + *
    * */ protected XMLElement(Hashtable entities, @@ -306,17 +304,17 @@ * @param child * The child element to add. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • child != null *
    • child.getName() != null *
    • child does not have a parent element *
    * *
    Postconditions:
    - *
    • countChildren() => old.countChildren() + 1 - *
    • enumerateChildren() => old.enumerateChildren() + child - *
    • getChildren() => old.enumerateChildren() + child - *
    + *
    • countChildren() => old.countChildren() + 1 + *
    • enumerateChildren() => old.enumerateChildren() + child + *
    • getChildren() => old.enumerateChildren() + child + *
    * */ public void addChild(XMLElement child) { @@ -331,7 +329,7 @@ * @param value * The value of the attribute. * - *
    Preconditions:
    + *
    Preconditions:
    *
    • name != null *
    • name is a valid XML identifier *
    • value != null @@ -339,9 +337,9 @@ * *
      Postconditions:
      *
      • enumerateAttributeNames() - * => old.enumerateAttributeNames() + name - *
      • getAttribute(name) => value - *
      + * => old.enumerateAttributeNames() + name + *
    • getAttribute(name) => value + *
    * */ public void setAttribute(String name, @@ -356,7 +354,7 @@ * Returns the number of child elements of the element. * *
    Postconditions:
    - *
    • result >= 0 + *
      • {@code result >= 0} *
    * */ @@ -402,7 +400,7 @@ * This method returns 0 there is no associated source data. * *
    Postconditions:
    - *
    • result >= 0 + *
      • {@code result >= 0} *
    */ public int getLineNr() { From omajid at redhat.com Fri Jan 24 07:31:39 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 24 Jan 2014 10:31:39 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E18090.3080605@redhat.com> References: <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> <52E18090.3080605@redhat.com> Message-ID: <20140124153139.GD2112@redhat.com> * Andrew Azores [2014-01-23 16:23]: > Anyway, moving on to the actual work at hand :-). Again, you're > right that ProcessBuilder#start() doesn't seem to be explicitly > defined as being asynchronous, although intuitively it seems like it > should be. But I can't find hard facts anywhere guaranteeing this, > and I can't really see it causing any problems to do this work > within a new Thread (because what possible issue could there be with > removing this work from the AWT thread? This absolutely should be > independent of that). So in the new patch, that whole chunk of code > is inside a new Thread. The javadocs for `Process` [1] say: """ There is no requirement that a process represented by a Process object execute asynchronously or concurrently with respect to the Java process that owns the Process object. """ Anyway, patch looks fine to me. Thanks, Omair [1] http://docs.oracle.com/javase/7/docs/api/java/lang/Process.html -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at icedtea.classpath.org Fri Jan 24 07:48:48 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 24 Jan 2014 15:48:48 +0000 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel Message-ID: changeset efa527f74184 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=efa527f74184 author: Andrew Azores date: Fri Jan 24 10:48:08 2014 -0500 Improve PolicyTool launch method in PolicyPanel http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025971.html * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added license header and javadocs. Launch PolicyTool by ProcessBuilder rather than calling PolicyTool.main directly, with reflective launch fallback method. * netx/net/sourceforge/jnlp/resources/Messages.properties: added message (CPPolicyEditorNotFound) diffstat: ChangeLog | 9 + netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java | 161 ++++++++++++++- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + 3 files changed, 153 insertions(+), 18 deletions(-) diffs (293 lines): diff -r 353717054f7e -r efa527f74184 ChangeLog --- a/ChangeLog Fri Jan 24 10:08:57 2014 -0500 +++ b/ChangeLog Fri Jan 24 10:48:08 2014 -0500 @@ -1,3 +1,12 @@ +2014-01-24 Andrew Azores + + http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025971.html + * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added license + header and javadocs. Launch PolicyTool by ProcessBuilder rather than + calling PolicyTool.main directly, with reflective launch fallback method. + * netx/net/sourceforge/jnlp/resources/Messages.properties: added message + (CPPolicyEditorNotFound) + 2014-01-23 Omair Majid * Makefile.am [ENABLE_DOCS] [JAVADOC_SUPPORTS_J_OPTIONS]: diff -r 353717054f7e -r efa527f74184 netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Fri Jan 24 10:08:57 2014 -0500 +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Fri Jan 24 10:48:08 2014 -0500 @@ -1,3 +1,39 @@ +/* Copyright (C) 2014 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea 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 for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + package net.sourceforge.jnlp.controlpanel; import static net.sourceforge.jnlp.runtime.Translator.R; @@ -10,6 +46,7 @@ import java.awt.event.ActionListener; import java.io.File; import java.io.IOException; +import java.lang.reflect.Method; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; @@ -28,12 +65,24 @@ import net.sourceforge.jnlp.config.DirectoryValidator.DirectoryCheckResults; import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.logging.OutputController; -import sun.security.tools.policytool.PolicyTool; public class PolicyPanel extends NamedBorderPanel { + /** + * Indicates whether a file was successfully opened. If not, provides specific reasons + * along with a general failure case + */ private enum OpenFileResult { - SUCCESS, FAILURE, CANT_CREATE, CANT_WRITE, NOT_FILE + /** The file was successfully opened */ + SUCCESS, + /** The file could not be opened, for non-specified reasons */ + FAILURE, + /** The file could not be opened because it did not exist and could not be created */ + CANT_CREATE, + /** The file can be opened but in read-only */ + CANT_WRITE, + /** The specified path pointed to a non-file filesystem object, ie a directory */ + NOT_FILE } public PolicyPanel(final JFrame frame, final DeploymentConfiguration config) { @@ -70,7 +119,10 @@ c.gridx++; add(showUserPolicyButton, c); - /* Keep all the elements at the top of the panel (Extra padding) */ + /* Keep all the elements at the top of the panel (Extra padding) + * Keep View/Edit button next to location field, with padding between + * the right edge of the frame and the button + */ c.fill = GridBagConstraints.BOTH; Component filler1 = Box.createRigidArea(new Dimension(240, 1)); Component filler2 = Box.createRigidArea(new Dimension(1, 1)); @@ -84,17 +136,18 @@ /** * Launch the policytool for a specified file path - * @param filePath the policy file path to be opened with policytool + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear + * @param filePath a {@link String} representing the path to the file to be opened */ private static void launchPolicyTool(final JFrame frame, final String filePath) { try { final File policyFile = new File(filePath).getCanonicalFile(); OpenFileResult result = canOpenPolicyFile(policyFile); if (result == OpenFileResult.SUCCESS) { - PolicyTool.main(new String[] { "-file", policyFile.getPath() }); + policyToolLaunchHelper(frame, filePath); } else if (result == OpenFileResult.CANT_WRITE) { showReadOnlyDialog(frame); - PolicyTool.main(new String[] { "-file", policyFile.getPath() }); + policyToolLaunchHelper(frame, filePath); } else { showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); } @@ -105,10 +158,61 @@ } /** + * This executes a new process for policytool using ProcessBuilder, with the new process' + * working directory set to the user's home directory. policytool then attempts to + * open the provided policy file path, if policytool can be run. ProcessBuilder does + * some verification to ensure that the built command can be executed - if not, it + * throws an IOException. In this event, we try our reflective fallback launch. + * We do this in a new {@link Thread} to ensure that the fallback launch does not + * block the AWT thread, and neither does ProcessBuilder#start() in case it happens + * to be synchronous on the current system. + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear + * @param filePath a {@link String} representing the path to the file to be opened + */ + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { + new Thread(new Runnable() { + @Override + public void run() { + ProcessBuilder pb = new ProcessBuilder("policytool", "-file", filePath) + .directory(new File(System.getProperty("user.home"))); + try { + pb.start(); + } catch (IOException ioe) { + OutputController.getLogger().log(ioe); + try { + reflectivePolicyToolLaunch(filePath); + } catch (Exception e) { + OutputController.getLogger().log(e); + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); + } + } + } + }).start(); + } + + /** + * This is used as a fallback in case launching the policytool by executing a new process + * fails. This probably happens because we are running on a system where the policytool + * executable is not on the PATH, or because we are running on a non-POSIX compliant system. + * We do this reflectively to avoid needing to add PolicyTool as build dependency simply for + * this small edge case. + * @param filePath a {@link String} representing the path of the file to attempt to open + * @throws Exception if any sort of exception occurs during reflective launch of policytool + */ + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { + Class policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); + Class[] signature = new Class[] { String[].class }; + Method main = policyTool.getDeclaredMethod("main", signature); + Object args = new String[] { "-file", filePath }; + main.invoke(null, args); + } + + /** * Verify that a given file object points to a real, accessible plain file. * As a side effect, if the file is accessible but does not yet exist, it will be created * as an empty plain file. - * @param policyFile the file to verify + * @param policyFile the {@link File} to verify + * @return an {@link OpenFileResult} representing the accessibility level of the file * @throws IOException if the file is not accessible */ private static OpenFileResult canOpenPolicyFile(final File policyFile) { @@ -137,8 +241,8 @@ /** * Ensure that the parent directory of the Policy File exists and that we are * able to create and access files within this directory - * @param policyFile the location of the policy file - * @return an object representing the results of the test + * @param policyFile the {@link File} representing a Java Policy file to test + * @return a {@link DirectoryCheckResults} object representing the results of the test */ private static DirectoryCheckResults testPolicyFileDirectory(final File policyFile) { List policyDirectory = new ArrayList(); @@ -149,10 +253,21 @@ return result; } + /** + * Show a generic error dialog indicating the policy file could not be opened + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + */ private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath) { showCouldNotOpenFileDialog(frame, filePath, OpenFileResult.FAILURE); } + /** + * Show an error dialog indicating the policy file could not be opened, with a particular reason + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + * @param reason a {@link OpenFileResult} specifying more precisely why we failed to open the file + */ private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final OpenFileResult reason) { String message; switch (reason) { @@ -174,30 +289,40 @@ /** * Show a dialog informing the user that the policy file could not be opened - * @param frame the parent frame for this dialog - * @param filePath the path to the file we tried to open - * @param message the specific reason the file could not be opened + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + * @param message a {@link String} giving the specific reason the file could not be opened */ private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final String message) { OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); - JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); + } + }); } /** * Show a dialog informing the user that the policy file is currently read-only - * @param frame the parent frame for this dialog + * @param frame a {@link JFrame} to act as parent to this dialog */ private static void showReadOnlyDialog(final JFrame frame) { OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Opening user JNLP policy read-only"); - JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); + } + }); } /** * Loosely attempt to get the path part of a file URL string. If this fails, * simply return back the input. This is only intended to be used for displaying * GUI elements such as the CPPolicyTooltip. - * @param url the String representing the URL whose path is desired - * @return a String representing the local filepath of the given file:/ URL + * @param url the {@link String} representing the URL whose path is desired + * @return a {@link String} representing the local filepath of the given file:/ URL */ private static String localFilePathFromUrlString(String url) { try { @@ -208,7 +333,7 @@ } } - /* + /** * Implements the action to be performed when the "View Policy" button is clicked */ private class ViewPolicyButtonAction implements ActionListener { diff -r 353717054f7e -r efa527f74184 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jan 24 10:08:57 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jan 24 10:48:08 2014 -0500 @@ -360,6 +360,7 @@ CPJVMconfirmReset=Reset to default? CPPolicyDetail=View or edit your user-level Java Policy File. This allows you to grant or deny runtime permissions to applets regardless of the standard security sandboxing rules. CPPolicyTooltip=Open {0} in policy editor +CPPolicyEditorNotFound=Could not find a system policy file editor. Check that policytool is on your PATH. # Control Panel - Buttons CPButAbout=About... From gnu.andrew at redhat.com Fri Jan 24 08:18:07 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 24 Jan 2014 11:18:07 -0500 (EST) Subject: [icedtea-web] RFC: Support building against OpenJDK9 In-Reply-To: <20140124000620.GF10543@redhat.com> References: <20140123220308.GB10543@redhat.com> <20140124000620.GF10543@redhat.com> Message-ID: <1585799388.6521139.1390580287931.JavaMail.root@redhat.com> ----- Original Message ----- > * Omair Majid [2014-01-23 17:06]: > > I tried to build IcedTea-Web against OpenJDK8 for the first time today > > and ran into a two issues: > > I also tried building IcedTea-Web against OpenJDK9. Only one more issue > popped up. > > OpenJDK9 no longer has a PermGen and no longer recognizes the > -XX:PermSize option. The javadoc invocation used by IcedTea-Web fails. I > am not sure why PermGen sizes are being specified in IcedTea-Web in the > first place, so I would like to remove the PermGen-related flags. > > The attached patch does that. Thoughts? > > Thanks, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > $ hg annotate Makefile.am |grep PermSize 57: JAVADOC_MEM_OPTS=-J-Xmx1024m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m $ hg log -r 57 changeset: 57:243ab4185293 user: Andrew John Hughes date: Fri Nov 26 15:21:56 2010 +0000 summary: Add documentation build support. As I implied on IRC yesterday, more than happy for you to drop this :) -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gnu.andrew at redhat.com Fri Jan 24 08:21:32 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 24 Jan 2014 11:21:32 -0500 (EST) Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E1A7D9.1040000@gmx.de> References: <52D466B1.8060108@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E014B0.8030706@redhat.com> <52E16563.7000401@gmx.de> <164833898.6181211.1390515378415.JavaMail.root@redhat.com> <52E1A7D9.1040000@gmx.de> Message-ID: <1426626319.6522624.1390580492077.JavaMail.root@redhat.com> ----- Original Message ----- > On 01/23/2014 11:16 PM, Andrew Hughes wrote: > >> On 01/22/2014 07:57 PM, Andrew Azores wrote: > >>> On 01/22/2014 07:26 AM, Jacob Wisor wrote: > >>> [...] > >>> Amazing, thank you for all the help with this! But are you sure about > >>> this > >>> problem of the constant going out of scope of the Thread? Yes, variables, > >>> method > >>> parameters, and exception handler parameters will never be *shared* > >>> between > >>> threads (as in each Thread will have a local variable by the same name > >>> but > >>> these > >>> two will be distinct from each other in memory), but does this really > >>> mean > >>> that > >>> the variable can go out of scope for the Thread by the time it runs? > >> > >> First of all, the term "scope" in the context of programming languages > >> only > >> refers to visibility of memory resource identifiers from a given section > >> of > >> source code. It has no implications on nor any assumptions can be made > >> based > >> upon it about the visibility of memory resources in any target execution > >> environment. A given programming language scope may or may not have an > >> equivalent abstraction, representation, or constraint in the target > >> execution > >> environment. In Java, both cases can be found, depending on the language > >> construct. So, please do not confuse applying the term "scope" from a > >> programming language to an execution environment. Most execution > >> environments > >> do > >> not deal with scopes. They rather have limitations on addressing modes or > >> have > >> memory management units etc. > >> > >> In the source code at hand, Runnable.run() does not lose scope of > >> launchCommand. > >> Otherwise, the source code would not compile, simply because scope > >> checking > >> is > >> done at compile-time, never at run-time. However, what bothered me was > >> that > >> Runnable.run() needs to access the object via the reference stored in the > >> local > >> constant variable launchCommand. Accesses can only be accomplished through > >> reading the value of a field, an array element, or a local variable (or a > >> return > >> value that is also placed on the stack). And, since launchCommand isn't > >> passed > >> and stored nowhere in the source code explicitly to Runnable, I would > >> rather > >> assume it is not going to be available at run-time. So, I decided to dig > >> deeper > >> into this by disassembling the relevant classes. As it turns out, the > >> OpenJDK > >> 7 > >> compiler synthesizes a "final synthetic java.lang.String[] > >> val$launchCommand" > >> field in Runnable. IMHO this is a violation of the Java Language Spec. It > >> is > >> no > >> violation of the JVM Spec, of course. But, it is annoying and confusing > >> that > >> the > >> so called "Java reference implementation" silently starts to violate the > >> Java > >> Language Spec in order to get around corner cases or to patch things up so > >> that > >> it just runs. :-( This means that you can never be sure about the code > >> that > >> the > >> compiler is going to generate or rather you have to be always aware that > >> it > >> will > >> possibly generate some wired and dubious stuff into your byte code. This > >> is > >> totally against Java's original intention of a compile-time error > >> preventing > >> type-safe verifiable platform. *rant start* They have turned this idea > >> upside > >> down by eliminating errors silently or implicitly instead of leaving > >> programmers > >> in control of their programs and the way they want to solve problems. Why > >> did > >> they do that? Did they fear some programmers being to dump to solve > >> problems > >> themselves? *end of rant* > >> > > > > I'm assuming this is using OpenJDK's javac to compile? > > Right. > > > Out of interest, have you tried compiling it with ecj and seeing if that > > gives a different result or emulates > > the same hack? I suspect this is something that was done to support inner > > classes. > > No, I did not try ecj, and I probably won't because of enough time already > spent > digging into it. But, I did try compiling with OpenJDK 7's javac with -source > and -target switches set to different versions. On all instances the compiler > did generate synthetic fields but with varying values in field_info > structure's > access_flags field. For some versions those synthetic fields were flagged > ACC_PRIVATE, some 0 (default) and/or ACC_FINAL, and once even ACC_PUBLIC > (wtf?). > :-D For versions prior to 1.6 the field_info.access_flags field has never > been > flagged with ACC_SYNTHETIC which seems to be correct. > > I don't know whether this is a hack, but a compiler that does this kind of > implicit code generation seems to violate the Java Language Spec imho. Simply > because the Java Language Spec does not state whether accessing local > constant > variables from an inner class on a different thread is a legal construct or > not, > or what the side effects of it are. Do I get to access this synthetic field, > e.g. using a different language than Java or when using this inner class as a > library? IMHO this violates the memory model specified in ?17.4, especially > ?17.4.1 for shared variables. Or, the spec is perhaps not clear enough about > this and should be amended in ?4.12.4, ?8.1.4, and/or ?17.4.1? > It is just confusing that the generated code does not reflect the source > code. > Yeah. ecj is the only alternate up-to-date implementation I know of. If it does the same thing, then it's clearly some kind of defacto standard for handling this, illegal as it may be. If it complains and errors out, that's a clear javac bug and there's more chance of it being fixed. > > As to the PolicyTool issue itself, it seems the bug in building on 6 is due > > to: > > > > changeset: 2400:b3466e2c3819 > > user: mchung > > date: Tue May 18 13:12:46 2010 -0700 > > summary: 6951599: Rename package of security tools for modularization > > > > a change in OpenJDK 7 which moved PolicyTool from sun.security.tools to its > > own > > package, sun.security.tools.PolicyTool: > > > > - $(call make-launcher, policytool, sun.security.tools.PolicyTool, , > > ) > > + $(call make-launcher, policytool, > > sun.security.tools.policytool.PolicyTool, , ) > > So, I was right about that some tools' package names had been changed. :-) > > > If that's the only issue with using that, I don't see why we couldn't just > > backport > > that change to OpenJDK 6 so the location is consistent across all JDKs > > again. > > > > Hmm... just thinking; what about software that already has been adapted to > this > change since the release of OpenJDK 7? It may assume this change still being > in > effect when running on a Java 6 JRE. Or, what about software that has never > been > or never will get updated to accommodate for this change, simply because it > has > been compiled for no later than JDK 6 only? This backport would break that > software too. > I thought the same pretty much after posting this, and even more so when Andrew basically told me on IRC that this code was never designed to be run from Java code anyway (it calls System.exit). > Jacob > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gnu.andrew at redhat.com Fri Jan 24 08:27:32 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 24 Jan 2014 11:27:32 -0500 (EST) Subject: [icedtea-web] RFC: Support building against OpenJDK8 In-Reply-To: <20140124145555.GB2112@redhat.com> References: <20140123220308.GB10543@redhat.com> <52E24A27.7080907@redhat.com> <20140124145555.GB2112@redhat.com> Message-ID: <1307204816.6525792.1390580851997.JavaMail.root@redhat.com> ----- Original Message ----- > * Jiri Vanek [2014-01-24 06:10]: > > On 01/23/2014 11:03 PM, Omair Majid wrote: > > >Okay to push? > > > > looks ok to me. Thanx. > > Thank you for the review! > > > It seems that we really have to release 1.5 to f21 if the jdk8 will be > > main jdk here! > > Hey, I think we should release 1.5 anyway. Release early, release often! > > I don't actually know if OpenJDK8 will be the main JDK on Fedora 21. I > don't even know if there is a release date set for Fedora 21 yet (so I > am not sure if the schedules match up in any way). And I don't think (as > upstream) we should worry too much about any individual distribution. > Folks maintaining IcedTea-Web in Fedora (that's you :) ) can selectively > backport things too, right? > +1 I doubt it will be in so soon. I still think Fedora took 1.6 out far too quickly. > Still, I would love to see a 1.5 out sooner rather than later. I am a > fan of the proposal of having release out every few months, not once > every year :( Release early, release often. I'm trying to impose that more with IcedTea too. > > > >[1] > > >http://icedtea.classpath.org/hg/release/icedtea6-1.13/file/d6930de9aba6/patches/applet_hole.patch > > > > Yes. This patch is an issue, and we really have to upstream it. IS > > there even chance it will be usptreamed? Havne anybody ever tried? > > I posted the patch for review to jdk9-dev yesterday: > http://mail.openjdk.java.net/pipermail/jdk9-dev/2014-January/000320.html > > So far, it's looking like a "no" :( > Then we should suggest they release their implementation as open source... ;) > Thanks, > Omair > > -- > PGP Key: 66484681 (http://pgp.mit.edu/) > Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From gitne at gmx.de Fri Jan 24 08:47:24 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 24 Jan 2014 17:47:24 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: References: Message-ID: <52E2991C.1020606@gmx.de> On 01/24/2014 04:48 PM, aazores at icedtea.classpath.org wrote: > [...] > -import sun.security.tools.policytool.PolicyTool; > > public class PolicyPanel extends NamedBorderPanel { Please add at least one sentence documenting this class' purpose. Thank you. > [...] > /** > * Launch the policytool for a specified file path > - * @param filePath the policy file path to be opened with policytool > + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear > + * @param filePath a {@link String} representing the path to the file to be opened > */ > private static void launchPolicyTool(final JFrame frame, final String filePath) { > try { > final File policyFile = new File(filePath).getCanonicalFile(); > OpenFileResult result = canOpenPolicyFile(policyFile); Please consider declaring "result" final. > if (result == OpenFileResult.SUCCESS) { > - PolicyTool.main(new String[] { "-file", policyFile.getPath() }); > + policyToolLaunchHelper(frame, filePath); > } else if (result == OpenFileResult.CANT_WRITE) { > showReadOnlyDialog(frame); > - PolicyTool.main(new String[] { "-file", policyFile.getPath() }); > + policyToolLaunchHelper(frame, filePath); > } else { > showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); > } > [...] > /** > + * This executes a new process for policytool using ProcessBuilder, with the new process' > + * working directory set to the user's home directory. policytool then attempts to > + * open the provided policy file path, if policytool can be run. ProcessBuilder does > + * some verification to ensure that the built command can be executed - if not, it > + * throws an IOException. In this event, we try our reflective fallback launch. > + * We do this in a new {@link Thread} to ensure that the fallback launch does not > + * block the AWT thread, and neither does ProcessBuilder#start() in case it happens > + * to be synchronous on the current system. > + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear > + * @param filePath a {@link String} representing the path to the file to be opened > + */ > + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { > + new Thread(new Runnable() { > + @Override > + public void run() { > + ProcessBuilder pb = new ProcessBuilder("policytool", "-file", filePath) > + .directory(new File(System.getProperty("user.home"))); Please consider declaring "pb" final. > + try { > + pb.start(); > + } catch (IOException ioe) { > + OutputController.getLogger().log(ioe); > + try { > + reflectivePolicyToolLaunch(filePath); > + } catch (Exception e) { > + OutputController.getLogger().log(e); > + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); Hmm, this looks interesting. The dialog will be modal to IcedTea-Web's JFrame from a different than the AWT thread. I hope this doesn't break. :-D > + } > + } > + } > + }).start(); > + } > + > + /** > + * This is used as a fallback in case launching the policytool by executing a new process > + * fails. This probably happens because we are running on a system where the policytool > + * executable is not on the PATH, or because we are running on a non-POSIX compliant system. > + * We do this reflectively to avoid needing to add PolicyTool as build dependency simply for > + * this small edge case. > + * @param filePath a {@link String} representing the path of the file to attempt to open > + * @throws Exception if any sort of exception occurs during reflective launch of policytool > + */ > + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { > + Class policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); What about JRE 6? You could catch a ClassNotFoundException here and then try to get sun.security.tools.PolicyTool. And, if that fails, well then... Blow up! :-D > + Class[] signature = new Class[] { String[].class }; Redundant. No need to create a new instance here at run-time. > + Method main = policyTool.getDeclaredMethod("main", signature); Just substitute "signature" with "String[].class". > + Object args = new String[] { "-file", filePath }; Why is "args" of type Object? String[] should be fine and Method.invoke() won't complain because String[] inherits from Object. ;-) > + main.invoke(null, args); > + } > + > [...] > /** > * Show a dialog informing the user that the policy file could not be opened > - * @param frame the parent frame for this dialog > - * @param filePath the path to the file we tried to open > - * @param message the specific reason the file could not be opened > + * @param frame a {@link JFrame} to act as parent to this dialog > + * @param filePath a {@link String} representing the path to the file we failed to open > + * @param message a {@link String} giving the specific reason the file could not be opened > */ > private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final String message) { > OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); > - JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); > + SwingUtilities.invokeLater(new Runnable() { > + @Override > + public void run() { > + JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); ??? Why do you queue up a modal dialog on the AWT thread? I mean, it's not wrong and IcedTea-Web's JFrame will surely be happy to process all events in queue before its thread gets blocked by that modal dialog anyway. So, it is not really necessary here. Modal dialogs may or perhaps should be executed on the AWT thread because they are supposed to block all other UI components they refer to. > + } > + }); > } > > /** > * Show a dialog informing the user that the policy file is currently read-only > - * @param frame the parent frame for this dialog > + * @param frame a {@link JFrame} to act as parent to this dialog > */ > private static void showReadOnlyDialog(final JFrame frame) { > OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Opening user JNLP policy read-only"); > - JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); > + SwingUtilities.invokeLater(new Runnable() { > + @Override > + public void run() { > + JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); Same goes here. > + } > + }); > } > [...] Nice, untiring zeal. Keep it up! :-) Jacob From aph at redhat.com Fri Jan 24 10:08:03 2014 From: aph at redhat.com (Andrew Haley) Date: Fri, 24 Jan 2014 18:08:03 +0000 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DFB8E2.9030502@gmx.de> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> Message-ID: <52E2AC03.2060908@redhat.com> > + private static void policyToolLaunchHelper(final JFrame frame, final String > filePath) { > + final String[] launchCommand = new String[] { "policytool", "-file", > filePath }; > > Ah, the caveats of anonymous classes and threads again: The launchCommand local > constant is not guaranteed to be available when Runnable.run() is scheduled to run. > > + new Thread(new Runnable() { > + @Override > + public void run() { > + try { > + final Process ptool = > Runtime.getRuntime().exec(launchCommand); > > The launchCommand local constant referenced here which lives on the > stack of the anonymous class's enclosing policyToolLaunchHelper() > method is not guaranteed to be valid or to exist after the thread > had been started. policyToolLaunchHelper() may terminate and thus > its local stack be cleaned up /before/ Runnable.run() is scheduled > to run, leaving no constant for reference. I am not entirely sure > about what the Java Programming Language Spec and/or JVM Spec define > in this case but I would bet that it has intentionally been left > undefined. It hasn't. launchCommand is a local variable in the context of policyToolLaunchHelper. It is a final local, so it cannot be changed. It points to an array of String. This array is not constant. The array will continue to exist for as long as there is a reference to it from any thread. The anonymous thread we just created, of course, holds a reference to the array; it does not, and it cannot, hold a reference into the stack frame of policyToolLaunchHelper. That really would be a violation of the JLS and the VM specification. With regard to javac generating magic fields to capture variables in scope, it's time for you to get used to that. Closures, in particular, do it all the time. > I don't know whether this is a hack, but a compiler that does this > kind of implicit code generation seems to violate the Java Language > Spec imho. Simply because the Java Language Spec does not state > whether accessing local constant variables from an inner class on a > different thread is a legal construct or not, or what the side > effects of it are. Do I get to access this synthetic field, > e.g. using a different language than Java or when using this inner > class as a library? IMHO this violates the memory model specified in > ?17.4, especially ?17.4.1 for shared variables. Or, the spec is > perhaps not clear enough about this and should be amended in > ?4.12.4, ?8.1.4, and/or ?17.4.1? You're confusing local variables shared between threads, which is impossible, and the values to which they point being shared, which is not. Andrew. From aazores at redhat.com Fri Jan 24 11:34:54 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 24 Jan 2014 14:34:54 -0500 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52DECBF5.7040204@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> <52DEA087.8070108@gmx.de> <52DEA5C4.30604@redhat.com> <52DEAE6B.1010501@gmx.de> <52DECBF5.7040204@redhat.com> Message-ID: <52E2C05E.8000500@redhat.com> On 01/21/2014 02:35 PM, Andrew Azores wrote: > On 01/21/2014 12:29 PM, Jacob Wisor wrote: >> On 01/21/2014 05:52 PM, Andrew Azores wrote: >>> (snip) >> >> I am not talking about technical effects. I am talking about effects >> on support staff and admins. They may not be familiar with J2SE's >> policy system yet when their user's and customers start calling in >> for help. You know, it is not uncommon for large organizations that >> provide in-house support to have their staff (really, this does >> sometimes happen indeed!) trained for a specific set of applications >> and thus features. They truly rely on specific feature sets and >> incremental evolution of software. Of course, this feature will >> probably not generate as many support calls as resetting passwords, >> but lets not make those people's lives miserable by introducing >> effects that they assumed not to exist with the current minor version >> release. So please, just do all of us a favor and do not backport it. >> Believe me, I know what I am talking about. >> >> Jacob > > Well, I see what you mean. I don't really see it causing problems but > "better safe than sorry" I suppose. > > Jiri, do you have a compelling argument against Jacob's? ;) > > Thanks, > After much discussion and debate on IRC, I've been convinced to go ahead and create a 1.4 backport patch and propose it here. It is attached. Here is the justification for the backport as far as I remember: (1) The underlying feature already exists, this simply makes it more accessible/visible (2) The permission system is constructive only, and so it is very difficult to imagine a scenario where a user's custom policy file can possibly break an application. This would mean the application depends on being denied runtime permissions. Most users are probably never going to bother trying this, and if they do, it should be completely harmless And the arguments against backporting: (3) Additional load on IT support people in companies that are using IcedTea-Web, as this is a "new feature" being introduced within the same minor version number -- However, this is thought to be negligible because of (2) above Personally, I do not care much either way. I don't believe there is any strong reason to not backport, and I also don't see much benefit to backport. This is because I consider the custom policy editing to be of little use without functionality similar to what is provided by the "Run In Sandbox button" patch (ie introducing a way to run signed applets with a restricted permissions set rather than granting AllPermission immediately and universally), which certainly will not be backported to 1.4. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-backport-full.patch Type: text/x-patch Size: 19249 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/6c926881/custompolicy-backport-full-0001.patch From gitne at gmx.de Fri Jan 24 11:59:53 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 24 Jan 2014 20:59:53 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E2AC03.2060908@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DD7E17.2070901@redhat.com> <52DD830D.9000509@redhat.com> <52DF1111.3080301@gmx.de> <52DFB8E2.9030502@gmx.de> <52E2AC03.2060908@redhat.com> Message-ID: <52E2C639.9060008@gmx.de> Although this thread has gotten off topic, I will answer one last time about this. On 01/24/2014 07:08 PM, Andrew Haley wrote: >> + private static void policyToolLaunchHelper(final JFrame frame, final String >> filePath) { >> + final String[] launchCommand = new String[] { "policytool", "-file", >> filePath }; >> >> Ah, the caveats of anonymous classes and threads again: The launchCommand local >> constant is not guaranteed to be available when Runnable.run() is scheduled to run. >> >> + new Thread(new Runnable() { >> + @Override >> + public void run() { >> + try { >> + final Process ptool = >> Runtime.getRuntime().exec(launchCommand); >> >> The launchCommand local constant referenced here which lives on the >> stack of the anonymous class's enclosing policyToolLaunchHelper() >> method is not guaranteed to be valid or to exist after the thread >> had been started. policyToolLaunchHelper() may terminate and thus >> its local stack be cleaned up /before/ Runnable.run() is scheduled >> to run, leaving no constant for reference. I am not entirely sure >> about what the Java Programming Language Spec and/or JVM Spec define >> in this case but I would bet that it has intentionally been left >> undefined. > > It hasn't. > > launchCommand is a local variable in the context of > policyToolLaunchHelper. It is a final local, so it cannot be changed. Just because something is final it does not mean the compiler is free to make it any class's field, especially when threads are involved. > It points to an array of String. This array is not constant. > > The array will continue to exist for as long as there is a reference > to it from any thread. The anonymous thread we just created, of > course, holds a reference to the array; it does not, and it cannot, > hold a reference into the stack frame of policyToolLaunchHelper. That > really would be a violation of the JLS and the VM specification. > > With regard to javac generating magic fields to capture variables in > scope, it's time for you to get used to that. Closures, in > particular, do it all the time. Nevertheless, I am admitted to calling this a violation of the Java Language Spec for as long as "automagically" adding fields to classes for the sake of patching things up in order to get them running has not been declared a viable strategy for implementors of compilers in that very same spec. >> I don't know whether this is a hack, but a compiler that does this >> kind of implicit code generation seems to violate the Java Language >> Spec imho. Simply because the Java Language Spec does not state >> whether accessing local constant variables from an inner class on a >> different thread is a legal construct or not, or what the side >> effects of it are. Do I get to access this synthetic field, >> e.g. using a different language than Java or when using this inner >> class as a library? IMHO this violates the memory model specified in >> ?17.4, especially ?17.4.1 for shared variables. Or, the spec is >> perhaps not clear enough about this and should be amended in >> ?4.12.4, ?8.1.4, and/or ?17.4.1? > > You're confusing local variables shared between threads, which is > impossible, and the values to which they point being shared, which is > not. No, I am not. As you laid out yourself, this reference (not the object) has to be stored *somewhere*. policyToolLaunchHelper()'s thread stores it on its stack for the duration of policyToolLaunchHelper(). The compiler synthesizes a field into the inner class to store this reference for its thread. This is not visible from the source code. If you would ask almost anyone what the properties of localCommand in the inner class are, he/she would answer that it is a shared local variable, not the inner class's field. It has not been stipulated by the Java Language Spec that accessing local constant variables of enclosing classes from inner classes makes them fields of that particular inner class. Unless you show me otherwise, I beg to differ. ;-) Jacob From andrew at icedtea.classpath.org Fri Jan 24 12:37:21 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 24 Jan 2014 20:37:21 +0000 Subject: /hg/icedtea7: 2 new changesets Message-ID: changeset fb4939d4c208 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=fb4939d4c208 author: Andrew John Hughes date: Wed Jan 22 12:36:12 2014 +0000 Add 2.3.13 & 2.4.4 release notes. 2014-01-22 Andrew John Hughes * NEWS: Add 2.3.13 & 2.4.4 release notes. changeset 8a3e31a0cd56 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=8a3e31a0cd56 author: Andrew John Hughes date: Fri Jan 24 20:37:05 2014 +0000 Bump to u60b03 and include PR1653, PR1654 and PR1655. 2014-01-24 Andrew John Hughes Update to u60b03 and additional IcedTea fixes PR1653, PR1654 and PR1655. * Makefile.am: (BUILD_VERSION): Bump to b03. (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated with changes. * hotspot.map: Sync with forest HEAD. * patches/boot/ecj-multicatch.patch: Add new cases in RSAClientKeyExchange and Handshaker. * patches/systemtap_gc.patch: Regenerated. diffstat: ChangeLog | 29 ++++ Makefile.am | 26 +- NEWS | 255 +++++++++++++++++++++++++++++++++++++- hotspot.map | 2 +- patches/boot/ecj-multicatch.patch | 48 +++++++ patches/systemtap_gc.patch | 114 ++++++++-------- 6 files changed, 402 insertions(+), 72 deletions(-) diffs (truncated from 661 to 500 lines): diff -r d41c1fc06514 -r 8a3e31a0cd56 ChangeLog --- a/ChangeLog Sat Jan 18 08:05:53 2014 +0000 +++ b/ChangeLog Fri Jan 24 20:37:05 2014 +0000 @@ -1,3 +1,32 @@ +2014-01-24 Andrew John Hughes + + Update to u60b03 and additional IcedTea fixes + PR1653, PR1654 and PR1655. + * Makefile.am: + (BUILD_VERSION): Bump to b03. + (CORBA_CHANGESET): Update to current HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * NEWS: Updated with changes. + * hotspot.map: Sync with forest HEAD. + * patches/boot/ecj-multicatch.patch: + Add new cases in RSAClientKeyExchange + and Handshaker. + * patches/systemtap_gc.patch: Regenerated. + +2014-01-22 Andrew John Hughes + + * NEWS: Add 2.3.13 & 2.4.4 release notes. + 2014-01-17 Andrew John Hughes * patches/boot/hotspot/default/jdk-dependency.patch: diff -r d41c1fc06514 -r 8a3e31a0cd56 Makefile.am --- a/Makefile.am Sat Jan 18 08:05:53 2014 +0000 +++ b/Makefile.am Fri Jan 24 20:37:05 2014 +0000 @@ -1,22 +1,22 @@ # Dependencies JDK_UPDATE_VERSION = 60 -BUILD_VERSION = b02 +BUILD_VERSION = b03 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 5ec8983b8223 -JAXP_CHANGESET = 2d65c7260575 -JAXWS_CHANGESET = bd85f1c0b8a1 -JDK_CHANGESET = 4c27cda21c4a -LANGTOOLS_CHANGESET = c271c79d6a8c -OPENJDK_CHANGESET = 77e89f3f9031 +CORBA_CHANGESET = 1d9647b1ff91 +JAXP_CHANGESET = 84cee724e1a8 +JAXWS_CHANGESET = a840edf95760 +JDK_CHANGESET = 3cc793e4b177 +LANGTOOLS_CHANGESET = c1b7eb1ea511 +OPENJDK_CHANGESET = 18745a6e5f6d -CORBA_SHA256SUM = 6c9a83e473ec409a59da9c04a578f7d0ad3322e5a938216eaa0e8d8d930eceb0 -JAXP_SHA256SUM = a8577172a84a44d108f036872adb18f2c06fdc59ae401161c9159f391ef9734a -JAXWS_SHA256SUM = b80f3c5319f2ff11bc8548c13711ffaf93de30ea5ca98468663e70fc7fbdd708 -JDK_SHA256SUM = b2c45af6da2815f85b80699e51de748924709d295e5b0d951a47bb94a4c808cd -LANGTOOLS_SHA256SUM = dccb8f490338b3d0808cb647acea48c60839145d61bd7cca6bc1fce42eba86ed -OPENJDK_SHA256SUM = 495d501b3f5769000bac4ca732b9a772c95a3ad0c3a390926d02302579351dc7 +CORBA_SHA256SUM = 8973eee61b625bf0fa43a369f1932385252a19154cf3e1870dd0cab34edfadf5 +JAXP_SHA256SUM = 44cf8572051bdae93f18a0a860e3f5b01a75a876f7fb5b0d97d5e96d7b1778ae +JAXWS_SHA256SUM = 328d8d964143d97a875dab4573071231b7d28286c2656242b39221358327965a +JDK_SHA256SUM = 229e9e20f8fd4d62be34ff20653f49b6defa021ff8e5c9841fb1fc2b0199d23b +LANGTOOLS_SHA256SUM = 7e3e82ef3fae40e7628f088dae8e3b51ab426419f3e548782fd43d6961c531d7 +OPENJDK_SHA256SUM = 834ed675c9382c95a639d1ec0c7a712ce2d9e83dbc0d2fa74fe686527f6d2582 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab diff -r d41c1fc06514 -r 8a3e31a0cd56 NEWS --- a/NEWS Sat Jan 18 08:05:53 2014 +0000 +++ b/NEWS Fri Jan 24 20:37:05 2014 +0000 @@ -31,6 +31,7 @@ - S7147084: (process) appA hangs when read output stream of appB which starts appC that runs forever - S7171591: getDefaultScopeID() in src/solaris/native/java/net/net_util_md.c should return a value - S7173464: Clipboard.getAvailableDataFlavors: Comparison method violates contract + - S7191817: -XX:+UseSerialGC -XX:+UseLargePages crashes with SIGFPE on MacOS X - S7197210: java/lang/invoke/CallSiteTest.java failing on armsflt. - S8003262: reverse translation required changes in xalan resource bundles - S8004032: [TEST_BUG] [macosx] There is no effect when double clicking on the Icon, after right clicking on the Icon and the Icon disappear @@ -41,6 +42,7 @@ - S8008118: (process) Possible null pointer dereference in jdk/src/solaris/native/java/lang/UNIXProcess_md.c - S8008733: Psr:perf:osb performance regression (18%) in wss_bodyenc - S8009213: sun/management/jdp/JdpTest.sh fails with exit code 1 + - S8011955: Lunar screen reader crashes intermittently in WindowsAccessBridge-32.DLL - S8012326: Deadlock occurs when Charset.availableCharsets() is called by several threads at the same time - S8012615: Realm.getRealmsList returns realms list in wrong - S8012925: [parfait] Missing return value in jdk/src/macosx/native/sun/awt/AWTEvent.m @@ -48,6 +50,7 @@ - S8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI - S8015599: [TEST_BUG] [macosx] Test closed/javax/swing/Popup/TaskbarPositionTest.java fails since JDK 8 b75 on MacOSX - S8015600: [TEST_BUG] [macosx] Test closed/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails since JDK 8 b75 on MacOSX + - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions - S8016018: Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions - S8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash - S8016500: Unlocalized warnings. @@ -55,11 +58,15 @@ - S8017195: Introduce option to setKeepAlive parameter on CORBA sockets - S8019396: SA-JDI: OSThread class initialization throws an exception - S8021257: com.sun.corba.se.** should be on restricted package list + - S8021368: Launch of Java Web Start app fails with ClassCircularityError exception in 7u25 - S8021898: Broken JIT compiler optimization for loop unswitching - S8021943: FileDialog getFile returns corrupted string after previous setFile + - S8022213: Intermittent test failures in java/net/URLClassLoader - S8022507: SIGSEGV at ParMarkBitMap::verify_clear() - S8022584: Memory leak in some NetworkInterface methods - S8022585: VM crashes when ran with -XX:+PrintInlining + - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option + - S8022868: missing codepage Cp290 at java runtime - S8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag - S8023130: (process) ProcessBuilder#inheritIO does not work on Windows - S8023310: Thread contention in the method Beans.IsDesignTime() @@ -83,36 +90,71 @@ - S8025207: Intermittent test failure: javax/management/monitor/CounterMonitorThresholdTest.java - S8025255: (tz) Support tzdata2013g - S8025512: NPE with logging while launching webstart on jre7u40 if logging is disabled + - S8025679: Increment minor version of HSx for 7u51 and initialize the build number - S8025713: Syncing indendation/comment/copyright year differences with upstream projects + - S8025775: JNI warnings in TryXShmAttach - S8025860: new hotspot build - hs24.60-b02 - S8025861: Set minor version for hotspot in 7u60 to 60 and build number to b01 - S8025920: webrev.ksh does not provide any details about changes in zip files + - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris - S8026293: Schedule part of G1 pre-barrier late + - S8026304: jarsigner output bad grammar + - S8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs - S8026486: Significant slowdown due to transparent huge pages - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms - S8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2) + - S8026887: Make issues due to failed large pages allocations easier to debug - S8027066: XMLDecoder in java 7 cannot properly deserialize object arrays - S8027172: new hotspot build - hs24.60-b03 + - S8027204: Revise the update of 8026204 and 8025758 + - S8027224: test regression - ClassNotFoundException + - S8027351: (ref) Private finalize method invoked in preference to protected superclass method + - S8027370: Support tzdata2013h + - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 - S8027426: String.toLowerCase incorrectly increases length, if string contains \u0130 char - S8027579: new hotspot build - hs24.60-b04 + - S8027787: 7u51 l10n resource file translation update 1 - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms - S8027839: C1 crashes in Weblogic with G1 enabled - S8027840: C2 allows safepoint checks to leak into G1 pre-barriers - S8027860: [TEST_BUG] File not closed in javax/xml/jaxp/parsers/8022548/XOMParserTest.java + - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 + - S8027944: Increment hsx 24.51 build to b02 for 7u51-b07 - S8027997: G1: SPECjbb2013 crashes due to a broken object reference - S8028054: com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map + - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications + - S8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue + - S8028111: XML readers share the same entity expansion counter + - S8028208: (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win) - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB + - S8028293: Check local configuration for actual ephemeral port range - S8028351: JWS doesn't get authenticated when using kerberos auth proxy + - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 - S8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 + - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) + - S8028520: JVM should not throw VerifyError when a private method overrides a final method + - S8028583: Add helper methods to test libraries + - S8028814: new hotspot build - hs24.60-b06 + - S8028823: java/net/Makefile tabs converted to spaces + - S8029038: Revise fix for XML readers share the same entity expansion counter - S8029304: JFR broken in 7u train for JDK Linux for ARM or OpenJDK + - S8029318: Native Windows ccache still reads DES tickets + - S8029366: ShouldNotReachHere error when creating an array with component type of void - S8029599: JVM crashes on solaris-i586 with -Xverify:all if stack overflow happens during recursive reflective call + - S8029842: Increment hsx 24.51 build to b03 for 7u51-b11 + - S8029903: Add a type safe alternative for working with counter based data + - S8030061: new hotspot build - hs24.60-b05 + - S8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running + - S8031787: Remove fix JDK-8026887 from 7u60 * Bug fixes - Fix implicit function declarations - PR1617: Include defs.make in vm.make so zeroshark.make is included - Add Shark definitions from 8003868 - - D729448: 32-bit alignment on mips and mipsel - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp - Remove binary files and unlicensed generated files + - PR1653: Support ppc64le via Zero + - PR1654: ppc32 needs a larger ThreadStackSize to build + - PR1655: Don't add IcedTea-Web jars to bootclasspath * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim @@ -125,6 +167,217 @@ - Race condition in setting up imethod table - GC: Minor performance improvement +New in release 2.4.4 (2014-01-14): + +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023338: Update jarsigner to encourage timestamping + - S8023672: Enhance jar file validation + - S8024302: Clarify jar verifications + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms + - S8027201, CVE-2014-0376: Enhance JAX-P set up + - S8029507, CVE-2013-5893: Enhance JVM method processing + - S8029533: REGRESSION: closed/java/lang/invoke/8008140/Test8008140.java fails agains +* Backports + - S8025255: (tz) Support tzdata2013g + - S8026826: JDK 7 fix for 8010935 broke the build +* Bug fixes + - PR1618: Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds + - D729448: 32-bit alignment on mips and mipsel + - PR1623: Collision between OpenJDK 6 & 7 classes when bootstrapping with OpenJDK 6 + - Remove binary files and unlicensed generated files + +New in release 2.3.13 (2014-01-14): + +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP statuses + - S8006900, CVE-2013-3829: Add new date/time capability + - S8008589: Better MBean permission validation + - S8010935: Better XML handling + - S8011071, CVE-2013-5780: Better crypto provider handling + - S8011081, CVE-2013-5772: Improve jhat + - S8011157, CVE-2013-5814: Improve CORBA portablility + - S8011786, CVE-2014-0368: Better applet networking + - S8012071, CVE-2013-5790: Better Building of Beans + - S8012147: Improve tool support + - S8012277: CVE-2013-5849: Improve AWT DataFlavor + - S8012425, CVE-2013-5802: Transform TransformerFactory + - S8013503, CVE-2013-5851: Improve stream factories + - S8013506: Better Pack200 data handling + - S8013510, CVE-2013-5809: Augment image writing code + - S8013514: Improve stability of cmap class + - S8013739, CVE-2013-5817: Better LDAP resource management + - S8013744, CVE-2013-5783: Better tabling for AWT + - S8014085: Better serialization support in JMX classes + - S8014093, CVE-2013-5782: Improve parsing of images + - S8014098: Better profile validation + - S8014102, CVE-2013-5778: Improve image conversion + - S8014341, CVE-2013-5803: Better service from Kerberos servers + - S8014349, CVE-2013-5840: (cl) Class.getDeclaredClass problematic in some class loader configurations + - S8014530, CVE-2013-5825: Better digital signature processing + - S8014534: Better profiling support + - S8014987, CVE-2013-5842: Augment serialization handling + - S8015614: Update build settings + - S8015731: Subject java.security.auth.subject to improvements + - S8015743, CVE-2013-5774: Address internet addresses + - S8016256: Make finalization final + - S8016653, CVE-2013-5804: javadoc should ignore ignoreable characters in names + - S8016675, CVE-2013-5797: Make Javadoc pages more robust + - S8017196, CVE-2013-5850: Ensure Proxies are handled appropriately + - S8017287, CVE-2013-5829: Better resource disposal + - S8017291, CVE-2013-5830: Cast Proxies Aside + - S8017298, CVE-2013-4002: Better XML support + - S8017300, CVE-2013-5784: Improve Interface Implementation + - S8017505, CVE-2013-5820: Better Client Service + - S8019292: Better Attribute Value Exceptions + - S8019617: Better view of objects + - S8020293: JVM crash + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code + - S8021275, CVE-2013-5805: Better screening for ScreenMenu + - S8021282, CVE-2013-5806: Better recycling of object instances + - S8021286: Improve MacOS resourcing + - S8021290, CVE-2013-5823: Better signature validation + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022931, CVE-2013-5800: Enhance Kerberos exceptions + - S8022935: Enhance Apache resolver classes + - S8022940: Enhance CORBA translations + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023338: Update jarsigner to encourage timestamping + - S8023672: Enhance jar file validation + - S8023683: Enhance class file parsing + - S8024302: Clarify jar verifications + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Backports + - S6614237: missing codepage Cp290 at java runtime + - S7149012: jarsigner needs not warn about cert expiration if the jar has a TSA timestamp + - S7167593: Changed get_source.sh to allow for getting full oracle jdk repo forest + - S7167976: Fix broken get_source.sh script + - S7170091: Fix missing wait between repo cloning in hgforest.sh + - S7173959: Jvm crashed during coherence exabus (tmb) testing + - S7182152: Instrumentation hot swap test incorrect monitor count + - S7184406: Adjust get_source/hgforest script to allow for trailing // characters + - S7192449: fix up tests to accommodate jtreg spec change + - S7192744: fix up tests to accommodate jtreg spec change + - S7196533: TimeZone.getDefault() slow due to synchronization bottleneck + - S8000450: Restrict access to com/sun/corba/se/impl package + - S8003992: File and other classes in java.io do not handle embedded nulls properly + - S8004391: Bug fix in jtreg causes test failures in pre jdk 8 langtools tests + - S8005194: [parfait] #353 sun/awt/image/jpeg/imageioJPEG.c Memory leak of pointer 'scale' allocated with calloc() + - S8009399: Bump the hsx build number for APRIL CPU + - S8011806: 7u25-b05 hotspot fastdebug build failure + - S8013827: File.createTempFile hangs with temp file starting with 'com1.4' + - S8014312: Fork hs23.25 hsx from hs23.21 for jdk7u25 and reinitialize build number + - S8014469: (tz) Support tzdata2013c + - S8014925: Disable sun.reflect.Reflection.getCallerClass(int) with a temporary switch to re-enable it + - S8015144: Performance regression in ICU OpenType Layout library + - S8015614: Update build settings + - S8015965: (process) Typo in name of property to allow ambiguous commands + - S8015978: Incorrect transformation of XPath expression "string(-0)" + - S8015998: Additional improvement in Javadoc framing + - S8016256: Make finalization final + - S8016357: Update hotspot diagnostic class + - S8016814: sun.reflect.Reflection.getCallerClass returns the frame off by 1 + - S8017566: Backout 8000450 - Cannot access to com.sun.corba.se.impl.orb.ORBImpl + - S8019584: javax/management/remote/mandatory/loading/MissingClassTest.java failed in nightly against jdk7u45: java.io.InvalidObjectException: Invalid notification: null + - S8019969: nioNetworkChannelInet6/SetOptionGetOptionTestInet6 test case crashes + - S8019979: Replace CheckPackageAccess test with better one from closed repo + - S8020054: (tz) Support tzdata2013d + - S8020085: Linux ARM build failure for 7u45 + - S8020943: Memory leak when GCNotifier uses create_from_platform_dependent_str() + - S8020983: OutOfMemoryError caused by non garbage collected JPEGImageWriter Instances + - S8021355: REGRESSION: Five closed/java/awt/SplashScreen tests fail since 7u45 b01 on Linux, Solaris + - S8021360: object not exported" on start of JMXConnectorServer for RMI-IIOP protocol with security manager + - S8021366: java_util/Properties/PropertiesWithOtherEncodings fails during 7u45 nightly testing + - S8021577: JCK test api/javax_management/jmx_serial/modelmbean/ModelMBeanNotificationInfo/serial/index.html#Input has failed since jdk 7u45 b01 + - S8021933: Add extra check for fix # JDK-8014530 + - S8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries + - S8021969: The index_AccessAllowed jnlp can not load successfully with exception thrown in the log. + - S8022086: Fixing licence of newly added files + - S8022661: InetAddress.writeObject() performs flush() on object output stream + - S8022682: Supporting XOM + - S8022856: 7u45 l10n resource file translation update + - S8023457: Event based tracing framework needs a mutex for thread groups + - S8023478: Test fails with HS crash in GCNotifier. + - S8023771: when USER_RELEASE_SUFFIX is set in order to add a string to java -version, build number in the bundles names should not be changed to b00 + - S8023964: java/io/IOException/LastErrorString.java should be @ignore-d + - S8024668: api/java_nio/charset/Charset/index.html#Methods JCK-runtime test fails with 7u45 b11 + - S8024697: Fix for 8020983 causes Xcheck:jni warnings + - S8024863: X11: Support GNOME Shell as mutter + - S8023683: Enhance class file parsing + - S8024914: Swapped usage of idx_t and bm_word_t types in bitMap.inline.hpp + - S8025128: File.createTempFile fails if prefix is absolute path + - S8025170: jdk7u51 7u-1-prebuild is failing since 9/19 + - S8026826: JDK 7 fix for 8010935 broke the build +* Bug fixes + - Enable Zero when there is no HotSpot JIT and an alternate VM has not been explictly enabled. + - Add casts to fix build on S390 + - Add -D_LITTLE_ENDIAN for AArch64. + - Add tests missing from 8014618 backport + - Cast should use same type as GCDrainStackTargetSize (uintx). + - Cleanup file resources properly in TimeZone_md. + - RH991170: Handle alternative Kerberos credential cache locations + - Fix Kerberos cache support to check for null, fallback on old path support and not hardcode the krb5 library. + - Only define _GNU_SOURCE if not already defined. + - Include defs.make in vm.make so VM_LITTLE_ENDIAN is defined on Zero builds + - Fix merge issues caused by faulty AOT 8010118 patch. + - PR1400: Menu of maximized AWT window not working in Mate + - PR1551: Add build support for Zero AArch64 + - PR1553: Add Debian AArch64 support + - PR1554: Fix build on Mac OS X + - RH661505: JPEGs with sRGB IEC61966-2.1 color profiles have wrong colors + - RH995488: Java thinks that the default timezone is Busingen instead of Zurich + - Set ZERO_BUILD in flags.make so it is set on rebuilds + New in release 2.4.3 (2013-10-21): * Security fixes diff -r d41c1fc06514 -r 8a3e31a0cd56 hotspot.map --- a/hotspot.map Sat Jan 18 08:05:53 2014 +0000 +++ b/hotspot.map Fri Jan 24 20:37:05 2014 +0000 @@ -1,3 +1,3 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 11e724b1a33d 68edff4b613f9013f6c4779e1712512d02fc24886a53a69f35fa7e9313fce58b +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 7d60cc48fa88 8ebc6c2fd55f530b8fdac85be4f5fc60dc2af1c45ecd8abae29696de7e9a8c73 ppc http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot 3cc52fb61873 ca8ddf13a1195688835cb4f6941aa9ac32070e05b5856a906a8fb2e3a5f81ac9 diff -r d41c1fc06514 -r 8a3e31a0cd56 patches/boot/ecj-multicatch.patch --- a/patches/boot/ecj-multicatch.patch Sat Jan 18 08:05:53 2014 +0000 +++ b/patches/boot/ecj-multicatch.patch Fri Jan 24 20:37:05 2014 +0000 @@ -481,3 +481,51 @@ throw new Error(x); } return null; +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/Handshaker.java 2014-01-16 00:34:01.264963408 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/Handshaker.java 2014-01-16 00:35:24.562264096 +0000 +@@ -1051,8 +1051,7 @@ + KeyGenerator kg = JsseJce.getKeyGenerator(masterAlg); + kg.init(spec); + return kg.generateKey(); +- } catch (InvalidAlgorithmParameterException | +- NoSuchAlgorithmException iae) { ++ } catch (InvalidAlgorithmParameterException iae) { + // unlikely to happen, otherwise, must be a provider exception + // + // For RSA premaster secrets, do not signal a protocol error +@@ -1060,6 +1059,12 @@ + if (debug != null && Debug.isOn("handshake")) { + System.out.println("RSA master secret generation error:"); + iae.printStackTrace(System.out); ++ } ++ throw new ProviderException(iae); ++ } catch (NoSuchAlgorithmException iae) { ++ if (debug != null && Debug.isOn("handshake")) { ++ System.out.println("RSA master secret generation error:"); ++ iae.printStackTrace(System.out); + } + throw new ProviderException(iae); + } +diff -Nru openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java +--- openjdk-boot.orig/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java 2014-01-16 00:34:14.005162368 +0000 ++++ openjdk-boot/jdk/src/share/classes/sun/security/ssl/RSAClientKeyExchange.java 2014-01-16 00:36:09.446964834 +0000 +@@ -271,12 +271,17 @@ + kg.init(new TlsRsaPremasterSecretParameterSpec( + version.major, version.minor, encodedSecret), generator); + return kg.generateKey(); +- } catch (InvalidAlgorithmParameterException | +- NoSuchAlgorithmException iae) { ++ } catch (InvalidAlgorithmParameterException iae) { + // unlikely to happen, otherwise, must be a provider exception + if (debug != null && Debug.isOn("handshake")) { + System.out.println("RSA premaster secret generation error:"); + iae.printStackTrace(System.out); ++ } ++ throw new RuntimeException("Could not generate dummy secret", iae); ++ } catch (NoSuchAlgorithmException iae) { ++ if (debug != null && Debug.isOn("handshake")) { ++ System.out.println("RSA premaster secret generation error:"); ++ iae.printStackTrace(System.out); + } + throw new RuntimeException("Could not generate dummy secret", iae); + } diff -r d41c1fc06514 -r 8a3e31a0cd56 patches/systemtap_gc.patch --- a/patches/systemtap_gc.patch Sat Jan 18 08:05:53 2014 +0000 +++ b/patches/systemtap_gc.patch Fri Jan 24 20:37:05 2014 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp openjdk/hotspot/src/share/vm/compiler/oopMap.cpp ---- openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp 2013-07-01 15:21:44.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/compiler/oopMap.cpp 2013-07-02 03:27:01.515655212 +0100 +--- openjdk.orig/hotspot/src/share/vm/compiler/oopMap.cpp 2014-01-23 23:25:39.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/compiler/oopMap.cpp 2014-01-24 04:36:46.878006161 +0000 @@ -33,9 +33,13 @@ #include "memory/resourceArea.hpp" #include "runtime/frame.inline.hpp" @@ -26,8 +26,8 @@ // Delete entry delete entry; diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2013-07-01 15:21:44.000000000 +0100 -+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2013-07-02 03:27:01.527655402 +0100 +--- openjdk.orig/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-01-23 23:25:39.000000000 +0000 ++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp 2014-01-24 04:36:46.878006161 +0000 @@ -59,6 +59,12 @@ #include "runtime/vmThread.hpp" #include "services/memoryService.hpp" @@ -56,8 +56,8 @@ void CMSCollector::collect(bool full, diff -Nru openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp openjdk/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp ---- openjdk.orig/hotspot/src/share/vm/gc_implementation/g1/g1MarkSweep.cpp 2013-07-01 15:21:44.000000000 +0100 From bugzilla-daemon at icedtea.classpath.org Fri Jan 24 12:37:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 24 Jan 2014 20:37:41 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=8a3e31a0cd56 author: Andrew John Hughes date: Fri Jan 24 20:37:05 2014 +0000 Bump to u60b03 and include PR1653, PR1654 and PR1655. 2014-01-24 Andrew John Hughes Update to u60b03 and additional IcedTea fixes PR1653, PR1654 and PR1655. * Makefile.am: (BUILD_VERSION): Bump to b03. (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated with changes. * hotspot.map: Sync with forest HEAD. * patches/boot/ecj-multicatch.patch: Add new cases in RSAClientKeyExchange and Handshaker. * patches/systemtap_gc.patch: Regenerated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/197a90b6/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 24 12:37:48 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 24 Jan 2014 20:37:48 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=8a3e31a0cd56 author: Andrew John Hughes date: Fri Jan 24 20:37:05 2014 +0000 Bump to u60b03 and include PR1653, PR1654 and PR1655. 2014-01-24 Andrew John Hughes Update to u60b03 and additional IcedTea fixes PR1653, PR1654 and PR1655. * Makefile.am: (BUILD_VERSION): Bump to b03. (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated with changes. * hotspot.map: Sync with forest HEAD. * patches/boot/ecj-multicatch.patch: Add new cases in RSAClientKeyExchange and Handshaker. * patches/systemtap_gc.patch: Regenerated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/048ea839/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 24 12:37:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 24 Jan 2014 20:37:52 +0000 Subject: [Bug 1655] [IcedTea7] Don't add IcedTea-Web jars to bootclasspath In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1655 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=8a3e31a0cd56 author: Andrew John Hughes date: Fri Jan 24 20:37:05 2014 +0000 Bump to u60b03 and include PR1653, PR1654 and PR1655. 2014-01-24 Andrew John Hughes Update to u60b03 and additional IcedTea fixes PR1653, PR1654 and PR1655. * Makefile.am: (BUILD_VERSION): Bump to b03. (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated with changes. * hotspot.map: Sync with forest HEAD. * patches/boot/ecj-multicatch.patch: Add new cases in RSAClientKeyExchange and Handshaker. * patches/systemtap_gc.patch: Regenerated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/d13fbc42/attachment.html From aazores at redhat.com Fri Jan 24 13:41:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 24 Jan 2014 16:41:33 -0500 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52DFE22F.5040905@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <52DE877B.4010507@redhat.com> <52DFB8D3.10206@redhat.com> <52DFD7B7.1060101@redhat.com> <52DFE22F.5040905@redhat.com> Message-ID: <52E2DE0D.8070403@redhat.com> On 01/22/2014 10:22 AM, Jiri Vanek wrote: > On 01/22/2014 03:37 PM, Andrew Azores wrote: >> On 01/22/2014 07:25 AM, Jiri Vanek wrote: >>> On 01/21/2014 03:43 PM, Andrew Azores wrote: >>>> On 01/21/2014 06:16 AM, Jiri Vanek wrote: >>>>> On 01/20/2014 09:49 PM, Andrew Azores wrote: >>>>>> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>>>>>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>>>>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>>>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>>>>>> Updated PR1592 tests, using a custom reproducer rather than >>>>>>>>>> split simple/signed. This allows >>>>>>>>>> method calls to be made in the normal way as well as via >>>>>>>>>> reflection. JNLP includes both >>>>>>>>>> applications and applets now, and they close properly as well. >>>>>>>>>> >>>>>>>>>> (snip) >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> Andrew A >>>>>>>>> >>>>>>>>> Went back over this and realized one of the tests was written >>>>>>>>> wrong. The >>>>>>>>> assertAccessControlException helper method in the testcase >>>>>>>>> file is now a little stricter about the >>>>>>>>> type of AccessControlException (so that the exceptions due to >>>>>>>>> applets not being allowed to call >>>>>>>>> System.exit don't falsely fulfill this assertion), and >>>>>>>>> MixedSigningAppletHelper.attackDoPrivileged >>>>>>>>> now properly calls >>>>>>>>> MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, >>>>>>>>> as it should >>>>>>>>> have been doing. In this case, the Unsigned JAR actually *is* >>>>>>>>> meant to be able to retrieve data >>>>>>>>> from the Signed JAR (as is the point of the >>>>>>>>> AccessController.doPrivileged call), so the testcases >>>>>>>>> now expect this test to successfully read from >>>>>>>>> System.getProperty, rather than receive an >>>>>>>>> AccessControlException. However, the tests still verify that >>>>>>>>> in situations where the Signed JAR >>>>>>>>> has a method call that involves a privileged action *without* >>>>>>>>> being placed inside a doPrivileged >>>>>>>>> call, an AccessControlException will be thrown if the Unsigned >>>>>>>>> code attempts to access it, as >>>>>>>>> expected. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>> >>>>>>>> Sorry, please ignore the previous patch. The extra changes were >>>>>>>> not made based on the most recent >>>>>>>> other changes. Attached are the properly rebased patches, also >>>>>>>> split into three as they were >>>>>>>> originally. >>>>>>>> >>>>>>>> Thanks, >>>>>>>> >>>>>>> >>>>>>> Thanx for ping. >>>>>>> There is really many of jnlps which are nearly similar. Maybe >>>>>>> better idea can be to have one template, and generate all the >>>>>>> rest from it? >>>>>>> >>>>>>> I altready did this - and generated them ion BeforeClass. >>>>>>> >>>>>>> What do you think? >>>>>> >>>>>> I like this idea, but I didn't know we were okay with having >>>>>> reproducers do tricks like this ;) >>>>>> >>>>>> Thanks, >>>>>> >>>>> >>>>> >>>>> On seriosu flaw: you have "private static final ServerAccess >>>>> server = new ServerAccess();" declard. by this you are >>>>> owerwritting the one in BrowserTest, so no browser test will work, >>>>> and wil fial 'can not lunch unset browser". >>>>> Just remove this line. >>>> >>>> Oops, right. >>> [2] >>>> >>>>> >>>>> Also - non of the jnlp have security element specified. It i s >>>>> intentional?? I thought it was an reason for this test to be redone. >>>>> >>>>> After fixed first, and explined second, ok to head. >>>>> >>>>> J. >>>> >>>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html >>>> >>>> >>>> The JNLP spec seems a little bit ambiguous here - it seems to say >>>> that "All JARs must be signed" if requesting All-Permission, but >>>> doesn't explicitly say if full signing is required to be able to >>>> request permissions at all. But as I explained in that other >>>> thread, I think it's correct to use the security tag when you have >>>> full signing, and not correct to use it when you have partial signing. >>> >>> >>> Hmhm. And what should itw do with such an malicious (security tag) >>> file and contne (not all jars signed)t? It should die... >>> >>> And thats exactly what the reproducers should check. >>> >>> Or not? >>> >>> So from my side (and after reading the [1]) I'm +1 to add the tests. >>> >>> J. >>> >>> [2] dont forget on it in case of new round :) >> >> It does die, which is correct IMO. > yes its the most correct. > > > Clearly it would be wrong if we actually respected that security > tag, and I think it would be ambiguous of us and kind of useless to > silently ignore the security tag - doing this would probably just end > up annoying some app developer. Best to explicitly fail with the > launch exception describing the exact problem. If you think it's > worthy of a new patch/review round then I can also add that. But how > in-depth do you want it to be... ? Just one test to ensure that the > security tag causes a failed launch, or repeat all existing tests with > an addition security tag, or somewhere in between? > > Yes. its worth to add reproducer with security tag, and one more round > of review. Well, the testcase file has now ballooned to ridiculous proportion. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: generated-jnlp-plus-securitytags.patch Type: text/x-patch Size: 93116 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140124/b9d7402c/generated-jnlp-plus-securitytags-0001.patch From aazores at redhat.com Fri Jan 24 13:44:16 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 24 Jan 2014 16:44:16 -0500 Subject: [rfc][icedtea-web] tuning of properties loading In-Reply-To: <52E2624B.3020004@redhat.com> References: <52E01006.30700@redhat.com> <52E0408C.6010002@redhat.com> <52E140C8.7070502@redhat.com> <52E14787.8060305@redhat.com> <52E2624B.3020004@redhat.com> Message-ID: <52E2DEB0.5050802@redhat.com> On 01/24/2014 07:53 AM, Jiri Vanek wrote: > On 01/23/2014 05:47 PM, Andrew Azores wrote: >> On 01/23/2014 11:18 AM, Jiri Vanek wrote: >>> >>>> } catch (IOException e) { >>>> + if (mandatory){ >>>> + throw new >>>> ConfigurationException(e.getMessage());//unluckily >>>> ConfigurationException can not have cause >>>> + } >>>> >>>> >>>> ConfigurationException does have initCause(Throwable), does this >>>> not match what you need? It gets >>>> this from its superclass NamingException which implements Throwable. >>> >>> Ah I overlooked!. Tahnx. Fixed. >> >> I still see this: >> >> + if (mandatory){ >> + throw new >> ConfigurationException(e.getMessage());//unluckily >> ConfigurationException >> can not have cause >> + } >> >> why not use it here as well? > ugh. ThanX! > >> >> Also, this is just a style thing and feel free to ignore, but: > :( I dont like it.. kept. >> >> + ConfigurationException ce = new >> ConfigurationException("Invalid url to system >> properties, which are mandatory"); >> + ce.initCause(e); >> + throw ce; >> >> could also simply become: >> >> + throw new ConfigurationException("Invalid url to >> system properties, which are >> mandatory").initCause(e); >> >> since Throwable#initCause(Throwable) is defined to return "this" at >> the end. >> >>>> >>>> + //to be sure - we MUST die >>>> -http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html >>>> >>>> + }catch(Throwable t){ >>>> + //all exceptions are causing >>>> InstantiatizationError so this do it much more readble >>>> + >>>> OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); >>>> + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, >>>> getMessage("RFailingToDefault")); >>>> + //try to survive this unlikely exception >>>> + config.resetToDefaults(); >>>> >>>> >>>> Hmm, what's the motivation behind adding this? What is there that's >>>> causing InstantiationErrors [1], >>>> and if these occur, should it be trying to survive? Usually you >>>> don't want to be catching Errors >>>> [2], so catch-all Throwable is even worse than catch-all Exception. >>> >>> a) the NoClassDefFoundError error is fatal and non recoverable >>> b) no solid info *why* it happened appeared (consumed any >>> NoClassDefFoundError?) >>> c) we can run pretty well with defaults (and msut warn user - I'm >>> thinking also about poping up an >>> dialogue in non headless mode, but I'm afraid that it cnabe to early >>> to (maybe another chnageset) >>> >>> I do not insist on throwable, If you wish I can lower to general >>> exception or whatever you wont. >>> But defintley do not wont this static block to throw something > > Ok . I switched to Exception. You sounds like don't likening > throwable :) >>> >> >> Well, NoClassDefFoundError is a a subclass of Error, not Exception, >> so catching general Exception >> will still not catch this! If you want this method to absolutely >> never throw anything without first >> catching it on its own, then Throwable is the only choice you have. > > nn. You got it wrong. > > The NoClassDefFoundError is *caused* *by* any exception *from* the > staic initializer. So I'm not cacthing NoClassDefFoundError, I'm > pereventing it to happen. I do not wont to survive something so fatal! > >> >>>> >>>> [1] >>>> http://docs.oracle.com/javase/7/docs/api/java/lang/InstantiationError.html >>> >>> Ugh sorry - it is java.lang.NoClassDefFoundError: Could not >>> initialize class >>> net.sourceforge.jnlp.runtime.JNLPRuntime$DeploymentConfigurationHolder >>> what is thrown when static >>> initializer throw some excption out. >> >> Ah okay this makes sense, I understand the motivation now. Catching >> all Throwable still sounds kind >> of scary to me though, because this includes all kinds of Error >> subclasses that are really not meant >> to be recoverable. Are you sure you want to be consuming and ignoring >> VirtualMachineError, >> AssertionError, and LinkageError? > > as above. I think preventing the NoClassDefFoundError exception by > warning ( I added the pop up now) by defaults is good thing to do. > > Thanx! > J. Okay, I think this last patch looks fine, Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Sat Jan 25 15:49:13 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 25 Jan 2014 23:49:13 +0000 Subject: [Bug 1656] New: PulseAudioSourceDataLine.stop() hangs intermittently due to synchronization problem Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1656 Bug ID: 1656 Summary: PulseAudioSourceDataLine.stop() hangs intermittently due to synchronization problem Classification: Unclassified Product: IcedTea Version: 2.4.4 Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P3 Component: PulseAudio Assignee: omajid at redhat.com Reporter: sascha.baumeister at mail.com CC: unassigned at icedtea.classpath.org I am using OpenJDK 1.7.0_51, which packages pulse-java.jar version 2.4.4 for PulseAudio support. I am using Java-Sound in one of my applications, and noticed massive synchronization problems related to the implementation of PulseAudioSourceDataLine. Basically, when using DataLine.stop() and DataLine.start() to pause and then restart playback, the implementation of PulseAudioDataLine.stop() hangs intermittently within around a dozen repetitions. I can see that two threads are hanging: Thread 1: AWT event-queue - PulseAudioDataLine.stop() is a synchronized (!) method, and calls Operation.waitForCompletion() in line 395. - Operation.waitForCompletion() calls eventLoop.threadLock.wait() in Line 153, which doesn't happen whenever my application dead-locks Thread 2: PulseAudio Eventloop Thread - Thread.run line 744 - EventLoop.run() line 133 - EventLoop.nativeIterate(int) - Stream.playbackStartedCallback() line 688 - PulseAudioDataLine$3.update() line 215 hangs waiting for synchronization on the PulseAudioDataLine instance that is locked by Thread 1 because the stop() method is synchronized. So if thread 2 is supposed to provide the eventLoop.threadLock.notify() that thread 1 is waiting for, this will not happen because thread 1 is locking the PulseAudioDataLine instance in the above szenario. Note again that this is an intermittent problem, it happens for me on average about once every dozen stop/restart sequences. As a side note: you might want to take a serious fresh look at PulseAudioSourceDataLine.write/stop/close(); the whole implementation seems highly unsafe with regards to threads, and required me to use a separate ReentrantLock to separate the stop/close calls of one thread from the write invocations of another; without it, my application was hanging almost every time i tried to pause playback ... Sascha Baumeister Lecturer in distributed systems at HTW Berlin Former spec lead JSR 086 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140125/ebb7efa1/attachment.html From gitne at gmx.de Sun Jan 26 20:43:10 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 27 Jan 2014 05:43:10 +0100 Subject: [rfc][icedtea-web] Javadoc, XHTML conformance, and formatting cleanup Message-ID: <52E5E3DE.6010307@gmx.de> Hello, The subject says it. I was especially bothered by javadoc throwing @doctag errors and warnings as well as its output not being XML conform. Many HTML elements that have gathered over time in the source code have not been XHTML conform hence causing javadoc's output also not being XML conform. I think this patch could serve as an improvement to the overall quality of the source code as the world transitions to strictly XML conforming data. So, the HTML documents generated by javadoc should be fully conforming to XML, hence XHTML documents now. Yey! :-) Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: Javadoc, XHTML, and formatting cleanup.patch Type: text/x-patch Size: 149539 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140127/e1a3e852/JavadocXHTMLandformattingcleanup-0001.patch From ptisnovs at icedtea.classpath.org Mon Jan 27 03:44:54 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 27 Jan 2014 11:44:54 +0000 Subject: /hg/gfx-test: Five new test added to the test suite CAGOperation... Message-ID: changeset 115b6ea402f8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=115b6ea402f8 author: Pavel Tisnovsky date: Mon Jan 27 12:49:11 2014 +0100 Five new test added to the test suite CAGOperationsOnRoundRectangleAndRectangle. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java | 125 ++++++++++ 2 files changed, 130 insertions(+), 0 deletions(-) diffs (147 lines): diff -r 840cb462723e -r 115b6ea402f8 ChangeLog --- a/ChangeLog Fri Jan 24 14:07:59 2014 +0100 +++ b/ChangeLog Mon Jan 27 12:49:11 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-27 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: + Five new test added to the test suite CAGOperationsOnRoundRectangleAndRectangle. + 2014-01-24 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r 840cb462723e -r 115b6ea402f8 src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Fri Jan 24 14:07:59 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Mon Jan 27 12:49:11 2014 +0100 @@ -244,6 +244,131 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using exclusive or operator. The shape is + * rendered using wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using union operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using subtract operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Mon Jan 27 03:47:44 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 27 Jan 2014 11:47:44 +0000 Subject: /hg/rhino-tests: Enhancement of the test testGetResourceAsStream... Message-ID: changeset eb150896a385 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=eb150896a385 author: Pavel Tisnovsky date: Mon Jan 27 12:52:02 2014 +0100 Enhancement of the test testGetResourceAsStreamNegativeTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptEngineFactoryClassTest.java | 258 ++++++++++++++++++- 2 files changed, 262 insertions(+), 1 deletions(-) diffs (294 lines): diff -r d6b53a234aca -r eb150896a385 ChangeLog --- a/ChangeLog Fri Jan 24 14:14:19 2014 +0100 +++ b/ChangeLog Mon Jan 27 12:52:02 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-27 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineFactoryClassTest.java: + Enhancement of the test testGetResourceAsStreamNegativeTest. + 2014-01-24 Pavel Tisnovsky * src/org/RhinoTests/SimpleScriptContextClassTest.java: diff -r d6b53a234aca -r eb150896a385 src/org/RhinoTests/ScriptEngineFactoryClassTest.java --- a/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Fri Jan 24 14:14:19 2014 +0100 +++ b/src/org/RhinoTests/ScriptEngineFactoryClassTest.java Mon Jan 27 12:52:02 2014 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011, 2012, 2013 Red Hat + Copyright (C) 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1266,6 +1266,54 @@ } try { + this.scriptEngineFactoryClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineFactoryClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1290,6 +1338,214 @@ } try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineFactoryClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineFactoryClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From jvanek at redhat.com Mon Jan 27 06:22:14 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 27 Jan 2014 15:22:14 +0100 Subject: [rfc][icedtea-web] Javadoc, XHTML conformance, and formatting cleanup In-Reply-To: <52E5E3DE.6010307@gmx.de> References: <52E5E3DE.6010307@gmx.de> Message-ID: <52E66B96.70801@redhat.com> On 01/27/2014 05:43 AM, Jacob Wisor wrote: > Hello, > > The subject says it. I was especially bothered by javadoc throwing @doctag errors and warnings as > well as its output not being XML conform. Many HTML elements that have gathered over time in the > source code have not been XHTML conform hence causing javadoc's output also not being XML conform. I > think this patch could serve as an improvement to the overall quality of the source code as the > world transitions to strictly XML conforming data. So, the HTML documents generated by javadoc > should be fully conforming to XML, hence XHTML documents now. Yey! :-) > > Jacob Wou. Thats the patch. Have the generated javadoc passed some check after the improvements? If so What it was, I would include it into some tests-javadoc target... Few comments to changes: You are using + *
    
       * FirefoxPreferencesParser p = new FirefoxPreferencesParser(prefsFile);
       * p.parse();
       * Map<String,String> prefs = p.getPreferences();
       * System.out.println("blink allowed: " + prefs.get("browser.blink_allowed"));
    - * 
    + * pattern few times - Whats the benefitof it? I would say pre xor code is enough, isnt it? /** - * - * @author jvanek + * @author Jiri Vanek */ Ugh. Author tag is not allowed. Please just remove instead of fix. diff -r efa527f74184 netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java @@ -188,8 +188,8 @@ } String line = (createLine(messageWithHeader)); if (mark) { - line = line.replaceAll("\n", "
    \n"); - line = line.replaceAll(" ", "  ");//small trick, html is reducting row of sapces to single space. This handles it and stimm allow line wrap + line = line.replaceAll("\n", "
    \n"); + line = line.replaceAll(" ", "  ");//small trick, html is reducting row of spaces to single space. This handles it and stimm allow line wrap line = line.replaceAll("\t", "    "); This is not possible. Unluckily the java html parser do not survive
    . Please remove this hunk. After fixing above. Looks ok. Is backport to 1.4 possible? As the cnages are 99% really javadoc related, I do not insists. My motivation to backport have only one valaid point - The refactoring is changing backporting and forwardporting from automatic level to manual one. Unless you have something against, do you mind to backport valid parts after 1.4.2 release? J. From jvanek at redhat.com Mon Jan 27 06:39:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 27 Jan 2014 15:39:16 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E2991C.1020606@gmx.de> References: <52E2991C.1020606@gmx.de> Message-ID: <52E66F94.9010901@redhat.com> ... >> + * @param filePath a {@link String} representing the path of the file to attempt to open >> + * @throws Exception if any sort of exception occurs during reflective launch of policytool >> + */ >> + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { >> + Class policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); > > What about JRE 6? You could catch a ClassNotFoundException here and then try to get > sun.security.tools.PolicyTool. And, if that fails, well then... Blow up! :-D Well - why yes? The jdk6 is dead. We are dealing with slowly, but its true. The command exec is what matters. The second one is fallback. If you have non-policytool command, non jdk7 system. Please go on and fix. Otherwise I do not believe it is worthy. And if we will nit pick -what about gnu classpath ? ;) Maybe some better error message then JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); ? except that I agree with all what Jacob pointed out. > >> + Class[] signature = new Class[] { String[].class }; > > Redundant. No need to create a new instance here at run-time. > >> + Method main = policyTool.getDeclaredMethod("main", signature); > > Just substitute "signature" with "String[].class". > >> + Object args = new String[] { "-file", filePath }; > > Why is "args" of type Object? String[] should be fine and Method.invoke() won't complain because > String[] inherits from Object. ;-) > Especially this.. My overlook. And yes - the invoke later around the joptionpane is redundant. Thanx jacob! > J. From jvanek at redhat.com Mon Jan 27 06:43:27 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 27 Jan 2014 15:43:27 +0100 Subject: [rfc][icedtea-web] policytool in itweb-settings In-Reply-To: <52E2C05E.8000500@redhat.com> References: <52D466B1.8060108@redhat.com> <52D477AE.5040508@gmx.de> <52D530C6.30408@redhat.com> <52D546B1.4020201@gmx.de> <52D5590D.9080204@redhat.com> <52D57EED.2090303@redhat.com> <52D5C98D.70806@gmx.de> <52D6A844.20902@redhat.com> <52D70728.1050603@redhat.com> <52D800E3.5070902@redhat.com> <52D81808.70308@redhat.com> <52D9076C.9000800@redhat.com> <52D95533.1030604@redhat.com> <52D95FB7.2020709@redhat.com> <52D99BC7.40009@redhat.com> <52DD161E.4020901@redhat.com> <52DDAEF9.6050403@gmx.de> <52DE8D8C.4060803@redhat.com> <52DEA087.8070108@gmx.de> <52DEA5C4.30604@redhat.com> <52DEAE6B.1010501@gmx.de> <52DECBF5.7040204@redhat.com> <52E2C05E.8000500@redhat.com> Message-ID: <52E6708F.5030308@redhat.com> On 01/24/2014 08:34 PM, Andrew Azores wrote: > On 01/21/2014 02:35 PM, Andrew Azores wrote: >> On 01/21/2014 12:29 PM, Jacob Wisor wrote: >>> On 01/21/2014 05:52 PM, Andrew Azores wrote: >>>> (snip) >>> >>> I am not talking about technical effects. I am talking about effects on support staff and admins. >>> They may not be familiar with J2SE's policy system yet when their user's and customers start >>> calling in for help. You know, it is not uncommon for large organizations that provide in-house >>> support to have their staff (really, this does sometimes happen indeed!) trained for a specific >>> set of applications and thus features. They truly rely on specific feature sets and incremental >>> evolution of software. Of course, this feature will probably not generate as many support calls >>> as resetting passwords, but lets not make those people's lives miserable by introducing effects >>> that they assumed not to exist with the current minor version release. So please, just do all of >>> us a favor and do not backport it. Believe me, I know what I am talking about. >>> >>> Jacob >> >> Well, I see what you mean. I don't really see it causing problems but "better safe than sorry" I >> suppose. >> >> Jiri, do you have a compelling argument against Jacob's? ;) >> >> Thanks, >> > > After much discussion and debate on IRC, I've been convinced to go ahead and create a 1.4 backport > patch and propose it here. It is attached. Here is the justification for the backport as far as I > remember: > > (1) The underlying feature already exists, this simply makes it more accessible/visible > (2) The permission system is constructive only, and so it is very difficult to imagine a scenario > where a user's custom policy file can possibly break an application. This would mean the application > depends on being denied runtime permissions. Most users are probably never going to bother trying > this, and if they do, it should be completely harmless > > And the arguments against backporting: > > (3) Additional load on IT support people in companies that are using IcedTea-Web, as this is a "new > feature" being introduced within the same minor version number > -- However, this is thought to be negligible because of (2) above > > Personally, I do not care much either way. I don't believe there is any strong reason to not > backport, and I also don't see much benefit to backport. This is because I consider the custom > policy editing to be of little use without functionality similar to what is provided by the "Run In > Sandbox button" patch (ie introducing a way to run signed applets with a restricted permissions set > rather than granting AllPermission immediately and universally), which certainly will not be > backported to 1.4. > > Thanks, > I'm happy for this backport. Please go on. Please dont forget to backport also changes noted in Re: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel thread You can push now and then push the rest, or wait until those are resolved and push together. Thanx J. From jvanek at icedtea.classpath.org Mon Jan 27 07:17:29 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 27 Jan 2014 15:17:29 +0000 Subject: /hg/icedtea-web: Tuning of properties loading. Message-ID: changeset 1cd82bc5f42a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1cd82bc5f42a author: Jiri Vanek date: Mon Jan 27 16:17:07 2014 +0100 Tuning of properties loading. Jnlp runtime now correctly dies in case of ConfigurationException and initialisation of config is failing to defaults instead of die with NoClassDefFoundError diffstat: ChangeLog | 15 +++ netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 42 +++++++--- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 21 ++++- 4 files changed, 64 insertions(+), 15 deletions(-) diffs (172 lines): diff -r efa527f74184 -r 1cd82bc5f42a ChangeLog --- a/ChangeLog Fri Jan 24 10:48:08 2014 -0500 +++ b/ChangeLog Mon Jan 27 16:17:07 2014 +0100 @@ -1,3 +1,18 @@ +2014-01-20 Jiri Vanek + + Tuning of properties loading. + * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added + (resetToDefaults) methods to set default values to map. + (loadSystemConfiguration) now throws ConfigurationException. Added more + verbose error messages. The ioexception is now also cause of ConfigurationException + if mandatory is on. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: now correctly fails to + initiate if ConfigurationException appeared. + Init of (configuration) now catch general exception, and fall back to default + (instead of die fatally with NoClassDefFoundError). User is warned. + * netx/net/sourceforge/jnlp/resources/Messages.properties: new key of + (RFailingToDefault) added. + 2014-01-24 Andrew Azores http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/025971.html diff -r efa527f74184 -r 1cd82bc5f42a netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java --- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Fri Jan 24 10:48:08 2014 -0500 +++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon Jan 27 16:17:07 2014 +0100 @@ -215,6 +215,10 @@ public ConfigurationException getLoadingException() { return loadingException; } + + public void resetToDefaults() { + currentConfiguration = Defaults.getDefaults(); + } public enum ConfigType { @@ -495,7 +499,7 @@ * Reads the system configuration file and sets the relevant * system-properties related variables */ - private boolean loadSystemConfiguration(File configFile) { + private boolean loadSystemConfiguration(File configFile) throws ConfigurationException { OutputController.getLogger().log("Loading system configuation from: " + configFile); @@ -503,7 +507,7 @@ try { systemConfiguration = parsePropertiesFile(configFile); } catch (IOException e) { - OutputController.getLogger().log("No System level " + DEPLOYMENT_PROPERTIES + " found."); + OutputController.getLogger().log("No System level " + DEPLOYMENT_CONFIG_FILE + " found."); OutputController.getLogger().log(e); return false; } @@ -512,29 +516,36 @@ * at this point, we have read the system deployment.config file * completely */ - + String urlString = null; try { - String urlString = systemConfiguration.get("deployment.system.config").getValue(); - if (urlString == null) { - OutputController.getLogger().log("No System level " + DEPLOYMENT_PROPERTIES + " found."); + Setting urlSettings = systemConfiguration.get("deployment.system.config"); + if (urlSettings == null || urlSettings.getValue() == null) { + OutputController.getLogger().log("No System level " + DEPLOYMENT_PROPERTIES + " found in "+configFile.getAbsolutePath()); return false; } + urlString = urlSettings.getValue(); + Setting mandatory = systemConfiguration.get("deployment.system.config.mandatory"); + systemPropertiesMandatory = Boolean.valueOf(mandatory == null ? null : mandatory.getValue()); //never null + OutputController.getLogger().log("System level settings " + DEPLOYMENT_PROPERTIES + " are mandatory:" + systemPropertiesMandatory); URL url = new URL(urlString); if (url.getProtocol().equals("file")) { systemPropertiesFile = new File(url.getFile()); - OutputController.getLogger().log("Using System level" + DEPLOYMENT_PROPERTIES + ": " - + systemPropertiesFile); - Setting mandatory = systemConfiguration.get("deployment.system.config.mandatory"); - systemPropertiesMandatory = Boolean.valueOf(mandatory == null ? null : mandatory.getValue()); + OutputController.getLogger().log("Using System level" + DEPLOYMENT_PROPERTIES + ": " + systemPropertiesFile); return true; } else { - OutputController.getLogger().log("Remote + " + DEPLOYMENT_PROPERTIES + " not supported"); + OutputController.getLogger().log("Remote + " + DEPLOYMENT_PROPERTIES + " not supported: " + urlString + "in " + configFile.getAbsolutePath()); return false; } } catch (MalformedURLException e) { - OutputController.getLogger().log("Invalid url for " + DEPLOYMENT_PROPERTIES); + OutputController.getLogger().log("Invalid url for " + DEPLOYMENT_PROPERTIES+ ": " + urlString + "in " + configFile.getAbsolutePath()); OutputController.getLogger().log(e); - return false; + if (systemPropertiesMandatory){ + ConfigurationException ce = new ConfigurationException("Invalid url to system properties, which are mandatory"); + ce.initCause(e); + throw ce; + } else { + return false; + } } } @@ -562,6 +573,11 @@ try { return parsePropertiesFile(file); } catch (IOException e) { + if (mandatory){ + ConfigurationException ce = new ConfigurationException("Exception during loading of " + file + " which is mandatory to read"); + ce.initCause(e); + throw ce; + } OutputController.getLogger().log(e); return null; } diff -r efa527f74184 -r 1cd82bc5f42a netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Jan 24 10:48:08 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Jan 27 16:17:07 2014 +0100 @@ -179,6 +179,7 @@ RUnexpected=Unexpected {0} at {1} RConfigurationError=Fatal error while reading the configuration, continuing with empty. Please fix RConfigurationFatal=ERROR: a fatal error has occurred while loading configuration. Perhaps a global configuration was required but could not be found +RFailingToDefault=Failing to default configuration RPRoxyPacNotSupported=Using Proxy Auto Config (PAC) files is not supported. RProxyFirefoxNotFound=Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type. RProxyFirefoxOptionNotImplemented=Browser proxy option "{0}" ({1}) not supported yet. diff -r efa527f74184 -r 1cd82bc5f42a netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Fri Jan 24 10:48:08 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon Jan 27 16:17:07 2014 +0100 @@ -42,6 +42,7 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import javax.net.ssl.TrustManager; +import javax.swing.JOptionPane; import javax.swing.UIManager; import javax.swing.text.html.parser.ParserDelegator; @@ -187,7 +188,13 @@ JavaConsole.getConsole().showConsoleLater(); } /* exit if there is a fatal exception loading the configuration */ - if (isApplication && getConfiguration().getLoadingException() != null) { + if (getConfiguration().getLoadingException() != null) { + if (getConfiguration().getLoadingException() instanceof ConfigurationException){ + // ConfigurationException is thrown only if deployment.config's field + // deployment.system.config.mandatory is true, and the destination + //where deployment.system.config points is not readable + throw new RuntimeException(getConfiguration().getLoadingException()); + } OutputController.getLogger().log(OutputController.Level.WARNING_ALL, getMessage("RConfigurationError")+": "+getConfiguration().getLoadingException().getMessage()); } KeyStores.setConfiguration(getConfiguration()); @@ -364,9 +371,19 @@ config.load(); config.copyTo(System.getProperties()); } catch (ConfigurationException ex) { - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, getMessage("RConfigurationError")); + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("RConfigurationError")); //mark this exceptionas we can die on it later config.setLoadingException(ex); + //to be sure - we MUST die - http://docs.oracle.com/javase/6/docs/technotes/guides/deployment/deployment-guide/properties.html + }catch(Exception t){ + //all exceptions are causing InstantiatizationError so this do it much more readble + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, t); + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("RFailingToDefault")); + if (!JNLPRuntime.isHeadless()){ + JOptionPane.showMessageDialog(null, getMessage("RFailingToDefault")+"\n"+t.toString()); + } + //try to survive this unlikely exception + config.resetToDefaults(); } finally { OutputController.getLogger().startConsumer(); } From aazores at redhat.com Mon Jan 27 07:29:42 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 27 Jan 2014 10:29:42 -0500 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E66F94.9010901@redhat.com> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> Message-ID: <52E67B66.1080805@redhat.com> On 01/27/2014 09:39 AM, Jiri Vanek wrote: > ... >>> + * @param filePath a {@link String} representing the path of >>> the file to attempt to open >>> + * @throws Exception if any sort of exception occurs during >>> reflective launch of policytool >>> + */ >>> + private static void reflectivePolicyToolLaunch(final String >>> filePath) throws Exception { >>> + Class policyTool = >>> Class.forName("sun.security.tools.policytool.PolicyTool"); >> >> What about JRE 6? You could catch a ClassNotFoundException here and >> then try to get >> sun.security.tools.PolicyTool. And, if that fails, well then... Blow >> up! :-D > > Well - why yes? The jdk6 is dead. We are dealing with slowly, but its > true. The command exec is what matters. The second one is fallback. > > If you have non-policytool command, non jdk7 system. Please go on and > fix. Otherwise I do not believe it is worthy. And if we will nit pick > -what about gnu classpath ? ;) > > Maybe some better error message then > JOptionPane.showMessageDialog(frame, message, R("Error"), > JOptionPane.ERROR_MESSAGE); ? > > except that I agree with all what Jacob pointed out. What better error message are you looking for? If both launch methods fail, the error message says something like "could not find system policy editor. Check that policytool is in your PATH". >> >>> + Class[] signature = new Class[] { String[].class }; >> >> Redundant. No need to create a new instance here at run-time. >> >>> + Method main = policyTool.getDeclaredMethod("main", signature); >> >> Just substitute "signature" with "String[].class". >> >>> + Object args = new String[] { "-file", filePath }; >> >> Why is "args" of type Object? String[] should be fine and >> Method.invoke() won't complain because >> String[] inherits from Object. ;-) >> > Especially this.. My overlook. Method#invoke has signature(Object, Object...) - the first being the object the method is to be invoked on, and the second being a varargs list for the method call. Yes, String[] inherits from Object, and it also confuses the varargs invocation. Hopefully this notation will make sense, but what I am doing here results in this method call being invoked: PolicyTool.main({"-file", filePath}) and what you are suggesting results in this: PolicyTool.main("-file", filePath) These are not the same and in fact the second call will fail because there is no PolicyTool.main(String, String) method, so you get IllegalArgumentException: wrong number of arguments. The "signature" variable is indeed not necessary but I'm really surprised that we're getting to the level of nitpicking on inlining variables here. Does this matter so much that it's worth patching? > > And yes - the invoke later around the joptionpane is redundant. > > Thanx jacob! > > > > > > > > J. > Should we not be ensuring that we only invoke JOptionPane.showMessageDialog from the EDT? We have two different convenience methods that make this call, and *usually* these methods are all called from the main thread, but there is an occasion where we call showCouldNotOpenFileDialog from policyToolLaunchHelper, and this time it's occurring in a new thread. So we can either wrap this one particular call in an invokeLater, or just be completely sure that these two convenience methods are always used safely and put the invokeLater directly within them. In most cases, yes, it ends up being redundant, but it also means in every case it's done safely, doesn't it? Here's a small StackOverflow discussion I found while double checking myself on this. https://stackoverflow.com/questions/13863713/which-thread-to-launch-joptionpane Thanks, -- Andrew A From jvanek at redhat.com Mon Jan 27 07:44:35 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 27 Jan 2014 16:44:35 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E67B66.1080805@redhat.com> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E67B66.1080805@redhat.com> Message-ID: <52E67EE3.6020409@redhat.com> On 01/27/2014 04:29 PM, Andrew Azores wrote: > On 01/27/2014 09:39 AM, Jiri Vanek wrote: >> ... >>>> + * @param filePath a {@link String} representing the path of the file to attempt to open >>>> + * @throws Exception if any sort of exception occurs during reflective launch of policytool >>>> + */ >>>> + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { >>>> + Class policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); >>> >>> What about JRE 6? You could catch a ClassNotFoundException here and then try to get >>> sun.security.tools.PolicyTool. And, if that fails, well then... Blow up! :-D >> >> Well - why yes? The jdk6 is dead. We are dealing with slowly, but its true. The command exec is >> what matters. The second one is fallback. >> >> If you have non-policytool command, non jdk7 system. Please go on and fix. Otherwise I do not >> believe it is worthy. And if we will nit pick -what about gnu classpath ? ;) >> >> Maybe some better error message then >> JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); ? >> >> except that I agree with all what Jacob pointed out. > > What better error message are you looking for? If both launch methods fail, the error message says > something like "could not find system policy editor. Check that policytool is in your PATH". aaaa... yyy. I was confised by showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); and private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final String message) { and JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); When the filePath was unused, I thougth you are jsut showing "error". Sorry. > >>> >>>> + Class[] signature = new Class[] { String[].class }; >>> >>> Redundant. No need to create a new instance here at run-time. >>> >>>> + Method main = policyTool.getDeclaredMethod("main", signature); >>> >>> Just substitute "signature" with "String[].class". >>> >>>> + Object args = new String[] { "-file", filePath }; >>> >>> Why is "args" of type Object? String[] should be fine and Method.invoke() won't complain because >>> String[] inherits from Object. ;-) >>> >> Especially this.. My overlook. > > Method#invoke has signature(Object, Object...) - the first being the object the method is to be > invoked on, and the second being a varargs list for the method call. Yes, String[] inherits from > Object, and it also confuses the varargs invocation. Hopefully this notation will make sense, but > what I am doing here results in this method call being invoked: > > PolicyTool.main({"-file", filePath}) > > and what you are suggesting results in this: > > PolicyTool.main("-file", filePath) > > These are not the same and in fact the second call will fail because there is no > PolicyTool.main(String, String) method, so you get IllegalArgumentException: wrong number of arguments. > > The "signature" variable is indeed not necessary but I'm really surprised that we're getting to the > level of nitpicking on inlining variables here. Does this matter so much that it's worth patching? > >> >> And yes - the invoke later around the joptionpane is redundant. >> >> Thanx jacob! >> >> > >> >> >> >> >> J. >> > > Should we not be ensuring that we only invoke JOptionPane.showMessageDialog from the EDT? We have > two different convenience methods that make this call, and *usually* these methods are all called > from the main thread, but there is an occasion where we call showCouldNotOpenFileDialog from > policyToolLaunchHelper, and this time it's occurring in a new thread. So we can either wrap this one > particular call in an invokeLater, or just be completely sure that these two convenience methods are > always used safely and put the invokeLater directly within them. In most cases, yes, it ends up > being redundant, but it also means in every case it's done safely, doesn't it? > > Here's a small StackOverflow discussion I found while double checking myself on this. > > https://stackoverflow.com/questions/13863713/which-thread-to-launch-joptionpane Ooh thats interesting. I will need to revisit all the bilion of joption dialogues which I ever dislpalyed. The code which shows it really works outside of EDT... So ok from me... > > Thanks, > Thanks on my siede. From jvanek at redhat.com Mon Jan 27 08:38:10 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 27 Jan 2014 17:38:10 +0100 Subject: [rfc][icedtea-web] PR1592 reproducers update In-Reply-To: <52E2DE0D.8070403@redhat.com> References: <91522677.10747667.1388778214726.JavaMail.root@redhat.com> <52CECB93.4030009@redhat.com> <52CEF350.8090704@redhat.com> <52DD49AC.4020706@redhat.com> <52DD8BE0.1010806@redhat.com> <52DE570D.7010203@redhat.com> <52DE877B.4010507@redhat.com> <52DFB8D3.10206@redhat.com> <52DFD7B7.1060101@redhat.com> <52DFE22F.5040905@redhat.com> <52E2DE0D.8070403@redhat.com> Message-ID: <52E68B72.7060507@redhat.com> On 01/24/2014 10:41 PM, Andrew Azores wrote: > On 01/22/2014 10:22 AM, Jiri Vanek wrote: >> On 01/22/2014 03:37 PM, Andrew Azores wrote: >>> On 01/22/2014 07:25 AM, Jiri Vanek wrote: >>>> On 01/21/2014 03:43 PM, Andrew Azores wrote: >>>>> On 01/21/2014 06:16 AM, Jiri Vanek wrote: >>>>>> On 01/20/2014 09:49 PM, Andrew Azores wrote: >>>>>>> On 01/20/2014 11:07 AM, Jiri Vanek wrote: >>>>>>>> On 01/09/2014 08:06 PM, Andrew Azores wrote: >>>>>>>>> On 01/09/2014 11:17 AM, Andrew Azores wrote: >>>>>>>>>> On 01/03/2014 02:43 PM, Andrew Azores wrote: >>>>>>>>>>> Updated PR1592 tests, using a custom reproducer rather than split simple/signed. This allows >>>>>>>>>>> method calls to be made in the normal way as well as via reflection. JNLP includes both >>>>>>>>>>> applications and applets now, and they close properly as well. >>>>>>>>>>> >>>>>>>>>>> (snip) >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> Andrew A >>>>>>>>>> >>>>>>>>>> Went back over this and realized one of the tests was written wrong. The >>>>>>>>>> assertAccessControlException helper method in the testcase file is now a little stricter >>>>>>>>>> about the >>>>>>>>>> type of AccessControlException (so that the exceptions due to applets not being allowed to >>>>>>>>>> call >>>>>>>>>> System.exit don't falsely fulfill this assertion), and >>>>>>>>>> MixedSigningAppletHelper.attackDoPrivileged >>>>>>>>>> now properly calls MixedSigningAppletSigned#testSignedReadPropertiesDoPrivileged, as it >>>>>>>>>> should >>>>>>>>>> have been doing. In this case, the Unsigned JAR actually *is* meant to be able to retrieve >>>>>>>>>> data >>>>>>>>>> from the Signed JAR (as is the point of the AccessController.doPrivileged call), so the >>>>>>>>>> testcases >>>>>>>>>> now expect this test to successfully read from System.getProperty, rather than receive an >>>>>>>>>> AccessControlException. However, the tests still verify that in situations where the >>>>>>>>>> Signed JAR >>>>>>>>>> has a method call that involves a privileged action *without* being placed inside a >>>>>>>>>> doPrivileged >>>>>>>>>> call, an AccessControlException will be thrown if the Unsigned code attempts to access it, as >>>>>>>>>> expected. >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> >>>>>>>>> >>>>>>>>> Sorry, please ignore the previous patch. The extra changes were not made based on the most >>>>>>>>> recent >>>>>>>>> other changes. Attached are the properly rebased patches, also split into three as they were >>>>>>>>> originally. >>>>>>>>> >>>>>>>>> Thanks, >>>>>>>>> >>>>>>>> >>>>>>>> Thanx for ping. >>>>>>>> There is really many of jnlps which are nearly similar. Maybe better idea can be to have one >>>>>>>> template, and generate all the rest from it? >>>>>>>> >>>>>>>> I altready did this - and generated them ion BeforeClass. >>>>>>>> >>>>>>>> What do you think? >>>>>>> >>>>>>> I like this idea, but I didn't know we were okay with having reproducers do tricks like this ;) >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>> >>>>>> >>>>>> On seriosu flaw: you have "private static final ServerAccess server = new ServerAccess();" >>>>>> declard. by this you are owerwritting the one in BrowserTest, so no browser test will work, >>>>>> and wil fial 'can not lunch unset browser". >>>>>> Just remove this line. >>>>> >>>>> Oops, right. >>>> [2] >>>>> >>>>>> >>>>>> Also - non of the jnlp have security element specified. It i s intentional?? I thought it was >>>>>> an reason for this test to be redone. >>>>>> >>>>>> After fixed first, and explined second, ok to head. >>>>>> >>>>>> J. >>>>> >>>>> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025635.html >>>>> >>>>> The JNLP spec seems a little bit ambiguous here - it seems to say that "All JARs must be >>>>> signed" if requesting All-Permission, but doesn't explicitly say if full signing is required to >>>>> be able to request permissions at all. But as I explained in that other thread, I think it's >>>>> correct to use the security tag when you have full signing, and not correct to use it when you >>>>> have partial signing. >>>> >>>> >>>> Hmhm. And what should itw do with such an malicious (security tag) file and contne (not all jars >>>> signed)t? It should die... >>>> >>>> And thats exactly what the reproducers should check. >>>> >>>> Or not? >>>> >>>> So from my side (and after reading the [1]) I'm +1 to add the tests. >>>> >>>> J. >>>> >>>> [2] dont forget on it in case of new round :) >>> >>> It does die, which is correct IMO. >> yes its the most correct. >> >> > Clearly it would be wrong if we actually respected that security tag, and I think it would be >> ambiguous of us and kind of useless to silently ignore the security tag - doing this would >> probably just end up annoying some app developer. Best to explicitly fail with the launch >> exception describing the exact problem. If you think it's worthy of a new patch/review round then >> I can also add that. But how in-depth do you want it to be... ? Just one test to ensure that the >> security tag causes a failed launch, or repeat all existing tests with an addition security tag, >> or somewhere in between? >> >> Yes. its worth to add reproducer with security tag, and one more round of review. > > Well, the testcase file has now ballooned to ridiculous proportion. > Yes, it does :( Anyway looks good to go. Thank you! J. From jvanek at icedtea.classpath.org Mon Jan 27 08:49:32 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Mon, 27 Jan 2014 16:49:32 +0000 Subject: /hg/icedtea-web: Fixed date in changelog Message-ID: changeset ba33e8e6a1f2 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ba33e8e6a1f2 author: Jiri Vanek date: Mon Jan 27 17:49:03 2014 +0100 Fixed date in changelog diffstat: ChangeLog | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (9 lines): diff -r 1cd82bc5f42a -r ba33e8e6a1f2 ChangeLog --- a/ChangeLog Mon Jan 27 16:17:07 2014 +0100 +++ b/ChangeLog Mon Jan 27 17:49:03 2014 +0100 @@ -1,4 +1,4 @@ -2014-01-20 Jiri Vanek +2014-01-27 Jiri Vanek Tuning of properties loading. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added From aazores at icedtea.classpath.org Mon Jan 27 09:00:59 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Mon, 27 Jan 2014 17:00:59 +0000 Subject: /hg/icedtea-web: PR1592 MixedSigningApplet reproducer rewrite/up... Message-ID: changeset e97da10f9309 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=e97da10f9309 author: Andrew Azores date: Mon Jan 27 11:54:09 2014 -0500 PR1592 MixedSigningApplet reproducer rewrite/update MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP files generated per-test rather than premade. Many new tests added. * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html: moved to custom reproducer * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp: moved to custom reproducer and now used as template by testcases file * tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: new Makefile for custom reproducer * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java * tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java: new tests added, JNLP files generated per-test rather than all prepackaged * tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java: moved to custom reproducer * tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html * tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java diffstat: ChangeLog | 27 + tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html | 52 + tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp | 61 + tests/reproducers/custom/MixedSigningApplet/srcs/Makefile | 34 + tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java | 137 + tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java | 349 ++++ tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java | 780 ++++++++++ tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java | 145 - tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java | 159 -- tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp | 61 - tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html | 52 - tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java | 89 - 17 files changed, 1440 insertions(+), 811 deletions(-) diffs (truncated from 2322 to 500 lines): diff -r ba33e8e6a1f2 -r e97da10f9309 ChangeLog --- a/ChangeLog Mon Jan 27 17:49:03 2014 +0100 +++ b/ChangeLog Mon Jan 27 11:54:09 2014 -0500 @@ -1,3 +1,30 @@ +2014-01-27 Andrew Azores + + MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP + files generated per-test rather than premade. Many new tests added. + * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html: + moved to custom reproducer + * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp: + moved to custom reproducer and now used as template by testcases file + * tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: new Makefile + for custom reproducer + * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java + * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java + * + tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java: + new tests added, JNLP files generated per-test rather than all prepackaged + * tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java: + moved to custom reproducer + * tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp + * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html + * tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java + 2014-01-27 Jiri Vanek Tuning of properties loading. diff -r ba33e8e6a1f2 -r e97da10f9309 tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html Mon Jan 27 11:54:09 2014 -0500 @@ -0,0 +1,52 @@ + + + + + + + + + diff -r ba33e8e6a1f2 -r e97da10f9309 tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp Mon Jan 27 11:54:09 2014 -0500 @@ -0,0 +1,61 @@ + + + + + MixedSigningApplet + IcedTea + + Test per-JAR security assignment and permissions + + + + + + + + + PARAM_ARG_TARGET + + SECURITY_TAG_TARGET + diff -r ba33e8e6a1f2 -r e97da10f9309 tests/reproducers/custom/MixedSigningApplet/srcs/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/MixedSigningApplet/srcs/Makefile Mon Jan 27 11:54:09 2014 -0500 @@ -0,0 +1,34 @@ +TESTNAME=MixedSigningApplet + +SRC_FILES=MixedSigningAppletSigned.java MixedSigningAppletHelper.java +ENTRYPOINT_CLASSES=MixedSigningApplet + +JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar +JAVAC=$(BOOT_DIR)/bin/javac +JAR=$(BOOT_DIR)/bin/jar +JARSIGNER=$(BOOT_DIR)/bin/jarsigner +JARSIGNER_CMD=$(JARSIGNER) -keystore $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass $(PRIVATE_KEYSTORE_PASS) -keypass $(PRIVATE_KEYSTORE_PASS) + +TMPDIR:=$(shell mktemp -d) + +prepare-reproducer: + echo PREPARING REPRODUCER $(TESTNAME) + + $(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) $(SRC_FILES); \ + + cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + + cd $(TMPDIR); \ + $(JAR) cfe MixedSigningAppletSigned.jar signed.MixedSigningAppletSigned signed; \ + $(JAR) cf MixedSigningApplet.jar helper; \ + cd -; \ + + $(JARSIGNER_CMD) -sigfile Alpha $(TMPDIR)/MixedSigningAppletSigned.jar $(TEST_CERT_ALIAS)_signed; \ + + cp $(TMPDIR)/MixedSigningApplet{Signed,}.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \ + rm -rf $(TMPDIR); \ + +clean-reproducer: + echo NOTHING TO CLEAN FOR $(TESTNAME) diff -r ba33e8e6a1f2 -r e97da10f9309 tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java Mon Jan 27 11:54:09 2014 -0500 @@ -0,0 +1,137 @@ +/* MixedSigningAppletHelper.java +Copyright (C) 2013 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea 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 for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package helper; +import signed.MixedSigningAppletSigned; +import java.lang.reflect.Method; +import java.lang.reflect.InvocationTargetException; +import java.security.AccessController; +import java.security.PrivilegedAction; + +/* See also signed/MixedSigningAppletSigned */ +public class MixedSigningAppletHelper { + + public static String help() { + return "MixedSigningApplet Applet Running"; + } + + public static String helpDoPrivileged() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return "MixedSigningApplet Applet Running"; + } + }); + } + + public static String getProperty(String prop) { + return System.getProperty(prop); + } + + public static String getPropertyDoPrivileged(final String prop) { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return getProperty(prop); + } + }); + } + + public static String getPropertyFromSignedJar(String prop) { + try { + Class signedAppletClass = Class.forName("signed.MixedSigningAppletSigned"); + Method m = signedAppletClass.getMethod("getProperty", String.class); + String result = (String) m.invoke(null, prop); + return result; + } catch (Exception e) { + e.printStackTrace(); + return e.toString(); + } + } + + public static String getPropertyFromSignedJarDoPrivileged(final String prop) { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return getPropertyFromSignedJar(prop); + } + }); + } + + public static String attack() { + try { + Class signedAppletClass = Class.forName("signed.MixedSigningAppletSigned"); + Method m = signedAppletClass.getMethod("getProperty", String.class); + String result = (String) m.invoke(signedAppletClass.newInstance(), "user.home"); + return result; + } catch (Exception e) { + e.printStackTrace(); + return e.toString(); + } + } + + public static String attackDoPrivileged() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return new MixedSigningAppletSigned().testSignedReadPropertiesDoPrivileged(); + } + }); + } + + public static String reflectiveAttack() { + String result = null; + try { + Object signedApplet = Class.forName("signed.MixedSigningAppletSigned").newInstance(); + Method getProp = signedApplet.getClass().getMethod("calledByReflection"); + result = (String)getProp.invoke(signedApplet); + } catch (Exception e) { + e.printStackTrace(); + result = e.toString(); + } + return result; + } + + public static String reflectiveAttackDoPrivileged() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return reflectiveAttack(); + } + }); + } +} diff -r ba33e8e6a1f2 -r e97da10f9309 tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java Mon Jan 27 11:54:09 2014 -0500 @@ -0,0 +1,349 @@ +/* MixedSigningAppletSigned.java +Copyright (C) 2013 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea 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 for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package signed; +import helper.MixedSigningAppletHelper; +import java.applet.Applet; +import java.lang.reflect.Method; +import java.util.ArrayList; +import java.util.List; +import java.security.AccessController; +import java.security.PrivilegedAction; + +/* See also simple/MixedSigningApplet */ +public class MixedSigningAppletSigned extends Applet { + + public static void main(String[] args) { + MixedSigningAppletSigned applet = new MixedSigningAppletSigned(); + applet.jnlpStart(args[0].replaceAll("\"", "")); + } + + public void jnlpStart(String testName) { + try { + Method m = this.getClass().getMethod(testName); + final String result = (String) m.invoke(this); + System.out.println(result); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + Method m = this.getClass().getMethod(testName + "Reflect"); + final String result = (String) m.invoke(this); + System.out.println(result); + } catch (Exception e) { + e.printStackTrace(); + } + System.out.println("*** APPLET FINISHED ***"); + System.exit(0); + } + + @Override + public void start() { + jnlpStart(getParameter("testName")); + } + + public String testNonPrivilegedActionReflect() { + return new HelperMethodCall().method("help").call(); + } + + public String testNonPrivilegedAction() { + return MixedSigningAppletHelper.help(); + } + + public String testNonPrivilegedActionDoPrivilegedReflect() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return testNonPrivilegedActionReflect(); + } + }); + } + + public String testNonPrivilegedActionDoPrivileged() { + return testNonPrivilegedActionDoPrivileged(); + } + + public String testNonPrivilegedActionDoPrivileged2Reflect() { + return new HelperMethodCall().method("helpDoPrivileged").call(); + } + + public String testNonPrivilegedActionDoPrivileged2() { + return MixedSigningAppletHelper.helpDoPrivileged(); + } + + // Should succeed + public String testSignedReadProperties() { + return getProperty("user.home"); + } + + // Should just be the same as above. It doesn't make much sense to make a reflective version here + public String testSignedReadPropertiesReflect() { + return testSignedReadProperties(); + } + + public String testSignedReadPropertiesDoPrivileged() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return testSignedReadProperties(); + } + }); + } + + public String testSignedReadPropertiesDoPrivilegedReflect() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return testSignedReadPropertiesReflect(); + } + }); + } + + // Should result in AccessControlException + public String testUnsignedReadPropertiesReflect() { + return new HelperMethodCall().type(String.class).method("getProperty").arg("user.home").call(); + } + + public String testUnsignedReadProperties() { + return MixedSigningAppletHelper.getProperty("user.home"); + } + + public String testUnsignedReadPropertiesDoPrivileged() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return testUnsignedReadProperties(); + } + }); + } + + public String testUnsignedReadPropertiesDoPrivilegedReflect() { + return AccessController.doPrivileged(new PrivilegedAction() { + @Override + public String run() { + return testUnsignedReadPropertiesReflect(); + } + }); + } From bugzilla-daemon at icedtea.classpath.org Mon Jan 27 09:01:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 27 Jan 2014 17:01:10 +0000 Subject: [Bug 1592] icedtea-web drop permissions on signed jars when run in combination with unsigned code In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1592 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=e97da10f9309 author: Andrew Azores date: Mon Jan 27 11:54:09 2014 -0500 PR1592 MixedSigningApplet reproducer rewrite/update MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP files generated per-test rather than premade. Many new tests added. * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html: moved to custom reproducer * tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp: moved to custom reproducer and now used as template by testcases file * tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: new Makefile for custom reproducer * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletHelper.java * tests/reproducers/custom/MixedSigningApplet/srcs/MixedSigningAppletSigned.java * tests/reproducers/custom/MixedSigningApplet/testcases/MixedSigningAppletSignedTests.java: new tests added, JNLP files generated per-test rather than all prepackaged * tests/reproducers/signed/MixedSigningAppletSigned/srcs/MixedSigningAppletSigned.java: moved to custom reproducer * tests/reproducers/signed/MixedSigningAppletSigned/testcases/MixedSigningAppletSignedTests.java * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp * tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html * tests/reproducers/simple/MixedSigningApplet/srcs/MixedSigningAppletHelper.java -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140127/7d08371f/attachment-0001.html From gitne at gmx.de Mon Jan 27 10:29:31 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 27 Jan 2014 19:29:31 +0100 Subject: [rfc][icedtea-web] Javadoc, XHTML conformance, and formatting cleanup In-Reply-To: <52E66B96.70801@redhat.com> References: <52E5E3DE.6010307@gmx.de> <52E66B96.70801@redhat.com> Message-ID: <52E6A58B.6040501@gmx.de> On 01/27/2014 03:22 PM, Jiri Vanek wrote: > On 01/27/2014 05:43 AM, Jacob Wisor wrote: >> Hello, >> >> The subject says it. I was especially bothered by javadoc throwing @doctag >> errors and warnings as >> well as its output not being XML conform. Many HTML elements that have >> gathered over time in the >> source code have not been XHTML conform hence causing javadoc's output also >> not being XML conform. I >> think this patch could serve as an improvement to the overall quality of the >> source code as the >> world transitions to strictly XML conforming data. So, the HTML documents >> generated by javadoc >> should be fully conforming to XML, hence XHTML documents now. Yey! :-) >> >> Jacob > > > Wou. Thats the patch. > > > Have the generated javadoc passed some check after the improvements? Nothing in particular than the obvious. Javadoc just does not complain anymore and it still compiles. I did not use any external validators. > If so What it was, I would include it into some tests-javadoc target... You could do that, or perhaps the developer's IDE would be a better place for it? You know, eg. Eclipse has extensive formatting and javadoc features reminding developers of style etc. Anyway, I suppose you would have to test for @doctag (fairly easy) and XHTML conformance. Especially the latter one could become a problem because the test is probably going to depend on a validator library. The W3C has only since recently provided some public web driven validators, so perhaps writing the test would be as easy as opening a HttpConnection and posting the javadoc output on a per page basis. But then perhaps, some automated build servers may run into problems while not being allowed to access the internet... Perhaps you could reuse those Eclipse libraries with adequate style configuration? I do not know for sure, but that is what you would have to figure out. > Few comments to changes: > > You are using > > + *
    
    >    * FirefoxPreferencesParser p = new FirefoxPreferencesParser(prefsFile);
    >    * p.parse();
    >    * Map<String,String> prefs = p.getPreferences();
    >    * System.out.println("blink allowed: " + prefs.get("browser.blink_allowed"));
    > - * 
    > + * > > pattern few times - Whats the benefitof it? I would say pre xor code is enough, > isnt it?
     is just a styling element, giving a hint as how to render enclosed 
    content.  is a meta element meaning that the enclosed content is 
    considered some sort of code that could serve as input to some parsers or 
    compiles etc.  does not carry any notion about rendering.
    
    >   /**
    > - *
    > - * @author jvanek
    > + * @author Jiri
    > Vanek
    >    */
    >
    > Ugh. Author tag is not allowed. Please just remove instead of fix.
    
    Why is that? A lot of classes have @author doctags. It does not denote 
    ownership. It is just a hint as to whom to turn for questions about the code in 
    the future.
    If they are absolutely not allowed, well then all other existing @author doctags 
    need to be stripped too. And, that's kind of mind boggling.
    
    > diff -r efa527f74184
    > netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    > --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    > +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    > @@ -188,8 +188,8 @@
    >               }
    >               String line = (createLine(messageWithHeader));
    >               if (mark) {
    > -                line = line.replaceAll("\n", "
    \n"); > - line = line.replaceAll(" ", "  ");//small trick, html is > reducting row of sapces to single space. This handles it and stimm allow line wrap > + line = line.replaceAll("\n", "
    \n"); > + line = line.replaceAll(" ", "  ");//small trick, html is > reducting row of spaces to single space. This handles it and stimm allow line wrap > line = line.replaceAll("\t", "    "); > > This is not possible. Unluckily the java html parser do not survive
    . > Please remove this hunk. That's a drag. :-\ It should definitely accept it. I guess the same applies to some message properties? > After fixing above. Looks ok. > > > Is backport to 1.4 possible? As the cnages are 99% really javadoc related, I do > not insists. My motivation to backport have only one valaid point - The > refactoring is changing backporting and forwardporting from automatic level to > manual one. Unless you have something against, do you mind to backport valid > parts after 1.4.2 release? I do know for sure because there is a lot of stuff here that is not in 1.4. But, I will take a look at it. Jacob From gitne at gmx.de Mon Jan 27 11:17:03 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 27 Jan 2014 20:17:03 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E66F94.9010901@redhat.com> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> Message-ID: <52E6B0AF.5050805@gmx.de> On 01/27/2014 03:39 PM, Jiri Vanek wrote: > ... >>> + * @param filePath a {@link String} representing the path of the file to >>> attempt to open >>> + * @throws Exception if any sort of exception occurs during reflective >>> launch of policytool >>> + */ >>> + private static void reflectivePolicyToolLaunch(final String filePath) >>> throws Exception { >>> + Class policyTool = >>> Class.forName("sun.security.tools.policytool.PolicyTool"); >> >> What about JRE 6? You could catch a ClassNotFoundException here and then try >> to get >> sun.security.tools.PolicyTool. And, if that fails, well then... Blow up! :-D > > Well - why yes? The jdk6 is dead. We are dealing with slowly, but its true. The > command exec is what matters. The second one is fallback. > > If you have non-policytool command, non jdk7 system. Please go on and fix. > Otherwise I do not believe it is worthy. The reason I mentioned this is because as Andrew wants to backport this patch to 1.4 and many machines will probably still be running on a strict combination of IcedTea-Web 1.4 on JRE 6 (for various reasons), the fallback for the *new feature* introduced by it will not work on this combination. Your proposed quick "fix" is not always easily possible, eg. because some other major software requires JRE 6 to run. This is also one reason why I called this patch a *new feature* and am against backporting it. But, if the patch is going to be backported then please also make sure that IcedTea-Web 1.4 will run on JREs that were still in wide use during its initial release, like JRE 6. Yes, even when resorting to a fallback. As a side note: Those version numbers have a meaning indeed. They are not just some sort of fancy way for naming things. They define feature sets and dependencies. This is especially important for business people. > And if we will nit pick -what about gnu classpath ? ;) Classpath or any other JRE do not apply as an argument here because we always assumed that this a OpenJDK/Oracle JRE specific feature. J2SE leaves it up to the JRE vendor on how to implement the configuration of the default SecurityManager and default Permissions. Jacob From aazores at redhat.com Mon Jan 27 11:32:32 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 27 Jan 2014 14:32:32 -0500 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E6B0AF.5050805@gmx.de> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E6B0AF.5050805@gmx.de> Message-ID: <52E6B450.2050500@redhat.com> On 01/27/2014 02:17 PM, Jacob Wisor wrote: > On 01/27/2014 03:39 PM, Jiri Vanek wrote: >> ... >>>> + * @param filePath a {@link String} representing the path of >>>> the file to >>>> attempt to open >>>> + * @throws Exception if any sort of exception occurs during >>>> reflective >>>> launch of policytool >>>> + */ >>>> + private static void reflectivePolicyToolLaunch(final String >>>> filePath) >>>> throws Exception { >>>> + Class policyTool = >>>> Class.forName("sun.security.tools.policytool.PolicyTool"); >>> >>> What about JRE 6? You could catch a ClassNotFoundException here and >>> then try >>> to get >>> sun.security.tools.PolicyTool. And, if that fails, well then... Blow >>> up! :-D >> >> Well - why yes? The jdk6 is dead. We are dealing with slowly, but its >> true. The >> command exec is what matters. The second one is fallback. >> >> If you have non-policytool command, non jdk7 system. Please go on and >> fix. >> Otherwise I do not believe it is worthy. > > The reason I mentioned this is because as Andrew wants to backport > this patch to 1.4 I'm sorry - what? Please go back and re-read the mail from three days ago where I posted the backport patch. > and many machines will probably still be running on a strict > combination of IcedTea-Web 1.4 on JRE 6 (for various reasons), the > fallback for the *new feature* introduced by it will not work on this > combination. Your proposed quick "fix" is not always easily possible, > eg. because some other major software requires JRE 6 to run. This is > also one reason why I called this patch a *new feature* and am against > backporting it. But, if the patch is going to be backported then > please also make sure that IcedTea-Web 1.4 will run on JREs that were > still in wide use during its initial release, like JRE 6. Yes, even > when resorting to a fallback. > > As a side note: Those version numbers have a meaning indeed. They are > not just some sort of fancy way for naming things. They define feature > sets and dependencies. This is especially important for business people. Anyway. If this patch is going to get backported to 1.4 then I think you're right and 6-compatibility should be taken into account (ie reflective fallback should also check for PolicyTool in its old package). I'm not sure how much we care about this for the 1.5 patch, but perhaps it would still be worth adding. I doubt there are very many users who are going to be using ITW 1.5 alongside Java 6, and of those users, how many are going to be trying to launch PolicyTool from the PolicyPanel *and* relying on the fallback reflective launch? To me this sounds like very very few users if any. But, it also isn't really too much more work, it will just make the PolicyPanel messier with all the extra reflective fallback cruft. If it's already being done for 1.4 then it might as well get done for 1.5, however. > >> And if we will nit pick -what about gnu classpath ? ;) > > Classpath or any other JRE do not apply as an argument here because we > always assumed that this a OpenJDK/Oracle JRE specific feature. J2SE > leaves it up to the JRE vendor on how to implement the configuration > of the default SecurityManager and default Permissions. > > Jacob Thanks, -- Andrew A From aazores at redhat.com Mon Jan 27 11:54:05 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 27 Jan 2014 14:54:05 -0500 Subject: [rfc][icedtea-web] External main-class fix In-Reply-To: <52D5903C.6010404@redhat.com> References: <52CDC9BA.4000406@redhat.com> <52D5903C.6010404@redhat.com> Message-ID: <52E6B95D.4090004@redhat.com> On 01/14/2014 02:30 PM, Andrew Azores wrote: > On 01/08/2014 04:57 PM, Andrew Azores wrote: >> Hi, >> >> Jiri found a flaw in the fix for PR1513, which allows applets to run >> when their main-class is not in a JAR, but is still available to load >> from the codebase. The previous fix simply didn't throw a >> LaunchException when the main-class could not be found in a JAR, and >> instead displayed a warning about not all of the code being signed. >> However, this warning could still appear even if no classes or JARs >> could be loaded at all! This patch causes the ClassLoader to not be >> so optimistic about finding an external main-class - it actually >> checks for it first, and if it still can't be found on the codebase >> after searching all JARs, then a LaunchException is thrown. If it can >> be found, then the applet launch proceeds as normal at this step. >> >> Additionally, checkNotAllSignedWithUser can only be called once now >> in initializeResources. Previously, it could be called both due to an >> external main-class as well as mixed signing states of JARs in the >> applet - so if you had one signed JAR, one unsigned JAR, and an >> external main-class, you would be prompted twice about the mixed >> signing, as well as about trusting the signer of the signed JAR. >> Craziness. Now, the prompt about mixed signing should only appear once. >> >> ChangeLog: >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: >> (initializeResources) perform search for main-class when suspected to >> be external. Only show mixed code signing prompt once during >> initialization. (checkNotAllSignedWithUser) refactor to remove local >> variable (promptUser) >> >> Thanks, >> > > Updated patch, Jiri pointed out over IRC that the previous patch only > worked for plugin applets and excluded JNLP. This makes it work for > JNLP as well, and also cleans up how codebase loading is set up on a > classloader. It's now done during initialization, rather than being > handled after the fact by a static factory-ish method. > > Thanks, > Ping. Thanks, -- Andrew A From aazores at redhat.com Mon Jan 27 11:55:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 27 Jan 2014 14:55:36 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <52D5AB8F.7030503@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> Message-ID: <52E6B9B8.7040402@redhat.com> On 01/14/2014 04:26 PM, Andrew Azores wrote: > On 01/10/2014 04:58 PM, Andrew Azores wrote: >> Hi, >> >> As inspired by an earlier mailing list thread [1]/[2]/[3], this patch >> introduces a new "Sandbox" button in the dialog that appears when a >> user is prompted to decide whether or not they trust the signer of an >> applet. If the user clicks "Run", then the applet proceeds as normal, >> being granted full Java Permissions (except in edge cases such as >> PR1592 - mixed JAR signing - and PR1513 - external main-class). If >> the user clicks "Sandbox", however, the classloader will treat the >> applet as if it is completely unsigned, and run it only with Sandbox >> Permissions, disregarding the fact that the applet has been signed. >> >> More work will need to be done with this patch once the >> PartiallySigned Dialogs patch goes in, so that that dialog also >> supports this action. This will be done at a later date in a new >> changeset. >> >> Automated tests have been largely left out of this patch since it >> deals with adding GUI elements, and the state of the ClassLoader >> itself cannot be directly influenced by a reproducer without >> interacting with security prompts (obviously). A small unit test was >> included to check the conversion between a new AppletAction enum type >> and arbitrary Object references - see the patch for the relevance of >> this enum and why this test needs to be done. >> >> Non-automated testing should involve: >> 1) running unsigned applets and verifying that the CertWarning dialog >> does not appear >> 2) running unsigned applets and verifying that there is no Sandbox >> button >> 3) running signed applets and verifying that there is a Sandbox >> button, which is enabled iff the "always trust content" checkbox is >> NOT ticked >> 4) running signed applets with the "Run" button results in a normal >> applet launch (same behaviour with and without patch applied) >> 5) running signed applets with the "Sandbox" button results in the >> applet not being able to perform privileged actions >> >> Some sample signed applets to test with: >> a) http://caff.de/applettest/Signed.html - once the applet launches, >> privileged actions include printing and saving local files. "Sandbox" >> mode should result in permission denied error dialogs >> b) https://oasisweb.uga.edu/oasis.html - launch browser from terminal >> to run this test. The applet will attempt to read several system >> properties, which it will print out. In standard run, these will be >> successfully read. In Sandbox mode, permission denied errors will be >> printed instead. >> c) JOGL tests at >> http://jogamp.org/deployment/jogamp-current/jogl-test-applets.html - >> launch browser from terminal to run this test. Running applets in >> Sandbox mode will cause most of the applets to fail at runtime, with >> AccessControlExceptions printed to the terminal. >> >> Known issues (needing discussion): >> - The CertWarning dialog sometimes appears more than once for a given >> applet (this is existing behaviour) - once per certificate that the >> user needs to approve trust. It doesn't seem to make sense for the >> "Sandbox" button to only apply to some subset of JARs in an applet >> based on signers, rather it should simply apply to the entire applet. >> Should further CertWarnings simply not be shown after the first time, >> if the Sandbox option is chosen the first time? Currently the >> implementation sets the entire classloader to Sandbox mode when a >> Sandbox button is pressed, which *must* occur before any classes are >> loaded and assigned security descriptors, so pressing Sandbox the >> first time and Run the second time will still result in Sandboxed >> behaviour. Or, should subsequent CertWarnings still be shown but >> perhaps with the Run button disabled if Sandbox has been chosen at >> least once prior? >> - The entire classloader is set to Sandbox mode, and this is not done >> with any more fine-grained control than this. If multiple applets are >> sharing the same classloader instance, then they will all be run >> sandboxed. This can be changed, but I think it's going to be a very >> rare situation where applets that are sharing a classloader will not >> all be trusted at the same level by the user. Leaving it as it is >> keeps the implementation simpler. >> >> ChangeLog: >> Added "Sandbox" button to CertWarning dialogs, allowing signed applets >> to be run with restricted permissions >> * netx/net/sourceforge/jnlp/resources/Messages.properties: (ButSandbox, >> LRunInSandboxError, LRunInSandboxErrorInfo): new messages >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (security) >> initialize to null when declared. (runInSandbox) new field. >> (getRunInSandbox) getter for new field. (setRunInSandbox) set the >> classloader to run current applet sandboxed. (activateJars, >> initializeResources, addNewJar, setSecurity) assign sandbox permissions >> regardless of signing if runInSandbox is set. (createInstance) do not >> show >> unsigned applet prompt if runInSandbox is set. >> * netx/net/sourceforge/jnlp/security/AppVerifier.java: >> (checkTrustWithUser) added JNLPClassLoader param >> * netx/net/sourceforge/jnlp/security/CertWarningPane.java: added Sandbox >> button >> * netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java: >> (checkTrustWithUser) uses AppletAction enum type, calls >> JNLPClassLoader#setRunInSandbox if AppletAction is SANDBOX >> * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: same >> * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: added >> (AppletAction) enum type. (showCertWarning) returns AppletAction >> rather than boolean >> * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: >> (askUser) refactor to use AppletAction rather than boolean >> * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: >> (checkTrustWithUser) added JNLPClassLoader param >> * >> tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: >> (testGetIntegerResponseAsAppletAction) new tests for converting Object >> references into AppletActions >> >> >> [1] >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-October/025394.html >> [2] >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-November/025396.html >> [3] >> http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-December/025399.html >> >> Thanks, >> > > Again, updating the patches here due to discussions on IRC. > > Changes since the last set: > - There's a new "-Xtrustnone" switch for command-line javaws. This is > like -Xtrustall but rather than choosing the "Run/Proceed" option, the > "Sandbox" option is taken. > - this is used for the new reproducer that is included, which > verifies that the Run in Sandbox button really does reduce the > permissions of a signed applet > - part of JNLPClassLoader#initializeResources was refactored > - the buttons on CertWarningDialogs now have tooltips > - Clicking "Sandbox" on a CertWarningDialog causes any subsequent > CertWarningDialogs to not appear, at least not from the same > classloader. In the unusual cases where an applet has multiple > classloaders (eg some of the jogl jnlp applets), then multiple dialogs > may still appear. > > Thanks, > Ping. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Jan 27 14:41:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 27 Jan 2014 22:41:45 +0000 Subject: [Bug 1657] New: Java VM crash SIGSEGV Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1657 Bug ID: 1657 Summary: Java VM crash SIGSEGV Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: critical Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: classpath.org at a.blewski.com CC: unassigned at icedtea.classpath.org Created attachment 1013 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1013&action=edit the hs_error.log file Crash when running a program. has occured 2-3 times. # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fd62c092921, pid=15459, tid=140557643228928 # # JRE version: OpenJDK Runtime Environment (7.0_45-b15) (build 1.7.0_45-mockbuild_2013_10_16_17_51-b00) # Java VM: OpenJDK 64-Bit Server VM (24.45-b08 mixed mode linux-amd64 compressed oops) # Problematic frame: # V [libjvm.so+0x582921] AsyncGetCallTrace+0xa0101 # -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140127/85401bd7/attachment.html From gitne at gmx.de Mon Jan 27 14:50:58 2014 From: gitne at gmx.de (Jacob Wisor) Date: Mon, 27 Jan 2014 23:50:58 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E67B66.1080805@redhat.com> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E67B66.1080805@redhat.com> Message-ID: <52E6E2D2.3080009@gmx.de> On 01/27/2014 04:29 PM, Andrew Azores wrote: > On 01/27/2014 09:39 AM, Jiri Vanek wrote: > [...] >>>> + Class[] signature = new Class[] { String[].class }; >>> >>> Redundant. No need to create a new instance here at run-time. >>> >>>> + Method main = policyTool.getDeclaredMethod("main", signature); >>> >>> Just substitute "signature" with "String[].class". >>> >>>> + Object args = new String[] { "-file", filePath }; >>> >>> Why is "args" of type Object? String[] should be fine and Method.invoke() >>> won't complain because >>> String[] inherits from Object. ;-) >>> >> Especially this.. My overlook. > > Method#invoke has signature(Object, Object...) - the first being the object the > method is to be invoked on, and the second being a varargs list for the method > call. Yes, String[] inherits from Object, and it also confuses the varargs > invocation. Hopefully this notation will make sense, but what I am doing here > results in this method call being invoked: > > PolicyTool.main({"-file", filePath}) > > and what you are suggesting results in this: > > PolicyTool.main("-file", filePath) > > These are not the same and in fact the second call will fail because there is no > PolicyTool.main(String, String) method, so you get IllegalArgumentException: > wrong number of arguments. Oh I see. You avoid doing an explicit cast to Object later because the compiler is unsure whether an implicit cast from String[] to Object[] should be interpreted as a vararg (Object[]) or a formal parameter (Object). Since the compiler has been "automagically" creating Object[] arrays for varargs ever since then your code is okay. > The "signature" variable is indeed not necessary but I'm really surprised that > we're getting to the level of nitpicking on inlining variables here. > Does this matter so much that it's worth patching? This would just save some unnecessary operations on the stack. So, no probably not. For some it is just a matter of style. But, you *should* probably change the call from Class.getDeclaredMethod() to Class.getMethod() because Class.getDeclaredMethod() assumes access to all, including non-public methods which causes a SecurityManager.checkMemberAccess(). This may lead to failure if the default SecurityManager is set. Class.getMethod() by definition accesses public members only hence it will not error out even with the default SecurityManager set (unless configured to deny access to public members). Or, has Class.getDeclaredMethod() been intentional too? > Should we not be ensuring that we only invoke JOptionPane.showMessageDialog from > the EDT? We have two different convenience methods that make this call, and > *usually* these methods are all called from the main thread, but there is an > occasion where we call showCouldNotOpenFileDialog from policyToolLaunchHelper, > and this time it's occurring in a new thread. So we can either wrap this one > particular call in an invokeLater, or just be completely sure that these two > convenience methods are always used safely and put the invokeLater directly > within them. In most cases, yes, it ends up being redundant, but it also means > in every case it's done safely, doesn't it? > > Here's a small StackOverflow discussion I found while double checking myself on > this. > > https://stackoverflow.com/questions/13863713/which-thread-to-launch-joptionpane Oh, you want to make sure the call to JOptionPane.showMessageDialog() happens on the EDT for it to block. Then this is okay. Good job! :-) I have missed your intention because I assumed you just wanted to make sure IcedTea-Web's JFrame would process all events before getting to JOptionPane.showMessageDialog(). Jacob From stefan.reich.maker.of.eye at googlemail.com Mon Jan 27 14:58:14 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Mon, 27 Jan 2014 23:58:14 +0100 Subject: I'm unsubscribing from IcedTea for now... Message-ID: ...but I'll be back! Haha :) Have a nice day and join the revolution! Cheers, Stefan TinyBrain.de // We'll beat Google to A.I. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140127/3ae64822/attachment.html From stefan.reich.maker.of.eye at googlemail.com Mon Jan 27 15:09:41 2014 From: stefan.reich.maker.of.eye at googlemail.com (Stefan Reich) Date: Tue, 28 Jan 2014 00:09:41 +0100 Subject: Hey wait, I'll stay a little. Message-ID: Ah. Just chatting you up a little :) We need more out-of-protocol communications. Really! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/8bd93e9d/attachment.html From emailgrant at gmail.com Mon Jan 27 15:28:37 2014 From: emailgrant at gmail.com (Grant) Date: Mon, 27 Jan 2014 15:28:37 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <52D6AC0D.6090905@RedHat.Com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> Message-ID: >>> Hi Andrew, can you point me in the right direction with this? Here >>> are a couple errors I'm getting depending on compile options and >>> bootstrap VM: >>> >>> http://pastebin.com/VV3rMezP >>> http://pastebin.com/ThjufjyH >> >> This may be the bug that Chris Philips is working on. >> >> Chris? >> >> Andrew. >> > Neither of these look familiar (though I recollect some issues in the > cryptocheck > for other archs so it may be a generic failure...). > I am planning update the it7-head forest with latest arm32 stuff in near > future so it > might be better to await that event. (Near future ~ a week +/- ). > > Chris Does anyone know where I can check to see if this has been updated? - Grant From gnu.andrew at redhat.com Mon Jan 27 21:21:07 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 28 Jan 2014 00:21:07 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> Message-ID: <1800522928.83487.1390886467315.JavaMail.root@redhat.com> ----- Original Message ----- > >>> Hi Andrew, can you point me in the right direction with this? Here > >>> are a couple errors I'm getting depending on compile options and > >>> bootstrap VM: > >>> > >>> http://pastebin.com/VV3rMezP > >>> http://pastebin.com/ThjufjyH > >> > >> This may be the bug that Chris Philips is working on. > >> > >> Chris? > >> > >> Andrew. > >> > > Neither of these look familiar (though I recollect some issues in the > > cryptocheck > > for other archs so it may be a generic failure...). > > I am planning update the it7-head forest with latest arm32 stuff in near > > future so it > > might be better to await that event. (Near future ~ a week +/- ). > > > > Chris > > Does anyone know where I can check to see if this has been updated? > > - Grant > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot Nothing yet. I'll ping this thread when something happens. -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From ptisnovs at icedtea.classpath.org Tue Jan 28 01:15:19 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 28 Jan 2014 09:15:19 +0000 Subject: /hg/gfx-test: Added five new tests into the testsuite CAGOperati... Message-ID: changeset 2da99235dc05 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=2da99235dc05 author: Pavel Tisnovsky date: Tue Jan 28 10:19:36 2014 +0100 Added five new tests into the testsuite CAGOperationsOnTwoTouchingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java | 127 +++++++++- 2 files changed, 131 insertions(+), 1 deletions(-) diffs (156 lines): diff -r 115b6ea402f8 -r 2da99235dc05 ChangeLog --- a/ChangeLog Mon Jan 27 12:49:11 2014 +0100 +++ b/ChangeLog Tue Jan 28 10:19:36 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-28 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: + Added five new tests into the testsuite CAGOperationsOnTwoTouchingCircles. + 2014-01-27 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: diff -r 115b6ea402f8 -r 2da99235dc05 src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Mon Jan 27 12:49:11 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Tue Jan 28 10:19:36 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2010, 2011 Red Hat + Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -435,6 +435,131 @@ /** * Checks the process of creating and rendering new geometric shape * constructed from two touching circles using union operator. The shape is rendered + * using zero wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using subtract operator. The shape is + * rendered using zero stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using inverse subtract operator. The shape + * is rendered using zero stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using intersect operator. The shape is + * rendered using zero stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using XOR operator. The shape is rendered + * using zero stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorZeroStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeZeroThick(graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using union operator. The shape is rendered * using color paint (fill). * * @param image From ptisnovs at icedtea.classpath.org Tue Jan 28 01:43:08 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 28 Jan 2014 09:43:08 +0000 Subject: /hg/rhino-tests: Enhancement of the test testGetResourceAsStream... Message-ID: changeset 73503cadcb15 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=73503cadcb15 author: Pavel Tisnovsky date: Tue Jan 28 10:47:26 2014 +0100 Enhancement of the test testGetResourceAsStreamNegativeTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptEngineManagerClassTest.java | 258 ++++++++++++++++++- 2 files changed, 262 insertions(+), 1 deletions(-) diffs (294 lines): diff -r eb150896a385 -r 73503cadcb15 ChangeLog --- a/ChangeLog Mon Jan 27 12:52:02 2014 +0100 +++ b/ChangeLog Tue Jan 28 10:47:26 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-28 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineManagerClassTest.java: + Enhancement of the test testGetResourceAsStreamNegativeTest. + 2014-01-27 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineFactoryClassTest.java: diff -r eb150896a385 -r 73503cadcb15 src/org/RhinoTests/ScriptEngineManagerClassTest.java --- a/src/org/RhinoTests/ScriptEngineManagerClassTest.java Mon Jan 27 12:52:02 2014 +0100 +++ b/src/org/RhinoTests/ScriptEngineManagerClassTest.java Tue Jan 28 10:47:26 2014 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011, 2012, 2013 Red Hat + Copyright (C) 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1424,6 +1424,54 @@ } try { + this.scriptEngineManagerClass.asSubclass(java.applet.Applet.class); + throw new AssertionError("Class.asSubclass(java.applet.Applet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.Button.class); + throw new AssertionError("Class.asSubclass(java.awt.Button.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.Canvas.class); + throw new AssertionError("Class.asSubclass(java.awt.Canvas.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.CardLayout.class); + throw new AssertionError("Class.asSubclass(java.awt.CardLayout.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.Checkbox.class); + throw new AssertionError("Class.asSubclass(java.awt.Checkbox.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.Choice.class); + throw new AssertionError("Class.asSubclass(java.awt.Choice.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineManagerClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1448,6 +1496,214 @@ } try { + this.scriptEngineManagerClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineManagerClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineManagerClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From andrew at icedtea.classpath.org Tue Jan 28 02:54:44 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:54:44 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: 2 new changesets Message-ID: changeset adc241d706d6 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=adc241d706d6 author: andrew date: Thu Jan 23 22:40:30 2014 +0000 PR1653: Support ppc64le via Zero changeset 3594dbde270d in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3594dbde270d author: andrew date: Thu Jan 23 23:19:18 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build diffstat: make/common/shared/Defs-java.gmk | 6 +++++- make/common/shared/Platform.gmk | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diffs (28 lines): diff -r 721b1070efda -r 3594dbde270d make/common/shared/Defs-java.gmk --- a/make/common/shared/Defs-java.gmk Fri Jan 17 20:22:44 2014 +0000 +++ b/make/common/shared/Defs-java.gmk Thu Jan 23 23:19:18 2014 +0000 @@ -79,7 +79,11 @@ # 64-bit builds require a larger thread stack size. ifeq ($(ARCH_DATA_MODEL), 32) - JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 + ifeq ($(ARCH), ppc) + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1152 + else + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 + endif else JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1664 endif diff -r 721b1070efda -r 3594dbde270d make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Fri Jan 17 20:22:44 2014 +0000 +++ b/make/common/shared/Platform.gmk Thu Jan 23 23:19:18 2014 +0000 @@ -154,7 +154,7 @@ # Arch and OS name/version mach := $(shell uname -m) ifneq (,$(wildcard /usr/bin/dpkg-architecture)) - mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/') + mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/') endif archExpr = case "$(mach)" in \ i[3-9]86) \ From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 02:54:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:54:54 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=adc241d706d6 author: andrew date: Thu Jan 23 22:40:30 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/1f05c3e4/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 02:55:04 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:55:04 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=3594dbde270d author: andrew date: Thu Jan 23 23:19:18 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/0dc560e2/attachment.html From andrew at icedtea.classpath.org Tue Jan 28 02:55:30 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:55:30 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: PR1653: Support ppc64le... Message-ID: changeset cbeecad5efcb in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=cbeecad5efcb author: andrew date: Thu Jan 23 22:41:21 2014 +0000 PR1653: Support ppc64le via Zero diffstat: src/os_cpu/linux_zero/vm/globals_linux_zero.hpp | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diffs (24 lines): diff -r 659dc7b310ea -r cbeecad5efcb src/os_cpu/linux_zero/vm/globals_linux_zero.hpp --- a/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Fri Jan 17 20:22:50 2014 +0000 +++ b/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp Thu Jan 23 22:41:21 2014 +0000 @@ -26,6 +26,8 @@ #ifndef OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP #define OS_CPU_LINUX_ZERO_VM_GLOBALS_LINUX_ZERO_HPP +#include "utilities/macros.hpp" + // // Set the default values for platform dependent flags used by the // runtime system. See globals.hpp for details of what they do. @@ -34,9 +36,9 @@ define_pd_global(bool, DontYieldALot, false); define_pd_global(intx, ThreadStackSize, 1664); #ifdef _LP64 -define_pd_global(intx, VMThreadStackSize, 1024); +define_pd_global(intx, VMThreadStackSize, PPC_ONLY(1664) NOT_PPC(1024)); #else -define_pd_global(intx, VMThreadStackSize, 512); +define_pd_global(intx, VMThreadStackSize, PPC_ONLY(1152) NOT_PPC(512)); #endif // _LP64 define_pd_global(intx, CompilerThreadStackSize, 0); define_pd_global(uintx, JVMInvokeMethodSlack, 8192); From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 02:55:37 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:55:37 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=cbeecad5efcb author: andrew date: Thu Jan 23 22:41:21 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/88c4b9d4/attachment-0001.html From andrew at icedtea.classpath.org Tue Jan 28 02:55:50 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:55:50 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: 2 new changesets Message-ID: changeset 2ef049ab5b37 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=2ef049ab5b37 author: andrew date: Thu Jan 23 22:41:14 2014 +0000 PR1653: Support ppc64le via Zero changeset a74c2e4a756b in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=a74c2e4a756b author: andrew date: Thu Jan 23 23:19:20 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build diffstat: make/common/shared/Defs-java.gmk | 6 +++++- make/common/shared/Platform.gmk | 6 +++--- make/jdk_generic_profile.sh | 7 ++++--- 3 files changed, 12 insertions(+), 7 deletions(-) diffs (79 lines): diff -r 53ebbd107ffa -r a74c2e4a756b make/common/shared/Defs-java.gmk --- a/make/common/shared/Defs-java.gmk Fri Jan 17 20:23:01 2014 +0000 +++ b/make/common/shared/Defs-java.gmk Thu Jan 23 23:19:20 2014 +0000 @@ -88,7 +88,11 @@ # 64-bit builds require a larger thread stack size. ifeq ($(ARCH_DATA_MODEL), 32) - JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 + ifeq ($(ARCH), ppc) + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1152 + else + JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=768 + endif else JAVAC_JVM_FLAGS += -J-XX:ThreadStackSize=1664 endif diff -r 53ebbd107ffa -r a74c2e4a756b make/common/shared/Platform.gmk --- a/make/common/shared/Platform.gmk Fri Jan 17 20:23:01 2014 +0000 +++ b/make/common/shared/Platform.gmk Thu Jan 23 23:19:20 2014 +0000 @@ -161,7 +161,7 @@ mach := $(shell uname -m) endif ifneq (,$(wildcard /usr/bin/dpkg-architecture)) - mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/') + mach := $(shell (dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null || echo $(mach)) | sed 's/arm64/aarch64/;s/powerpc$$/ppc/;s/hppa/parisc/;s/ppc64el/ppc64le/') endif archExpr = case "$(mach)" in \ i[3-9]86) \ @@ -205,10 +205,10 @@ # Most archs are 32-bit ifndef ARCH_DATA_MODEL ARCH_DATA_MODEL=32 - ifeq ($(ARCH), amd64) + ifneq (,$(findstring 64,$(ARCH))) ARCH_DATA_MODEL=64 endif - ifeq ($(ARCH), ia64) + ifeq ($(ARCH), s390x) ARCH_DATA_MODEL=64 endif ifeq ($(ARCH), sh) diff -r 53ebbd107ffa -r a74c2e4a756b make/jdk_generic_profile.sh --- a/make/jdk_generic_profile.sh Fri Jan 17 20:23:01 2014 +0000 +++ b/make/jdk_generic_profile.sh Thu Jan 23 23:19:20 2014 +0000 @@ -260,6 +260,7 @@ sparc64) ZERO_LIBARCH=sparcv9 ;; arm*) ZERO_LIBARCH=arm ;; sh*) ZERO_LIBARCH=sh ;; + ppc64le) ZERO_LIBARCH=ppc64le ;; *) ZERO_LIBARCH="$(arch)" esac export ZERO_LIBARCH @@ -269,7 +270,7 @@ arm|i386|ppc|s390|sh|sparc) ARCH_DATA_MODEL=32 ;; - aarch64|alpha|amd64|ia64|ppc64|s390x|sparcv9) + aarch64|alpha|amd64|ia64|ppc64*|s390x|sparcv9) ARCH_DATA_MODEL=64 ;; *) @@ -280,7 +281,7 @@ # ZERO_ENDIANNESS is the endianness of the processor case "${ZERO_LIBARCH}" in - arm|aarch64|amd64|i386|ia64|mipsel) + arm|aarch64|amd64|i386|ia64|mipsel|ppc64le) ZERO_ENDIANNESS=little ;; ppc*|s390*|sparc*|alpha) @@ -307,7 +308,7 @@ s390) ZERO_ARCHFLAG="-m31" ;; - arm|aarch64) + arm|aarch64|ppc64le) ZERO_ARCHFLAG="-D_LITTLE_ENDIAN" ;; *) From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 02:55:59 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:55:59 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #7 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=2ef049ab5b37 author: andrew date: Thu Jan 23 22:41:14 2014 +0000 PR1653: Support ppc64le via Zero -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/36e3abd4/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 02:56:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 10:56:05 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #5 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=a74c2e4a756b author: andrew date: Thu Jan 23 23:19:20 2014 +0000 PR1654: ppc32 needs a larger ThreadStackSize to build -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/a41bf33f/attachment.html From jvanek at redhat.com Tue Jan 28 03:30:08 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 28 Jan 2014 12:30:08 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E6B0AF.5050805@gmx.de> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E6B0AF.5050805@gmx.de> Message-ID: <52E794C0.4020002@redhat.com> On 01/27/2014 08:17 PM, Jacob Wisor wrote: > On 01/27/2014 03:39 PM, Jiri Vanek wrote: >> ... >>>> + * @param filePath a {@link String} representing the path of the file to >>>> attempt to open >>>> + * @throws Exception if any sort of exception occurs during reflective >>>> launch of policytool >>>> + */ >>>> + private static void reflectivePolicyToolLaunch(final String filePath) >>>> throws Exception { >>>> + Class policyTool = >>>> Class.forName("sun.security.tools.policytool.PolicyTool"); >>> >>> What about JRE 6? You could catch a ClassNotFoundException here and then try >>> to get >>> sun.security.tools.PolicyTool. And, if that fails, well then... Blow up! :-D >> >> Well - why yes? The jdk6 is dead. We are dealing with slowly, but its true. The >> command exec is what matters. The second one is fallback. >> >> If you have non-policytool command, non jdk7 system. Please go on and fix. >> Otherwise I do not believe it is worthy. > > The reason I mentioned this is because as Andrew wants to backport this patch to 1.4 and many > machines will probably still be running on a strict combination of IcedTea-Web 1.4 on JRE 6 (for > various reasons), the fallback for the *new feature* introduced by it will not work on this > combination. Your proposed quick "fix" is not always easily possible, eg. because some other major > software requires JRE 6 to run. This is also one reason why I called this patch a *new feature* and > am against backporting it. But, if the patch is going to be backported then please also make sure > that IcedTea-Web 1.4 will run on JREs that were still in wide use during its initial release, like > JRE 6. Yes, even when resorting to a fallback. If you insists, then trying the jdk6 class is solution after ClassNotFound Exception. > > As a side note: Those version numbers have a meaning indeed. They are not just some sort of fancy > way for naming things. They define feature sets and dependencies. This is especially important for > business people. > >> And if we will nit pick -what about gnu classpath ? ;) > > Classpath or any other JRE do not apply as an argument here because we always assumed that this a > OpenJDK/Oracle JRE specific feature. J2SE leaves it up to the JRE vendor on how to implement the > configuration of the default SecurityManager and default Permissions. Thats not 100% true. *plugin* is *icedtea* specific feature. Our Javaws implementation *IS* know to work with openjdk, oraclejdk, IBMjdk and (yah..well..)mostly also with GNU classpath. J. From emailgrant at gmail.com Tue Jan 28 05:44:10 2014 From: emailgrant at gmail.com (Grant) Date: Tue, 28 Jan 2014 05:44:10 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <1800522928.83487.1390886467315.JavaMail.root@redhat.com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> Message-ID: >> >>> Hi Andrew, can you point me in the right direction with this? Here >> >>> are a couple errors I'm getting depending on compile options and >> >>> bootstrap VM: >> >>> >> >>> http://pastebin.com/VV3rMezP >> >>> http://pastebin.com/ThjufjyH >> >> >> >> This may be the bug that Chris Philips is working on. >> >> >> >> Chris? >> >> >> >> Andrew. >> >> >> > Neither of these look familiar (though I recollect some issues in the >> > cryptocheck >> > for other archs so it may be a generic failure...). >> > I am planning update the it7-head forest with latest arm32 stuff in near >> > future so it >> > might be better to await that event. (Near future ~ a week +/- ). >> > >> > Chris >> >> Does anyone know where I can check to see if this has been updated? >> >> - Grant >> > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot > > Nothing yet. I'll ping this thread when something happens. > -- > Andrew :) I thought "Merge jdk7u60-b03" indicated an update 5 days ago? I updated all of the tarballs in my local ebuild (except for cacao and jamvm which don't seem to have changed) and I was planning on attempting a compile today. - Grant From ChrisPhi at redhat.com Tue Jan 28 06:33:06 2014 From: ChrisPhi at redhat.com (Chris Phillips) Date: Tue, 28 Jan 2014 09:33:06 -0500 Subject: building icedtea-7 on ARM In-Reply-To: References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> Message-ID: <52E7BFA2.20705@RedHat.Com> Hi On 28/01/14 08:44 AM, Grant wrote: >>>>>> Hi Andrew, can you point me in the right direction with this? Here >>>>>> are a couple errors I'm getting depending on compile options and >>>>>> bootstrap VM: >>>>>> >>>>>> http://pastebin.com/VV3rMezP >>>>>> http://pastebin.com/ThjufjyH >>>>> This may be the bug that Chris Philips is working on. >>>>> >>>>> Chris? >>>>> >>>>> Andrew. >>>>> >>>> Neither of these look familiar (though I recollect some issues in the >>>> cryptocheck >>>> for other archs so it may be a generic failure...). >>>> I am planning update the it7-head forest with latest arm32 stuff in near >>>> future so it >>>> might be better to await that event. (Near future ~ a week +/- ). >>>> >>>> Chris >>> Does anyone know where I can check to see if this has been updated? >>> >>> - Grant >>> >> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot >> >> Nothing yet. I'll ping this thread when something happens. >> -- >> Andrew :) > I thought "Merge jdk7u60-b03" indicated an update 5 days ago? I > updated all of the tarballs in my local ebuild (except for cacao and > jamvm which don't seem to have changed) and I was planning on > attempting a compile today. > > - Grant That's Andrew Hughes normal merge of openjdk into head. The arm stuff is still old... Got delayed by a bad cold last week, so later this week if no major issues. Chris From jvanek at redhat.com Tue Jan 28 06:35:47 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 28 Jan 2014 15:35:47 +0100 Subject: [rfc][icedtea-web] Javadoc, XHTML conformance, and formatting cleanup In-Reply-To: <52E6A58B.6040501@gmx.de> References: <52E5E3DE.6010307@gmx.de> <52E66B96.70801@redhat.com> <52E6A58B.6040501@gmx.de> Message-ID: <52E7C043.7010302@redhat.com> On 01/27/2014 07:29 PM, Jacob Wisor wrote: > On 01/27/2014 03:22 PM, Jiri Vanek wrote: >> On 01/27/2014 05:43 AM, Jacob Wisor wrote: >>> Hello, >>> >>> The subject says it. I was especially bothered by javadoc throwing @doctag >>> errors and warnings as >>> well as its output not being XML conform. Many HTML elements that have >>> gathered over time in the >>> source code have not been XHTML conform hence causing javadoc's output also >>> not being XML conform. I >>> think this patch could serve as an improvement to the overall quality of the >>> source code as the >>> world transitions to strictly XML conforming data. So, the HTML documents >>> generated by javadoc >>> should be fully conforming to XML, hence XHTML documents now. Yey! :-) >>> >>> Jacob >> >> >> Wou. Thats the patch. >> >> >> Have the generated javadoc passed some check after the improvements? > > Nothing in particular than the obvious. Javadoc just does not complain anymore and it still > compiles. I did not use any external validators. > >> If so What it was, I would include it into some tests-javadoc target... > > You could do that, or perhaps the developer's IDE would be a better place for it? You know, eg. > Eclipse has extensive formatting and javadoc features reminding developers of style etc. Anyway, I > suppose you would have to test for @doctag (fairly easy) and XHTML conformance. Especially the > latter one could become a problem because the test is probably going to depend on a validator > library. The W3C has only since recently provided some public web driven validators, so perhaps > writing the test would be as easy as opening a HttpConnection and posting the javadoc output on a > per page basis. But then perhaps, some automated build servers may run into problems while not being > allowed to access the internet... Perhaps you could reuse those Eclipse libraries with adequate > style configuration? I do not know for sure, but that is what you would have to figure out. nn :). I hoped for some more tolerant thing as xmllint adapted for xhtml (or better javadoc). I wonted to have it in automated run as make test-xtml (and test return 0/!0) nvm. It was just idea. javadoc itself - is far away from bein perfect xhtml :( > >> Few comments to changes: >> >> You are using >> >> + *
    
    >>    * FirefoxPreferencesParser p = new FirefoxPreferencesParser(prefsFile);
    >>    * p.parse();
    >>    * Map<String,String> prefs = p.getPreferences();
    >>    * System.out.println("blink allowed: " + prefs.get("browser.blink_allowed"));
    >> - * 
    >> + *
    >> >> pattern few times - Whats the benefitof it? I would say pre xor code is enough, >> isnt it? > >
     is just a styling element, giving a hint as how to render enclosed content.  is a meta
    > element meaning that the enclosed content is considered some sort of code that could serve as input
    > to some parsers or compiles etc.  does not carry any notion about rendering.
    
    fair enough. Thanx.
    >
    >>   /**
    >> - *
    >> - * @author jvanek
    >> + * @author Jiri
    >> Vanek
    >>    */
    >>
    >> Ugh. Author tag is not allowed. Please just remove instead of fix.
    >
    > Why is that? A lot of classes have @author doctags. It does not denote ownership. It is just a hint
    > as to whom to turn for questions about the code in the future.
    > If they are absolutely not allowed, well then all other existing @author doctags need to be stripped
    > too. And, that's kind of mind boggling.
    
    hmhhm. The oldest classes (original NETX ones) have author and email-to. Since icedtea take cover 
    over project, the author and email-to become obsoleted (as distro-pkg-dev is email now)
    
    I would like to remove, just what was in this hunk - me as Author in this class, as I joined the 
    team long after icedtea-web was under icedtea.
    
    If you do have some concerns about my arguments here. Please keep this hunk as you wish.
    
    >
    >> diff -r efa527f74184
    >> netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    >> --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    >> +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java
    >> @@ -188,8 +188,8 @@
    >>               }
    >>               String line = (createLine(messageWithHeader));
    >>               if (mark) {
    >> -                line = line.replaceAll("\n", "
    \n"); >> - line = line.replaceAll(" ", "  ");//small trick, html is >> reducting row of sapces to single space. This handles it and stimm allow line wrap >> + line = line.replaceAll("\n", "
    \n"); >> + line = line.replaceAll(" ", "  ");//small trick, html is >> reducting row of spaces to single space. This handles it and stimm allow line wrap >> line = line.replaceAll("\t", "    "); >> >> This is not possible. Unluckily the java html parser do not survive
    . >> Please remove this hunk. > hhmm. I have just tested. I have not spotted the "strange behavior" which I had during development. So its probably ok.... Do you mind to add this hunk as separate chnageset? > That's a drag. :-\ It should definitely accept it. I guess the same applies to some message properties? message properties are ok. > >> After fixing above. Looks ok. >> >> >> Is backport to 1.4 possible? As the cnages are 99% really javadoc related, I do >> not insists. My motivation to backport have only one valaid point - The >> refactoring is changing backporting and forwardporting from automatic level to >> manual one. Unless you have something against, do you mind to backport valid >> parts after 1.4.2 release? > > I do know for sure because there is a lot of stuff here that is not in 1.4. But, I will take a look > at it. Only what will pass without much issues. J. From gnu.andrew at redhat.com Tue Jan 28 07:16:10 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Tue, 28 Jan 2014 10:16:10 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: <52E7BFA2.20705@RedHat.Com> References: <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> Message-ID: <1114262891.423721.1390922170522.JavaMail.root@redhat.com> ----- Original Message ----- > Hi > > On 28/01/14 08:44 AM, Grant wrote: > >>>>>> Hi Andrew, can you point me in the right direction with this? Here > >>>>>> are a couple errors I'm getting depending on compile options and > >>>>>> bootstrap VM: > >>>>>> > >>>>>> http://pastebin.com/VV3rMezP > >>>>>> http://pastebin.com/ThjufjyH > >>>>> This may be the bug that Chris Philips is working on. > >>>>> > >>>>> Chris? > >>>>> > >>>>> Andrew. > >>>>> > >>>> Neither of these look familiar (though I recollect some issues in the > >>>> cryptocheck > >>>> for other archs so it may be a generic failure...). > >>>> I am planning update the it7-head forest with latest arm32 stuff in near > >>>> future so it > >>>> might be better to await that event. (Near future ~ a week +/- ). > >>>> > >>>> Chris > >>> Does anyone know where I can check to see if this has been updated? > >>> > >>> - Grant > >>> > >> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot > >> > >> Nothing yet. I'll ping this thread when something happens. > >> -- > >> Andrew :) > > I thought "Merge jdk7u60-b03" indicated an update 5 days ago? I > > updated all of the tarballs in my local ebuild (except for cacao and > > jamvm which don't seem to have changed) and I was planning on > > attempting a compile today. > > > > - Grant > That's Andrew Hughes normal merge of openjdk into head. The arm stuff > is still old... > > Got delayed by a bad cold last week, so later this week if no major issues. > > Chris > > > Just send me a patch as soon as you can, Chris. Thanks, -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Tue Jan 28 07:38:23 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 15:38:23 +0000 Subject: /hg/release/icedtea7-2.4: 2 new changesets Message-ID: changeset 6737b461b59a in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=6737b461b59a author: Andrew John Hughes date: Wed Jan 22 10:46:56 2014 +0000 Remove bug IDs not in Mercurial repositories. 2014-01-22 Andrew John Hughes * NEWS: Remove bug IDs not in repository. changeset ceec45b60d01 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=ceec45b60d01 author: Andrew John Hughes date: Tue Jan 28 15:37:59 2014 +0000 Bring in non-security changes from u51b31, plus PR1653 & PR1654. 2014-01-28 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Set to b31. (CORBA_CHANGESET): Update to IcedTea 2.4 HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * hotspot.map: Update to IcedTea 2.4 HEAD. * patches/boot/ecj-diamond.patch: Regenerated. diffstat: ChangeLog | 24 + Makefile.am | 26 +- NEWS | 38 +- hotspot.map | 2 +- patches/boot/ecj-diamond.patch | 3093 +++++++++++++++++++-------------------- 5 files changed, 1616 insertions(+), 1567 deletions(-) diffs (truncated from 4936 to 500 lines): diff -r a41acae0ba85 -r ceec45b60d01 ChangeLog --- a/ChangeLog Wed Jan 22 10:08:10 2014 +0000 +++ b/ChangeLog Tue Jan 28 15:37:59 2014 +0000 @@ -1,3 +1,27 @@ +2014-01-28 Andrew John Hughes + + * Makefile.am: + (BUILD_VERSION): Set to b31. + (CORBA_CHANGESET): Update to IcedTea 2.4 HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + * NEWS: Updated. + * hotspot.map: Update to IcedTea 2.4 HEAD. + * patches/boot/ecj-diamond.patch: Regenerated. + +2014-01-22 Andrew John Hughes + + * NEWS: Remove bug IDs not in repository. + 2014-01-22 Andrew John Hughes * configure.ac: Bump to 2.4.5pre. diff -r a41acae0ba85 -r ceec45b60d01 Makefile.am --- a/Makefile.am Wed Jan 22 10:08:10 2014 +0000 +++ b/Makefile.am Tue Jan 28 15:37:59 2014 +0000 @@ -1,22 +1,22 @@ # Dependencies JDK_UPDATE_VERSION = 51 -BUILD_VERSION = b00 +BUILD_VERSION = b31 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = e540fd592221 -JAXP_CHANGESET = 2e2bf2d8be16 -JAXWS_CHANGESET = 5aceb5a787b1 -JDK_CHANGESET = 1fe539ed00bc -LANGTOOLS_CHANGESET = 3f5408abf14b -OPENJDK_CHANGESET = 796d1bf47b24 +CORBA_CHANGESET = 3594dbde270d +JAXP_CHANGESET = 8fe156ad49e2 +JAXWS_CHANGESET = 32ea8b1ed91a +JDK_CHANGESET = a74c2e4a756b +LANGTOOLS_CHANGESET = dabd37b7e295 +OPENJDK_CHANGESET = 410eb7fef869 -CORBA_SHA256SUM = 77c3285f6abdefe7f19fc4c698ef1f4fe533f38941314e7e7077c34fa5eb4456 -JAXP_SHA256SUM = 48bb8ece00ef62c6c0161dd90e5789419594dfb5d08163781dac9ffc00c0a3f8 -JAXWS_SHA256SUM = ee2a7165b78693c3bb61a90128b60934704e9a5c6c7514abfbb61e41531b9919 -JDK_SHA256SUM = 16373b85dc5123cfe1816ec04f7d14e9a048c6eee7eb7c22b5b816fa1fd5e9bc -LANGTOOLS_SHA256SUM = 4375ccfacc49793dd0f13cb73ce3c684218bce71008fc237f3b6da754f4dfea6 -OPENJDK_SHA256SUM = abe048022f46f4d04130b2cf6a1b1d897bdca981518349d34fe5b415310f7782 +CORBA_SHA256SUM = d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d +JAXP_SHA256SUM = 0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3 +JAXWS_SHA256SUM = 08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0 +JDK_SHA256SUM = 1755a0c0439c7b8e0552ece4e24686ecfd64ef886dea0622e0b9f224103674ae +LANGTOOLS_SHA256SUM = 86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f +OPENJDK_SHA256SUM = 2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab diff -r a41acae0ba85 -r ceec45b60d01 NEWS --- a/NEWS Wed Jan 22 10:08:10 2014 +0000 +++ b/NEWS Tue Jan 28 15:37:59 2014 +0000 @@ -14,6 +14,40 @@ New in release 2.4.5 (2014-01-XX): +* Backports + - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions + - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option + - S8022868: missing codepage Cp290 at java runtime + - S8023310: Thread contention in the method Beans.IsDesignTime() + - S8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test + - S8025679: Increment minor version of HSx for 7u51 and initialize the build number + - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris + - S8026304: jarsigner output bad grammar + - S8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing + - S8026887: Make issues due to failed large pages allocations easier to debug + - S8027204: Revise the update of 8026204 and 8025758 + - S8027224: test regression - ClassNotFoundException + - S8027370: Support tzdata2013h + - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 + - S8027787: 7u51 l10n resource file translation update 1 + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms + - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 + - S8027944: Increment hsx 24.51 build to b02 for 7u51-b07 + - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications + - S8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue + - S8028111: XML readers share the same entity expansion counter + - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB + - S8028293: Check local configuration for actual ephemeral port range + - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 + - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) + - S8028823: java/net/Makefile tabs converted to spaces + - S8029038: Revise fix for XML readers share the same entity expansion counter + - S8029842: Increment hsx 24.51 build to b03 for 7u51-b11 +* Bug fixes + - Fix broken bootstrap build by updating ecj-multicatch.patch + - PR1653: Support ppc64le via Zero + - PR1654: ppc32 needs a larger ThreadStackSize to build + New in release 2.4.4 (2014-01-14): * Security fixes @@ -21,8 +55,8 @@ - S7068126, CVE-2014-0373: Enhance SNMP statuses - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - - S8021257, S8025022, CVE-2013-5896 : com.sun.corba.se.** should be on restricted package list - - S8021271, S8021266, CVE-2014-0408: Better buffering in ObjC code + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8021271, CVE-2014-0408: Better buffering in ObjC code - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes diff -r a41acae0ba85 -r ceec45b60d01 hotspot.map --- a/hotspot.map Wed Jan 22 10:08:10 2014 +0000 +++ b/hotspot.map Tue Jan 28 15:37:59 2014 +0000 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot a8a33cc2dd4b cb5f109ae32c07301bc3a017c334ca3a7723124ff217d46127a16ade516d2902 +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot cbeecad5efcb 511d0337cf8ab6cfbd9b7d9a5a2dd2a19bad01eb11b33e947154b95ddb46ab0e diff -r a41acae0ba85 -r ceec45b60d01 patches/boot/ecj-diamond.patch --- a/patches/boot/ecj-diamond.patch Wed Jan 22 10:08:10 2014 +0000 +++ b/patches/boot/ecj-diamond.patch Tue Jan 28 15:37:59 2014 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2013-07-24 21:31:42.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2013-07-30 18:32:50.125579213 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2014-01-23 23:19:18.000000000 +0000 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/encoding/CachedCodeBase.java 2014-01-28 11:39:19.697588883 +0000 @@ -58,7 +58,7 @@ private CorbaConnection conn; @@ -11,8 +11,8 @@ public static synchronized void cleanCache( ORB orb ) { synchronized (iorMapLock) { diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-07-24 21:31:42.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2013-07-30 18:32:50.141579926 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2014-01-23 23:19:18.000000000 +0000 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java 2014-01-28 11:39:19.697588883 +0000 @@ -1315,7 +1315,7 @@ protected void shutdownServants(boolean wait_for_completion) { Set oaset; @@ -23,8 +23,8 @@ for (ObjectAdapterFactory oaf : oaset) diff -Nru openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java ---- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2013-07-24 21:31:42.000000000 +0100 -+++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2013-07-30 18:32:50.145580045 +0100 +--- openjdk-boot.orig/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2014-01-23 23:19:18.000000000 +0000 ++++ openjdk-boot/corba/src/share/classes/com/sun/corba/se/impl/orbutil/threadpool/ThreadPoolImpl.java 2014-01-28 11:39:19.697588883 +0000 @@ -108,7 +108,7 @@ private ThreadGroup threadGroup; @@ -44,8 +44,8 @@ for (WorkerThread wt : copy) { diff -Nru openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java ---- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-07-12 17:07:55.970380942 +0100 -+++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2013-07-12 17:07:29.097954416 +0100 +--- openjdk-boot.orig/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2014-01-28 11:38:19.384649230 +0000 ++++ openjdk-boot/jaxp/src/com/sun/org/apache/xml/internal/serializer/Encodings.java 2014-01-28 11:39:19.697588883 +0000 @@ -297,8 +297,8 @@ // private final static class EncodingInfos { @@ -66,26 +66,9 @@ while (keys.hasMoreElements()) { final String javaName = (String) keys.nextElement(); final String[] mimes = parseMimeTypes(props.getProperty(javaName)); -diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2013-07-30 18:32:50.149580081 +0100 -@@ -62,9 +62,10 @@ - */ - public final class DocumentHandler extends DefaultHandler { - private final AccessControlContext acc = AccessController.getContext(); -- private final Map> handlers = new HashMap<>(); -- private final Map environment = new HashMap<>(); -- private final List objects = new ArrayList<>(); -+ private final Map> handlers = -+ new HashMap>(); -+ private final Map environment = new HashMap(); -+ private final List objects = new ArrayList(); - - private Reference loader; - private ExceptionListener listener; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2013-07-30 18:32:50.149580081 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/TypeResolver.java 2014-01-28 11:39:19.697588883 +0000 @@ -46,7 +46,7 @@ */ public final class TypeResolver { @@ -104,9 +87,26 @@ prepare(map, actual); CACHE.put(actual, map); } +diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/beans/decoder/DocumentHandler.java 2014-01-28 11:39:19.697588883 +0000 +@@ -63,9 +63,10 @@ + */ + public final class DocumentHandler extends DefaultHandler { + private final AccessControlContext acc = AccessController.getContext(); +- private final Map> handlers = new HashMap<>(); +- private final Map environment = new HashMap<>(); +- private final List objects = new ArrayList<>(); ++ private final Map> handlers = ++ new HashMap>(); ++ private final Map environment = new HashMap(); ++ private final List objects = new ArrayList(); + + private Reference loader; + private ExceptionListener listener; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2013-07-30 18:32:50.153580096 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Attribute.java 2014-01-28 11:39:19.697588883 +0000 @@ -104,9 +104,9 @@ return this.def.compareTo(that.def); } @@ -178,8 +178,8 @@ for (int i = 0; i < layout.length(); i++) { if (layout.charAt(i++) != '[') diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-07-30 18:18:54.056413584 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2013-07-30 18:32:50.157580124 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2014-01-28 11:38:19.400649478 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/BandStructure.java 2014-01-28 11:39:19.697588883 +0000 @@ -257,7 +257,7 @@ assert(basicCodings[_meta_default] == null); assert(basicCodings[_meta_canon_min] != null); @@ -242,8 +242,8 @@ return true; } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-30 18:18:53.968412200 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2013-07-30 18:32:50.161580154 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2014-01-28 11:38:19.296647860 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ClassReader.java 2014-01-28 11:39:19.697588883 +0000 @@ -466,7 +466,7 @@ void readInnerClasses(Class cls) throws IOException { @@ -253,9 +253,21 @@ for (int i = 0; i < nc; i++) { InnerClass ic = new InnerClass(readClassRef(), +diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2014-01-28 11:39:19.701588945 +0000 +@@ -402,7 +402,7 @@ + private static Map codeMap; + + private static synchronized Coding of(int B, int H, int S, int del) { +- if (codeMap == null) codeMap = new HashMap<>(); ++ if (codeMap == null) codeMap = new HashMap(); + Coding x0 = new Coding(B, H, S, del); + Coding x1 = codeMap.get(x0); + if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2013-07-30 18:32:50.161580154 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/CodingChooser.java 2014-01-28 11:39:19.701588945 +0000 @@ -743,9 +743,9 @@ // Steps 1/2/3 are interdependent, and may be iterated. // Steps 4 and 5 may be decided independently afterward. @@ -291,21 +303,9 @@ for (int i = start; i < end; i++) { if (popset.add(values[i])) popvals.add(values[i]); } -diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Coding.java 2013-07-30 18:32:50.165580223 +0100 -@@ -402,7 +402,7 @@ - private static Map codeMap; - - private static synchronized Coding of(int B, int H, int S, int del) { -- if (codeMap == null) codeMap = new HashMap<>(); -+ if (codeMap == null) codeMap = new HashMap(); - Coding x0 = new Coding(B, H, S, del); - Coding x1 = codeMap.get(x0); - if (x1 == null) codeMap.put(x0, x1 = x0); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2013-07-30 18:32:50.169580312 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/ConstantPool.java 2014-01-28 11:39:19.701588945 +0000 @@ -919,7 +919,7 @@ public static Index[] partition(Index ix, int[] keys) { @@ -334,8 +334,8 @@ Entry e = work.previous(); work.remove(); // pop stack diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-07-30 18:18:54.056413584 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2013-07-30 18:32:50.173580385 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2014-01-28 11:38:19.400649478 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Driver.java 2014-01-28 11:39:19.701588945 +0000 @@ -61,7 +61,7 @@ ResourceBundle.getBundle("com.sun.java.util.jar.pack.DriverResource"); @@ -373,8 +373,8 @@ for (String optline : options.split("\n")) { String[] words = optline.split("\\p{Space}+"); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2013-07-30 18:32:50.173580385 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/FixedList.java 2014-01-28 11:39:19.701588945 +0000 @@ -45,7 +45,7 @@ private final ArrayList flist; @@ -385,8 +385,8 @@ for (int i = 0 ; i < capacity ; i++) { flist.add(null); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-07-30 18:18:53.972412262 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2013-07-30 18:32:50.177580449 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2014-01-28 11:38:19.300647921 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Package.java 2014-01-28 11:39:19.701588945 +0000 @@ -112,7 +112,7 @@ public static final Attribute.Layout attrSourceFileSpecial; public static final Map attrDefs; @@ -542,8 +542,8 @@ // Add to the end of ths list: if (!fileSet.contains(cls.file)) diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2013-07-30 18:18:54.060413647 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2013-07-30 18:32:50.181580507 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2014-01-28 11:38:19.400649478 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageReader.java 2014-01-28 11:39:19.701588945 +0000 @@ -686,7 +686,7 @@ cp_Signature_classes.expectLength(getIntTotal(numSigClasses)); cp_Signature_classes.readFrom(in); @@ -657,8 +657,8 @@ ClassEntry thisClass = curClass.thisClass; ClassEntry superClass = curClass.superClass; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2013-07-30 18:18:54.060413647 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2013-07-30 18:32:50.185580566 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2014-01-28 11:38:19.400649478 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackageWriter.java 2014-01-28 11:39:19.701588945 +0000 @@ -116,7 +116,7 @@ int[][] attrCounts; // count attr. occurences @@ -714,8 +714,8 @@ for (Class cls : pkg.classes) { if (!cls.hasInnerClasses()) continue; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2013-07-30 18:32:50.185580566 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PackerImpl.java 2014-01-28 11:39:19.701588945 +0000 @@ -183,8 +183,8 @@ final Map attrDefs; final Map attrCommands; @@ -746,8 +746,8 @@ for (JarEntry je : Collections.list(jf.entries())) { InFile inFile = new InFile(jf, je); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2013-07-30 18:32:50.189580623 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PopulationCoding.java 2014-01-28 11:39:19.701588945 +0000 @@ -309,7 +309,7 @@ // As each new value is added, we assert that the value // was not already in the set. @@ -758,8 +758,8 @@ maxForDebug += fillp; int min = Integer.MIN_VALUE; // farthest from the center diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2013-07-30 18:18:54.060413647 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2013-07-30 18:32:50.193580683 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2014-01-28 11:38:19.400649478 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/PropMap.java 2014-01-28 11:39:19.701588945 +0000 @@ -48,8 +48,8 @@ */ @@ -790,8 +790,8 @@ while (res.remove(null)); return res; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2013-07-30 18:32:50.193580683 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/TLGlobals.java 2014-01-28 11:39:19.701588945 +0000 @@ -58,12 +58,12 @@ private final Map memberEntries; @@ -812,8 +812,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2013-07-30 18:18:54.060413647 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2013-07-30 18:32:50.197580747 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2014-01-28 11:38:19.404649541 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java 2014-01-28 11:39:19.701588945 +0000 @@ -233,7 +233,7 @@ props.setProperty(java.util.jar.Pack200.Unpacker.PROGRESS,"50"); pkg.ensureAllClassFiles(); @@ -824,8 +824,8 @@ String name = file.nameString; JarEntry je = new JarEntry(Utils.getJarEntryName(name)); diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2013-07-30 18:18:54.060413647 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2013-07-30 18:32:50.201580815 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2014-01-28 11:38:19.404649541 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/java/util/jar/pack/Utils.java 2014-01-28 11:39:19.701588945 +0000 @@ -132,7 +132,7 @@ // Keep a TLS point to the global data and environment. // This makes it simpler to supply environmental options @@ -836,8 +836,8 @@ // convenience methods to access the TL globals static TLGlobals getTLGlobals() { diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java 2013-07-30 18:32:50.625587499 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/AbstractLine.java 2014-01-28 11:39:19.701588945 +0000 @@ -54,7 +54,7 @@ * Contains event dispatcher per thread group. */ @@ -848,8 +848,8 @@ /** * Constructs a new AbstractLine. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java 2013-07-30 18:32:50.625587499 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/media/sound/RealTimeSequencer.java 2014-01-28 11:39:19.701588945 +0000 @@ -59,7 +59,7 @@ * dispatcher instance with a factory in EventDispatcher */ @@ -860,8 +860,8 @@ /** * All RealTimeSequencers share this info object. diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java 2013-07-30 18:32:50.201580815 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecOptionPermission.java 2014-01-28 11:39:19.701588945 +0000 @@ -231,7 +231,7 @@ * Create an empty ExecOptionPermissionCollection. */ @@ -872,8 +872,8 @@ } diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java 2013-07-30 18:32:50.205580881 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rmi/rmid/ExecPermission.java 2014-01-28 11:39:19.701588945 +0000 @@ -235,7 +235,7 @@ * Create an empty ExecPermissionCollection. */ @@ -884,8 +884,8 @@ /** diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2013-07-30 18:32:50.209580944 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/CachedRowSetImpl.java 2014-01-28 11:39:19.705589008 +0000 @@ -1284,7 +1284,7 @@ */ public Collection toCollection() throws SQLException { @@ -905,8 +905,8 @@ // create a copy CachedRowSetImpl crsTemp; diff -Nru openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java ---- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2013-07-24 21:32:02.000000000 +0100 -+++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2013-07-30 18:32:50.213581007 +0100 +--- openjdk-boot.orig/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2014-01-23 23:19:20.000000000 +0000 ++++ openjdk-boot/jdk/src/share/classes/com/sun/rowset/JoinRowSetImpl.java 2014-01-28 11:39:19.705589008 +0000 @@ -222,7 +222,7 @@ // either of the setter methods have been set. if(boolColId){ @@ -916,9 +916,21 @@ for(int i=0;i References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 --- Comment #8 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=ceec45b60d01 author: Andrew John Hughes date: Tue Jan 28 15:37:59 2014 +0000 Bring in non-security changes from u51b31, plus PR1653 & PR1654. 2014-01-28 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Set to b31. (CORBA_CHANGESET): Update to IcedTea 2.4 HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * hotspot.map: Update to IcedTea 2.4 HEAD. * patches/boot/ecj-diamond.patch: Regenerated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/7aee6011/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Jan 28 07:38:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 28 Jan 2014 15:38:38 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.4?cmd=changeset;node=ceec45b60d01 author: Andrew John Hughes date: Tue Jan 28 15:37:59 2014 +0000 Bring in non-security changes from u51b31, plus PR1653 & PR1654. 2014-01-28 Andrew John Hughes * Makefile.am: (BUILD_VERSION): Set to b31. (CORBA_CHANGESET): Update to IcedTea 2.4 HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. * NEWS: Updated. * hotspot.map: Update to IcedTea 2.4 HEAD. * patches/boot/ecj-diamond.patch: Regenerated. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/581dbe2c/attachment.html From andrew at icedtea.classpath.org Tue Jan 28 10:32:56 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 18:32:56 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: RH1015432: java-1.7.0-o... Message-ID: changeset 2cb58882dac3 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=2cb58882dac3 author: andrew date: Tue Jan 28 17:58:08 2014 +0000 RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError Contributed-by: chphilli at redhat.com diffstat: src/os/linux/vm/os_linux.cpp | 10 +++++++++- 1 files changed, 9 insertions(+), 1 deletions(-) diffs (20 lines): diff -r cbeecad5efcb -r 2cb58882dac3 src/os/linux/vm/os_linux.cpp --- a/src/os/linux/vm/os_linux.cpp Thu Jan 23 22:41:21 2014 +0000 +++ b/src/os/linux/vm/os_linux.cpp Tue Jan 28 17:58:08 2014 +0000 @@ -4612,7 +4612,15 @@ // class initialization depending on 32 or 64 bit VM. os::Linux::min_stack_allowed = MAX2(os::Linux::min_stack_allowed, (size_t)(StackYellowPages+StackRedPages+StackShadowPages) * Linux::page_size() + - (2*BytesPerWord COMPILER2_PRESENT(+1)) * Linux::vm_default_page_size()); + (2*BytesPerWord COMPILER2_PRESENT(+1)) + * +#ifdef PPC + NOT_ZERO ( Linux::vm_default_page_size() ) + ZERO_ONLY ( Linux::page_size() ) +#else + ( Linux::vm_default_page_size() ) +#endif + ); size_t threadStackSizeInBytes = ThreadStackSize * K; if (threadStackSizeInBytes != 0 && From andrew at icedtea.classpath.org Tue Jan 28 10:33:06 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 28 Jan 2014 18:33:06 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: RH910107: fail to load PC/S... Message-ID: changeset 9db88c18e114 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=9db88c18e114 author: andrew date: Tue Jan 28 18:02:26 2014 +0000 RH910107: fail to load PC/SC library Contributed-by: sgehwolf at redhat.com diffstat: src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (14 lines): diff -r a74c2e4a756b -r 9db88c18e114 src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java --- a/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java Thu Jan 23 23:19:20 2014 +0000 +++ b/src/solaris/classes/sun/security/smartcardio/PlatformPCSC.java Tue Jan 28 18:02:26 2014 +0000 @@ -48,8 +48,8 @@ private final static String PROP_NAME = "sun.security.smartcardio.library"; - private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so"; - private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so"; + private final static String LIB1 = "/usr/$LIBISA/libpcsclite.so.1"; + private final static String LIB2 = "/usr/local/$LIBISA/libpcsclite.so.1"; private final static String PCSC_FRAMEWORK = "/System/Library/Frameworks/PCSC.framework/Versions/Current/PCSC"; PlatformPCSC() { From aazores at redhat.com Tue Jan 28 10:45:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 28 Jan 2014 13:45:33 -0500 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E6E2D2.3080009@gmx.de> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E67B66.1080805@redhat.com> <52E6E2D2.3080009@gmx.de> Message-ID: <52E7FACD.3010809@redhat.com> On 01/27/2014 05:50 PM, Jacob Wisor wrote: > But, you *should* probably change the call from > Class.getDeclaredMethod() to Class.getMethod() because > Class.getDeclaredMethod() assumes access to all, including non-public > methods which causes a SecurityManager.checkMemberAccess(). This may > lead to failure if the default SecurityManager is set. > Class.getMethod() by definition accesses public members only hence it > will not error out even with the default SecurityManager set (unless > configured to deny access to public members). Or, has > Class.getDeclaredMethod() been intentional too? > > Jacob No, to be honest I didn't put a whole lot of thought into which to choose here. I don't think I had any particular reasoning for choosing getDeclaredMethod, it just happened. This I think is a good enough change to warrant a new commit, along with making other local variables and formal params final where they can be (which is pretty much everywhere in this class), adding a class-level Javadoc, and older PolicyTool package fallback. The backport patch is included here as well, because it also incorporates these suggestions of course. Seems better to keep these two patches in the same place since the code review between them should be just about identical (other than the change to accommodate lack of DirectoryValidator, they are identical). Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-backport-full.patch Type: text/x-patch Size: 20947 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/cb2ae607/custompolicy-backport-full-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: custompolicy-touchup.patch Type: text/x-patch Size: 8166 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140128/cb2ae607/custompolicy-touchup-0001.patch From gitne at gmx.de Tue Jan 28 14:29:20 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 28 Jan 2014 23:29:20 +0100 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E7FACD.3010809@redhat.com> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E67B66.1080805@redhat.com> <52E6E2D2.3080009@gmx.de> <52E7FACD.3010809@redhat.com> Message-ID: <52E82F40.9070409@gmx.de> On 01/28/2014 07:45 PM, Andrew Azores wrote: > On 01/27/2014 05:50 PM, Jacob Wisor wrote: >> But, you *should* probably change the call from Class.getDeclaredMethod() to >> Class.getMethod() because Class.getDeclaredMethod() assumes access to all, >> including non-public methods which causes a >> SecurityManager.checkMemberAccess(). This may lead to failure if the default >> SecurityManager is set. Class.getMethod() by definition accesses public >> members only hence it will not error out even with the default SecurityManager >> set (unless configured to deny access to public members). Or, has >> Class.getDeclaredMethod() been intentional too? >> >> Jacob > > No, to be honest I didn't put a whole lot of thought into which to choose here. > I don't think I had any particular reasoning for choosing getDeclaredMethod, it > just happened. This I think is a good enough change to warrant a new commit, > along with making other local variables and formal params final where they can > be (which is pretty much everywhere in this class), adding a class-level > Javadoc, and older PolicyTool package fallback. > > The backport patch is included here as well, because it also incorporates these > suggestions of course. Seems better to keep these two patches in the same place > since the code review between them should be just about identical (other than > the change to accommodate lack of DirectoryValidator, they are identical). Looks good to me. Just a few last nits: + final JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); + + final String fileUrlString = config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY); + final JButton showUserPolicyButton = new JButton(R("CPButPolicy")); + showUserPolicyButton.addActionListener(new ViewPolicyButtonAction(frame, fileUrlString)); + + final String pathPart = localFilePathFromUrlString(fileUrlString); + showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); + + final JTextField locationField = new JTextField(pathPart); + locationField.setEditable(false); This is not wrong but often, every time a UI class needs to receive refactoring and some methods need to be added, developers end up declaring references to components this class handles as fields. This becomes necessary in order to share those components between methods. Or, they need to be accessed after initialization. Sure, sometimes they can be provided via formal parameters to those methods during initialization, but sometimes they just can't, so the only way to share them is to store their references in fields, hence double work. This would not be a problem if components were easily unambiguously retrievable via names or some other sort of keys from the current object, but unfortunately this is not the case. So please consider declaring aboutLabel, showUserPolicyButton, and locationField as fields. I am aware that many other IcedTea-Web's UI classes have been coded this way but this is not actually an example of best practice. I am also aware that this coding technique helps to save some memory at run-time but imho the increased maintainability of code greatly outweighs any marginal memory savings it offers. + } catch (Exception e) { Hmm, I would honestly be more happy if we would be catching explicitly named exceptions here. + e.printStackTrace(); + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); + } + } + } + }).start(); + } + [...] + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { Same goes here, throw explicit exceptions. But I do not insist. + private static String localFilePathFromUrlString(final String url) { + try { + final URL u = new URL(url); + return u.getPath(); + } catch (MalformedURLException e) { + return url; This should probably return null, an empty string, or even escalate this MalformedURLException. Otherwise looks good. Jacob From andrew at icedtea.classpath.org Wed Jan 29 02:03:55 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:03:55 +0000 Subject: /hg/release/icedtea7-forest-2.4: Added tag icedtea-2.4.5 for cha... Message-ID: changeset 0af208754134 in /hg/release/icedtea7-forest-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4?cmd=changeset;node=0af208754134 author: andrew date: Wed Jan 29 10:01:15 2014 +0000 Added tag icedtea-2.4.5 for changeset 410eb7fef869 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 410eb7fef869 -r 0af208754134 .hgtags --- a/.hgtags Fri Jan 17 20:22:44 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:15 2014 +0000 @@ -408,3 +408,4 @@ 573c4cfca7dda548463bb84330bddfd07fe1183f jdk7u51-b11 df53ec7eb789e7dec375a685dce1fa5cf63618b4 jdk7u51-b12 6c778574d87336a2e55156544af92ce2de799696 jdk7u51-b13 +410eb7fef869645524ebb08293da1ba6215e5ce9 icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:03 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:03 +0000 Subject: /hg/release/icedtea7-forest-2.4/corba: Added tag icedtea-2.4.5 f... Message-ID: changeset 48ef1bb6d120 in /hg/release/icedtea7-forest-2.4/corba details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/corba?cmd=changeset;node=48ef1bb6d120 author: andrew date: Wed Jan 29 10:01:16 2014 +0000 Added tag icedtea-2.4.5 for changeset 3594dbde270d diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 3594dbde270d -r 48ef1bb6d120 .hgtags --- a/.hgtags Thu Jan 23 23:19:18 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:16 2014 +0000 @@ -410,3 +410,4 @@ a26d0e8ab1027e70ae1ded8ede0086a0a4a10256 jdk7u51-b11 55a509ccc0e4ed49e311c7ecf2ed29a908bc1d6b jdk7u51-b12 e2f0036f712aa636cfd55334ac21ea7ca2587a7b jdk7u51-b13 +3594dbde270d68920afc5ee862d10f14c2a87dc8 icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:10 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:10 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxp: Added tag icedtea-2.4.5 fo... Message-ID: changeset e0ba4b9a8b91 in /hg/release/icedtea7-forest-2.4/jaxp details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxp?cmd=changeset;node=e0ba4b9a8b91 author: andrew date: Wed Jan 29 10:01:17 2014 +0000 Added tag icedtea-2.4.5 for changeset 8fe156ad49e2 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 8fe156ad49e2 -r e0ba4b9a8b91 .hgtags --- a/.hgtags Fri Jan 17 20:22:46 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:17 2014 +0000 @@ -410,3 +410,4 @@ 70b5691c44d2830efd4301856e6223fa43894462 jdk7u51-b11 807946db29f42477e8d8390be01c7e27280bc85c jdk7u51-b12 114654a331e2f97a048d7ed43d06d7512e20e2c1 jdk7u51-b13 +8fe156ad49e2db0e5034ffda4649e801b9c315da icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:18 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:18 +0000 Subject: /hg/release/icedtea7-forest-2.4/jaxws: Added tag icedtea-2.4.5 f... Message-ID: changeset 4bd947cd146b in /hg/release/icedtea7-forest-2.4/jaxws details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jaxws?cmd=changeset;node=4bd947cd146b author: andrew date: Wed Jan 29 10:01:18 2014 +0000 Added tag icedtea-2.4.5 for changeset 32ea8b1ed91a diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 32ea8b1ed91a -r 4bd947cd146b .hgtags --- a/.hgtags Fri Jan 17 20:22:47 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:18 2014 +0000 @@ -410,3 +410,4 @@ 708507f4795cad1f0cf7e19ff2dc16fe9d441754 jdk7u51-b11 7c7c2ea4b6808d0abf7fd48d11440d75b0c08d3a jdk7u51-b12 81a1b110f70c37d2c2f0de7c0ef3bd2d04aba475 jdk7u51-b13 +32ea8b1ed91a12ac4633d596f0713c2c67930874 icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:26 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:26 +0000 Subject: /hg/release/icedtea7-forest-2.4/langtools: Added tag icedtea-2.4... Message-ID: changeset 06eeb77dac24 in /hg/release/icedtea7-forest-2.4/langtools details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/langtools?cmd=changeset;node=06eeb77dac24 author: andrew date: Wed Jan 29 10:01:19 2014 +0000 Added tag icedtea-2.4.5 for changeset dabd37b7e295 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r dabd37b7e295 -r 06eeb77dac24 .hgtags --- a/.hgtags Fri Jan 17 20:22:48 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:19 2014 +0000 @@ -410,3 +410,4 @@ c9d8d8793d9330d592190c334260ccf26c986df6 jdk7u51-b11 5b44df2114e466da85c3816627bfcd1b59c6499d jdk7u51-b12 4d0807934c302f2e35e6a5acc6cdc720c82b5671 jdk7u51-b13 +dabd37b7e2950b42c1c9550caea26522348cd7b4 icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:33 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:33 +0000 Subject: /hg/release/icedtea7-forest-2.4/hotspot: Added tag icedtea-2.4.5... Message-ID: changeset 2c97070e5af4 in /hg/release/icedtea7-forest-2.4/hotspot details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot?cmd=changeset;node=2c97070e5af4 author: andrew date: Wed Jan 29 10:01:21 2014 +0000 Added tag icedtea-2.4.5 for changeset 2cb58882dac3 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 2cb58882dac3 -r 2c97070e5af4 .hgtags --- a/.hgtags Tue Jan 28 17:58:08 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:21 2014 +0000 @@ -623,3 +623,4 @@ 1f11dff734af98f5bf11d4fceeda221ab1416971 jdk7u51-b11 dee2a38ef6b26534c44c550ef4da2c3146c612c2 jdk7u51-b12 6c6a2299029ad02fa2820b8ff8c61c2bbcae799c jdk7u51-b13 +2cb58882dac3bf8b186ef15f847be926772bbf98 icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:04:41 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:04:41 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: Added tag icedtea-2.4.5 for... Message-ID: changeset 3bf3a83fe500 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=3bf3a83fe500 author: andrew date: Wed Jan 29 10:01:29 2014 +0000 Added tag icedtea-2.4.5 for changeset 9db88c18e114 diffstat: .hgtags | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (8 lines): diff -r 9db88c18e114 -r 3bf3a83fe500 .hgtags --- a/.hgtags Tue Jan 28 18:02:26 2014 +0000 +++ b/.hgtags Wed Jan 29 10:01:29 2014 +0000 @@ -401,3 +401,4 @@ f0425ecbbb0ca9d8c87c250c19e8f9524b38833d jdk7u51-b11 f5eee4f1d5b4a1e19febc9c26c863ae853ed6d2e jdk7u51-b12 d19a89fdfb9b959b8638441d9d396685d6c7ab7b jdk7u51-b13 +9db88c18e114006dc242d1ba31683cbdb6151a5d icedtea-2.4.5 From andrew at icedtea.classpath.org Wed Jan 29 02:08:08 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 29 Jan 2014 10:08:08 +0000 Subject: /hg/release/icedtea7-2.4: 4 new changesets Message-ID: changeset 44af6a27a72e in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=44af6a27a72e author: Andrew John Hughes date: Tue Jan 28 16:51:34 2014 +0000 Prepare for 2.4.5 release. 2014-01-28 Andrew John Hughes * configure.ac: Bump to 2.4.5. * NEWS: Set release date to today. changeset 144bfcda1e60 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=144bfcda1e60 author: Andrew John Hughes date: Wed Jan 29 08:26:57 2014 +0000 RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError RH910107: fail to load PC/SC library 2014-01-29 Andrew John Hughes * Makefile.am, (JDK_CHANGESET): Update to IcedTea 2.4 HEAD. (JDK_SHA256SUM): Likewise. * NEWS: Mention RH1015432 & RH910107. * hotspot.map: Update to IcedTea 2.4 HEAD. changeset 4bfa1c865fdd in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=4bfa1c865fdd author: Andrew John Hughes date: Wed Jan 29 08:27:29 2014 +0000 Bump release date to today. 2014-01-29 Andrew John Hughes * NEWS: Bump release date to today. changeset 7449e5c8ae77 in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=7449e5c8ae77 author: Andrew John Hughes date: Wed Jan 29 10:07:59 2014 +0000 Added tag icedtea-2.4.5 for changeset 4bfa1c865fdd diffstat: .hgtags | 1 + ChangeLog | 17 +++++++++++++++++ Makefile.am | 4 ++-- NEWS | 4 +++- configure.ac | 2 +- hotspot.map | 2 +- 6 files changed, 25 insertions(+), 5 deletions(-) diffs (89 lines): diff -r ceec45b60d01 -r 7449e5c8ae77 .hgtags --- a/.hgtags Tue Jan 28 15:37:59 2014 +0000 +++ b/.hgtags Wed Jan 29 10:07:59 2014 +0000 @@ -40,3 +40,4 @@ 0fd63b23c711d9892bf565e309789517983d2728 icedtea-2.4.2 3dd8c1e3a5b3827f1843a78a017c57d0ed45f2c0 icedtea-2.4.3 73ef620ce0a5d16d5c90e58eb17d022c1ecb572e icedtea-2.4.4 +4bfa1c865fdd3d385c3bdf7a7c8611f80d42029d icedtea-2.4.5 diff -r ceec45b60d01 -r 7449e5c8ae77 ChangeLog --- a/ChangeLog Tue Jan 28 15:37:59 2014 +0000 +++ b/ChangeLog Wed Jan 29 10:07:59 2014 +0000 @@ -1,3 +1,20 @@ +2014-01-29 Andrew John Hughes + + * NEWS: Bump release date to today. + +2014-01-29 Andrew John Hughes + + * Makefile.am, + (JDK_CHANGESET): Update to IcedTea 2.4 HEAD. + (JDK_SHA256SUM): Likewise. + * NEWS: Mention RH1015432 & RH910107. + * hotspot.map: Update to IcedTea 2.4 HEAD. + +2014-01-28 Andrew John Hughes + + * configure.ac: Bump to 2.4.5. + * NEWS: Set release date to today. + 2014-01-28 Andrew John Hughes * Makefile.am: diff -r ceec45b60d01 -r 7449e5c8ae77 Makefile.am --- a/Makefile.am Tue Jan 28 15:37:59 2014 +0000 +++ b/Makefile.am Wed Jan 29 10:07:59 2014 +0000 @@ -7,14 +7,14 @@ CORBA_CHANGESET = 3594dbde270d JAXP_CHANGESET = 8fe156ad49e2 JAXWS_CHANGESET = 32ea8b1ed91a -JDK_CHANGESET = a74c2e4a756b +JDK_CHANGESET = 9db88c18e114 LANGTOOLS_CHANGESET = dabd37b7e295 OPENJDK_CHANGESET = 410eb7fef869 CORBA_SHA256SUM = d1f97e143fe94ae3a56b45bb5a90f8ab10ec2be4ff770a788f0a1ac677e27a7d JAXP_SHA256SUM = 0a2a40186cedfbeb8f87b0bc86bea2830943943081d4289fc74f7a783b2e1af3 JAXWS_SHA256SUM = 08a169b6b02883759ec7a412aa91aa3e37480761cb50b95d092dbcdb2fc9a3d0 -JDK_SHA256SUM = 1755a0c0439c7b8e0552ece4e24686ecfd64ef886dea0622e0b9f224103674ae +JDK_SHA256SUM = 285e5b8ccbb29f3f9f9ea9ea7856d1ed97465c57d091fbcd9b2e55a1ffbb543e LANGTOOLS_SHA256SUM = 86cb370ce2084c4b699d8c002ebe6c026e86206ffa82a2f3d7906aadb94ed79f OPENJDK_SHA256SUM = 2de151c7275d91ef082e63fcc0957c5f9290404ec6e20ecfa1e752e16bfab707 diff -r ceec45b60d01 -r 7449e5c8ae77 NEWS --- a/NEWS Tue Jan 28 15:37:59 2014 +0000 +++ b/NEWS Wed Jan 29 10:07:59 2014 +0000 @@ -12,7 +12,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.4.5 (2014-01-XX): +New in release 2.4.5 (2014-01-29): * Backports - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions @@ -47,6 +47,8 @@ - Fix broken bootstrap build by updating ecj-multicatch.patch - PR1653: Support ppc64le via Zero - PR1654: ppc32 needs a larger ThreadStackSize to build + - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError + - RH910107: fail to load PC/SC library New in release 2.4.4 (2014-01-14): diff -r ceec45b60d01 -r 7449e5c8ae77 configure.ac --- a/configure.ac Tue Jan 28 15:37:59 2014 +0000 +++ b/configure.ac Wed Jan 29 10:07:59 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.5pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.5], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) diff -r ceec45b60d01 -r 7449e5c8ae77 hotspot.map --- a/hotspot.map Tue Jan 28 15:37:59 2014 +0000 +++ b/hotspot.map Wed Jan 29 10:07:59 2014 +0000 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot cbeecad5efcb 511d0337cf8ab6cfbd9b7d9a5a2dd2a19bad01eb11b33e947154b95ddb46ab0e +default http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/hotspot 2cb58882dac3 d8c1681ae76e660c1888065933cedbbc1309869c7a2fb98f07c424716d5ebaf9 From gnu_andrew at member.fsf.org Wed Jan 29 02:47:50 2014 From: gnu_andrew at member.fsf.org (Andrew Hughes) Date: Wed, 29 Jan 2014 10:47:50 +0000 Subject: IcedTea 2.4.5 Released! Message-ID: <20140129104750.GA8373@carrie.the212.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release synchronises our OpenJDK 7 support in the 2.4.x series with the upstream u51 b31 tag, fixes the bootstrap issues with the 2.4.4 release and adds in a couple of recent bug fixes. If you find an issue with the release, please report it to our bug database (http://icedtea.classpath.org/bugzilla) under the appropriate component. Development discussion takes place on the distro-pkg-dev at openjdk.java.net mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 2.4.5 (2014-01-29): * Backports - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option - S8022868: missing codepage Cp290 at java runtime - S8023310: Thread contention in the method Beans.IsDesignTime() - S8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test - S8025679: Increment minor version of HSx for 7u51 and initialize the build number - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris - S8026304: jarsigner output bad grammar - S8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing - S8026887: Make issues due to failed large pages allocations easier to debug - S8027204: Revise the update of 8026204 and 8025758 - S8027224: test regression - ClassNotFoundException - S8027370: Support tzdata2013h - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 - S8027787: 7u51 l10n resource file translation update 1 - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 - S8027944: Increment hsx 24.51 build to b02 for 7u51-b07 - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications - S8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue - S8028111: XML readers share the same entity expansion counter - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB - S8028293: Check local configuration for actual ephemeral port range - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) - S8028823: java/net/Makefile tabs converted to spaces - S8029038: Revise fix for XML readers share the same entity expansion counter - S8029842: Increment hsx 24.51 build to b03 for 7u51-b11 * Bug fixes - Fix broken bootstrap build by updating ecj-multicatch.patch - PR1653: Support ppc64le via Zero - PR1654: ppc32 needs a larger ThreadStackSize to build - RH1015432: Fails on PPC with StackOverflowError - RH910107: fail to load PC/SC library The tarball can be downloaded from: http://icedtea.classpath.org/download/source/icedtea-2.4.5.tar.gz or: http://icedtea.classpath.org/download/source/icedtea-2.4.5.tar.xz For the first time, we provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea-2.4.5.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea-2.4.5.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: 10c08eeffaa0602b23cb957a2595a2ad3ab474cbe47b12743bbdd79037d5883d icedtea-2.4.5.tar.gz 5e3d848231193010339ecda3468a512ddf38802fdc1f9942f49c3a380816175e icedtea-2.4.5.tar.gz.sig d3f96413c77efa400947d1c5e85bb55fdb0c36d0adb8802f0ca2b283855d305b icedtea-2.4.5.tar.xz ad5941a217db86f5ce7197e94ca15dbfeeeb0fdaca9158469b6f88ea8ca8d99f icedtea-2.4.5.tar.xz.sig The following people helped with these releases: * Severin Gehwolf (RH910107) * Andrew Hughes (OpenJDK synchronisation, bootstrap fix & release management) * Matthias Klose (PR1653) * Chris Phillips (PR1654, RH910107) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea-2.4.5.tar.gz or: $ tar x -I xz -f icedtea-2.4.5.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea-2.4.5/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/2b8b2a44/attachment.bin From ptisnovs at icedtea.classpath.org Wed Jan 29 03:37:25 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 29 Jan 2014 11:37:25 +0000 Subject: /hg/gfx-test: New tests added into CAGOperationsOnTwoConcentricC... Message-ID: changeset 4d96b464d9a8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=4d96b464d9a8 author: Pavel Tisnovsky date: Wed Jan 29 12:41:42 2014 +0100 New tests added into CAGOperationsOnTwoConcentricCircles test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java | 127 +++++++++- 2 files changed, 131 insertions(+), 1 deletions(-) diffs (156 lines): diff -r 2da99235dc05 -r 4d96b464d9a8 ChangeLog --- a/ChangeLog Tue Jan 28 10:19:36 2014 +0100 +++ b/ChangeLog Wed Jan 29 12:41:42 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-29 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: + New tests added into CAGOperationsOnTwoConcentricCircles test suite. + 2014-01-28 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: diff -r 2da99235dc05 -r 4d96b464d9a8 src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Tue Jan 28 10:19:36 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java Wed Jan 29 12:41:42 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2010, 2011 Red Hat + Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1109,6 +1109,131 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testSubtractTextureFillUsingDiagonalCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalCheckerTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using inverse subtract operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractTextureFillUsingDiagonalCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalCheckerTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingInverseSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using intersect operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectTextureFillUsingDiagonalCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalCheckerTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using Xor operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorTextureFillUsingDiagonalCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingDiagonalCheckerTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingXorOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two concentric circles using union operator. The shape is rendered + * using texture paint (fill). + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testUnionTextureFillUsingGridTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingGridTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoConcentricCirclesUsingUnionOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Wed Jan 29 03:44:48 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 29 Jan 2014 11:44:48 +0000 Subject: /hg/rhino-tests: Enhancement of the test testGetResourceAsStream... Message-ID: changeset a0ecef720764 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=a0ecef720764 author: Pavel Tisnovsky date: Wed Jan 29 12:48:57 2014 +0100 Enhancement of the test testGetResourceAsStreamNegativeTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/SimpleBindingsClassTest.java | 218 +++++++++++++++++++++++- 2 files changed, 222 insertions(+), 1 deletions(-) diffs (254 lines): diff -r 73503cadcb15 -r a0ecef720764 ChangeLog --- a/ChangeLog Tue Jan 28 10:47:26 2014 +0100 +++ b/ChangeLog Wed Jan 29 12:48:57 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-29 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Enhancement of the test testGetResourceAsStreamNegativeTest. + 2014-01-28 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineManagerClassTest.java: diff -r 73503cadcb15 -r a0ecef720764 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Tue Jan 28 10:47:26 2014 +0100 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Wed Jan 29 12:48:57 2014 +0100 @@ -1,7 +1,7 @@ /* Rhino test framework - Copyright (C) 2011, 2012, 2013 Red Hat + Copyright (C) 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1468,6 +1468,214 @@ } try { + this.simpleBindingsClass.asSubclass(java.awt.Label.class); + throw new AssertionError("Class.asSubclass(java.awt.Label.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.List.class); + throw new AssertionError("Class.asSubclass(java.awt.List.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.awt.Menu.class); + throw new AssertionError("Class.asSubclass(java.awt.Menu.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.File.class); + throw new AssertionError("Class.asSubclass(java.io.File.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.Reader.class); + throw new AssertionError("Class.asSubclass(java.io.Reader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.Writer.class); + throw new AssertionError("Class.asSubclass(java.io.Writer.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.StringReader.class); + throw new AssertionError("Class.asSubclass(java.io.StringReader.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.StringWriter.class); + throw new AssertionError("Class.asSubclass(java.io.StringWriter.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.InputStream.class); + throw new AssertionError("Class.asSubclass(java.io.InputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.OutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.OutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.ObjectInputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectInputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.io.ObjectOutputStream.class); + throw new AssertionError("Class.asSubclass(java.io.ObjectOutputStream.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.math.BigDecimal.class); + throw new AssertionError("Class.asSubclass(java.math.BigDecimal.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.math.BigInteger.class); + throw new AssertionError("Class.asSubclass(java.math.BigInteger.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.ArrayList.class); + throw new AssertionError("Class.asSubclass(java.util.ArrayList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.LinkedList.class); + throw new AssertionError("Class.asSubclass(java.util.LinkedList.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.HashMap.class); + throw new AssertionError("Class.asSubclass(java.util.HashMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.TreeMap.class); + throw new AssertionError("Class.asSubclass(java.util.TreeMap.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.HashSet.class); + throw new AssertionError("Class.asSubclass(java.util.HashSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.TreeSet.class); + throw new AssertionError("Class.asSubclass(java.util.TreeSet.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Stack.class); + throw new AssertionError("Class.asSubclass(java.util.Stack.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Vector.class); + throw new AssertionError("Class.asSubclass(java.util.Vector.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Hashtable.class); + throw new AssertionError("Class.asSubclass(java.util.Hashtable.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Calendar.class); + throw new AssertionError("Class.asSubclass(java.util.Calendar.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Arrays.class); + throw new AssertionError("Class.asSubclass(java.util.Arrays.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.asSubclass(java.util.Collections.class); + throw new AssertionError("Class.asSubclass(java.util.Collections.class) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleBindingsClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1554,6 +1762,14 @@ } try { + this.simpleBindingsClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleBindingsClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } From aazores at redhat.com Wed Jan 29 07:03:23 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 29 Jan 2014 10:03:23 -0500 Subject: /hg/icedtea-web: Improve PolicyTool launch method in PolicyPanel In-Reply-To: <52E82F40.9070409@gmx.de> References: <52E2991C.1020606@gmx.de> <52E66F94.9010901@redhat.com> <52E67B66.1080805@redhat.com> <52E6E2D2.3080009@gmx.de> <52E7FACD.3010809@redhat.com> <52E82F40.9070409@gmx.de> Message-ID: <52E9183B.405@redhat.com> On 01/28/2014 05:29 PM, Jacob Wisor wrote: > On 01/28/2014 07:45 PM, Andrew Azores wrote: >> On 01/27/2014 05:50 PM, Jacob Wisor wrote: >>> But, you *should* probably change the call from >>> Class.getDeclaredMethod() to >>> Class.getMethod() because Class.getDeclaredMethod() assumes access >>> to all, >>> including non-public methods which causes a >>> SecurityManager.checkMemberAccess(). This may lead to failure if the >>> default >>> SecurityManager is set. Class.getMethod() by definition accesses public >>> members only hence it will not error out even with the default >>> SecurityManager >>> set (unless configured to deny access to public members). Or, has >>> Class.getDeclaredMethod() been intentional too? >>> >>> Jacob >> >> No, to be honest I didn't put a whole lot of thought into which to >> choose here. >> I don't think I had any particular reasoning for choosing >> getDeclaredMethod, it >> just happened. This I think is a good enough change to warrant a new >> commit, >> along with making other local variables and formal params final where >> they can >> be (which is pretty much everywhere in this class), adding a class-level >> Javadoc, and older PolicyTool package fallback. >> >> The backport patch is included here as well, because it also >> incorporates these >> suggestions of course. Seems better to keep these two patches in the >> same place >> since the code review between them should be just about identical >> (other than >> the change to accommodate lack of DirectoryValidator, they are >> identical). > > Looks good to me. Just a few last nits: > > + final JLabel aboutLabel = new JLabel("" + > R("CPPolicyDetail") + ""); > + > + final String fileUrlString = > config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY); > + final JButton showUserPolicyButton = new > JButton(R("CPButPolicy")); > + showUserPolicyButton.addActionListener(new > ViewPolicyButtonAction(frame, fileUrlString)); > + > + final String pathPart = > localFilePathFromUrlString(fileUrlString); > + showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", > FileUtils.displayablePath(pathPart, 60))); > + > + final JTextField locationField = new JTextField(pathPart); > + locationField.setEditable(false); > > This is not wrong but often, every time a UI class needs to receive > refactoring and some methods need to be added, developers end up > declaring references to components this class handles as fields. This > becomes necessary in order to share those components between methods. > Or, they need to be accessed after initialization. Sure, sometimes > they can be provided via formal parameters to those methods during > initialization, but sometimes they just can't, so the only way to > share them is to store their references in fields, hence double work. > This would not be a problem if components were easily unambiguously > retrievable via names or some other sort of keys from the current > object, but unfortunately this is not the case. So please consider > declaring aboutLabel, showUserPolicyButton, and locationField as > fields. I am aware that many other IcedTea-Web's UI classes have been > coded this way but this is not actually an example of best practice. I > am also aware that this coding technique helps to save some memory at > run-time but imho the increased maintainability of code greatly > outweighs any marginal memory savings it offers. > Eh, right now it's not needed at all since the purpose of the panel is really just to give a button for launching an editor. If some maintainer in the future needs the class refactored that way, then it shouldn't be much extra work to do it at that time to just extract those three variables into fields as needed. I don't disagree that it might be more maintainable if they were fields and that the memory savings this way are completely inconsequential, but I'd like to avoid having this patch end up in infinite review ;) > > + } catch (Exception e) { > > Hmm, I would honestly be more happy if we would be catching explicitly > named exceptions here. > > + e.printStackTrace(); > + showCouldNotOpenFileDialog(frame, filePath, > R("CPPolicyEditorNotFound")); > + } > + } > + } > + }).start(); > + } > + > [...] > + private static void reflectivePolicyToolLaunch(final String > filePath) throws Exception { > > Same goes here, throw explicit exceptions. But I do not insist. Yea, if only we were using source level 7, then I could generalize this to ReflectiveOperationException. Unfortunately in 6 the best I can do is Exception. So it's either live with Exception or have four different handlers, each doing the exact same thing. This code is so completely non-mission critical that I think it's okay to catch Exception. > > + private static String localFilePathFromUrlString(final String url) { > + try { > + final URL u = new URL(url); > + return u.getPath(); > + } catch (MalformedURLException e) { > + return url; > > This should probably return null, an empty string, or even escalate > this MalformedURLException. > > Otherwise looks good. > > Jacob I definitely don't think it's worth escalating the exception. This method is only being used to get text for a tooltip and the locationField... this is also why the exception handling is just to return some ugly-looking and/or maybe incorrect (in that it isn't a URL format) text rather than nothing at all. Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 07:38:59 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 15:38:59 +0000 Subject: [Bug 1653] [IcedTea7] Support ppc64le via Zero In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1653 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #9 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/73f078dd/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 07:39:51 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 15:39:51 +0000 Subject: [Bug 1654] [IcedTea7] ppc32 needs a larger ThreadStackSize to build In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1654 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #7 from Andrew John Hughes --- http://blog.fuseyism.com/index.php/2014/01/29/icedtea-2-4-5-released/ -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/cc89d659/attachment.html From jvanek at redhat.com Wed Jan 29 08:27:48 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 29 Jan 2014 17:27:48 +0100 Subject: [rfc][icedtea-web] External main-class fix In-Reply-To: <52D5903C.6010404@redhat.com> References: <52CDC9BA.4000406@redhat.com> <52D5903C.6010404@redhat.com> Message-ID: <52E92C04.2020701@redhat.com> On 01/14/2014 08:30 PM, Andrew Azores wrote: > On 01/08/2014 04:57 PM, Andrew Azores wrote: >> Hi, >> >> Jiri found a flaw in the fix for PR1513, which allows applets to run when their main-class is not >> in a JAR, but is still available to load from the codebase. The previous fix simply didn't throw a >> LaunchException when the main-class could not be found in a JAR, and instead displayed a warning >> about not all of the code being signed. However, this warning could still appear even if no >> classes or JARs could be loaded at all! This patch causes the ClassLoader to not be so optimistic >> about finding an external main-class - it actually checks for it first, and if it still can't be >> found on the codebase after searching all JARs, then a LaunchException is thrown. If it can be >> found, then the applet launch proceeds as normal at this step. >> >> Additionally, checkNotAllSignedWithUser can only be called once now in initializeResources. >> Previously, it could be called both due to an external main-class as well as mixed signing states >> of JARs in the applet - so if you had one signed JAR, one unsigned JAR, and an external >> main-class, you would be prompted twice about the mixed signing, as well as about trusting the >> signer of the signed JAR. Craziness. Now, the prompt about mixed signing should only appear once. >> >> ChangeLog: >> * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) perform search for >> main-class when suspected to be external. Only show mixed code signing prompt once during >> initialization. (checkNotAllSignedWithUser) refactor to remove local variable (promptUser) >> >> Thanks, >> > > Updated patch, Jiri pointed out over IRC that the previous patch only worked for plugin applets and > excluded JNLP. This makes it work for JNLP as well, and also cleans up how codebase loading is set > up on a classloader. It's now done during initialization, rather than being handled after the fact > by a static factory-ish method. > > Thanks, > > -- > Andrew A > > ok. I fight with this (a lot),and looks (probably) ok. However. I will believe it did not broke something afer one full round of tests. Feel free to push. Thanx for fix! And sorry for long review delay :(( J. > > > diff --git a/netx/net/sourceforge/jnlp/Launcher.java b/netx/net/sourceforge/jnlp/Launcher.java > --- a/netx/net/sourceforge/jnlp/Launcher.java > +++ b/netx/net/sourceforge/jnlp/Launcher.java > @@ -694,13 +694,7 @@ > protected AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { > AppletInstance appletInstance = null; > try { > - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); > - > - if (enableCodeBase) { > - loader.enableCodeBase(); > - } else if (file.getResources().getJARs().length == 0) { > - throw new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); > - } > + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); > > ThreadGroup group = Thread.currentThread().getThreadGroup(); > > @@ -741,13 +735,7 @@ > */ > protected Applet createAppletObject(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { > try { > - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); > - > - if (enableCodeBase) { > - loader.enableCodeBase(); > - } else if (file.getResources().getJARs().length == 0) { > - throw new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); > - } > + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); > > String appletName = file.getApplet().getMainClass(); > Class appletClass = loader.loadClass(appletName); > diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > @@ -227,7 +227,7 @@ > * @param file the JNLP file > */ > protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy) throws LaunchException { > - this(file,policy,null); > + this(file, policy, null, false); > } > > /** > @@ -237,7 +237,7 @@ > * @param policy the UpdatePolicy for this class loader > * @param mainName name of the application's main class > */ > - protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { > + protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { > super(new URL[0], JNLPClassLoader.class.getClassLoader()); > > OutputController.getLogger().log("New classloader: " + file.getFileLocation()); > @@ -263,6 +263,13 @@ > > jcv = new JarCertVerifier(verifier); > > + if (enableCodeBase) { > + addToCodeBaseLoader(file.getCodeBase()); > + } else if (file.getResources().getJARs().length == 0) { > + throw new LaunchException( > + new ClassNotFoundException("Can't do a codebase lookup and there are no jars. Failing sooner rather than later")); > + } > + > // initialize extensions > initializeExtensions(); > > @@ -383,11 +390,12 @@ > * @param file the file to load classes for > * @param policy the update policy to use when downloading resources > * @param mainName Overrides the main class name of the application > + * @param enableCodeBase if codebase lookups are allowed > */ > - private static JNLPClassLoader createInstance(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { > + private static JNLPClassLoader createInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { > String uniqueKey = file.getUniqueKey(); > JNLPClassLoader baseLoader = uniqueKeyToLoader.get(uniqueKey); > - JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName); > + JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); > > // If security level is 'high' or greater, we must check if the user allows unsigned applets > // when the JNLPClassLoader is created. We do so here, because doing so in the constructor > @@ -420,7 +428,7 @@ > > /** > * Returns a JNLP classloader for the specified JNLP file. > - * > + * > * @param file the file to load classes for > * @param policy the update policy to use when downloading resources > */ > @@ -433,9 +441,32 @@ > * > * @param file the file to load classes for > * @param policy the update policy to use when downloading resources > + * @param enableCodeBase if codebase lookups are allowed > + */ > + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, boolean enableCodeBase) throws LaunchException { > + return getInstance(file, policy, null, enableCodeBase); > + } > + > + /** > + * Returns a JNLP classloader for the specified JNLP file. > + * > + * @param file the file to load classes for > + * @param policy the update policy to use when downloading resources > * @param mainName Overrides the main class name of the application > */ > public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { > + return getInstance(file, policy, mainName, false); > + } > + > + /** > + * Returns a JNLP classloader for the specified JNLP file. > + * > + * @param file the file to load classes for > + * @param policy the update policy to use when downloading resources > + * @param mainName Overrides the main class name of the application > + * @param enableCodeBase if lookups are allowed > + */ > + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { > JNLPClassLoader baseLoader = null; > JNLPClassLoader loader = null; > String uniqueKey = file.getUniqueKey(); > @@ -449,12 +480,12 @@ > (file.isApplication() && > !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation()))) { > > - loader = createInstance(file, policy, mainName); > + loader = createInstance(file, policy, mainName, enableCodeBase); > } else { > // if key is same and locations match, this is the loader we want > if (!file.isApplication()) { > // If this is an applet, we do need to consider its loader > - loader = new JNLPClassLoader(file, policy, mainName); > + loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); > > if (baseLoader != null) > baseLoader.merge(loader); > @@ -700,11 +731,28 @@ > // jnlp's resources > foundMainJar = foundMainJar || hasMainInExtensions(); > > - boolean externalMainClass = (file.getLaunchInfo() != null && !foundMainJar > + boolean externalAppletMainClass = (file.getLaunchInfo() != null && !foundMainJar > && (available == null || available.size() == 0)); > > - if (!jcv.allJarsSigned() || externalMainClass) { > - checkNotAllSignedWithUser(file); > + // We do this check here simply to ensure that if there are no JARs at all, > + // and also no main-class in the codebase (ie the applet doesn't really exist), we > + // fail ASAP rather than continuing (and showing the NotAllSigned dialog for no applet) > + if (externalAppletMainClass) { > + if (codeBaseLoader != null) { > + try { > + codeBaseLoader.findClass(mainClass); > + } catch (ClassNotFoundException extCnfe) { > + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, extCnfe); > + throw new LaunchException(file, extCnfe, R("LSFatal"), R("LCInit"), R("LCantDetermineMainClass"), R("LCantDetermineMainClassInfo")); > + } > + } else { > + throw new LaunchException(file, null, R("LSFatal"), R("LCInit"), R("LCantDetermineMainClass"), R("LCantDetermineMainClassInfo")); > + } > + } > + > + // If externalAppletMainClass is true and a LaunchException was not thrown above, > + // then the main-class can be loaded from the applet codebase, but is obviously not signed > + if (!jcv.allJarsSigned() || externalAppletMainClass) { > signing = SigningState.PARTIAL; > } > > @@ -784,8 +832,11 @@ > } > > if (containsSignedJar && containsUnsignedJar) { > + signing = SigningState.PARTIAL; > + } > + > + if (signing == SigningState.PARTIAL && JNLPRuntime.isVerifying()) { > checkNotAllSignedWithUser(file); > - signing = SigningState.PARTIAL; > } > > activateJars(initialJars); > @@ -1090,25 +1141,14 @@ > * @throws LaunchException if the user does not approve the prompt > */ > private void checkNotAllSignedWithUser(JNLPFile file) throws LaunchException { > - boolean promptUser = true; > - > if (JNLPRuntime.isTrustAll()) { > - promptUser = false; > + return; > } > > - if (promptUser && !SecurityDialogs.showNotAllSignedWarningDialog(file)) { > + if (!SecurityDialogs.showNotAllSignedWarningDialog(file)) { > throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); > } > } > - /** > - * Add applet's codebase URL. This allows compatibility with > - * applets that load resources from their codebase instead of > - * through JARs, but can slow down resource loading. Resources > - * loaded from the codebase are not cached. > - */ > - public void enableCodeBase() { > - addToCodeBaseLoader(file.getCodeBase()); > - } > > /** > * Sets the JNLP app this group is for; can only be called once. > From aazores at icedtea.classpath.org Wed Jan 29 08:34:38 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Wed, 29 Jan 2014 16:34:38 +0000 Subject: /hg/icedtea-web: Fix regression in previous PR1513 patch Message-ID: changeset 7933143a1286 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=7933143a1286 author: Andrew Azores date: Wed Jan 29 11:34:24 2014 -0500 Fix regression in previous PR1513 patch Fix for regression due to PR1513 fix. ClassLoader was too optimistic about finding codebase main-classes and so the not-all-signed dialog would appear even for applets that were entirely broken and could not be loaded at all. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject) pass enableCodeBase to JNLPClassLoader * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodeBase) removed, now done by constructor argument. (checkNotAllSignedWithUser) minor refactor. (initializeResources) actually check if main-class is loadable from codebase when this is suspected, rather than assuming it will be there diffstat: ChangeLog | 14 ++ netx/net/sourceforge/jnlp/Launcher.java | 16 +-- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 88 +++++++++++++---- 3 files changed, 80 insertions(+), 38 deletions(-) diffs (234 lines): diff -r e97da10f9309 -r 7933143a1286 ChangeLog --- a/ChangeLog Mon Jan 27 11:54:09 2014 -0500 +++ b/ChangeLog Wed Jan 29 11:34:24 2014 -0500 @@ -1,3 +1,17 @@ +2014-01-29 Andrew Azores + + Fix for regression due to PR1513 fix. ClassLoader was too optimistic about + finding codebase main-classes and so the not-all-signed dialog would + appear even for applets that were entirely broken and could not be loaded + at all. + * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, + createAppletObject) pass enableCodeBase to JNLPClassLoader + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodeBase) + removed, now done by constructor argument. (checkNotAllSignedWithUser) + minor refactor. (initializeResources) actually check if main-class is + loadable from codebase when this is suspected, rather than assuming it + will be there + 2014-01-27 Andrew Azores MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP diff -r e97da10f9309 -r 7933143a1286 netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Mon Jan 27 11:54:09 2014 -0500 +++ b/netx/net/sourceforge/jnlp/Launcher.java Wed Jan 29 11:34:24 2014 -0500 @@ -694,13 +694,7 @@ protected AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { AppletInstance appletInstance = null; try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); - - if (enableCodeBase) { - loader.enableCodeBase(); - } else if (file.getResources().getJARs().length == 0) { - throw new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); - } + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); ThreadGroup group = Thread.currentThread().getThreadGroup(); @@ -741,13 +735,7 @@ */ protected Applet createAppletObject(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); - - if (enableCodeBase) { - loader.enableCodeBase(); - } else if (file.getResources().getJARs().length == 0) { - throw new ClassNotFoundException("Can't do a codebase look up and there are no jars. Failing sooner rather than later"); - } + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); String appletName = file.getApplet().getMainClass(); Class appletClass = loader.loadClass(appletName); diff -r e97da10f9309 -r 7933143a1286 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Jan 27 11:54:09 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jan 29 11:34:24 2014 -0500 @@ -227,7 +227,7 @@ * @param file the JNLP file */ protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy) throws LaunchException { - this(file,policy,null); + this(file, policy, null, false); } /** @@ -237,7 +237,7 @@ * @param policy the UpdatePolicy for this class loader * @param mainName name of the application's main class */ - protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { + protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { super(new URL[0], JNLPClassLoader.class.getClassLoader()); OutputController.getLogger().log("New classloader: " + file.getFileLocation()); @@ -263,6 +263,13 @@ jcv = new JarCertVerifier(verifier); + if (enableCodeBase) { + addToCodeBaseLoader(file.getCodeBase()); + } else if (file.getResources().getJARs().length == 0) { + throw new LaunchException( + new ClassNotFoundException("Can't do a codebase lookup and there are no jars. Failing sooner rather than later")); + } + // initialize extensions initializeExtensions(); @@ -383,11 +390,12 @@ * @param file the file to load classes for * @param policy the update policy to use when downloading resources * @param mainName Overrides the main class name of the application + * @param enableCodeBase if codebase lookups are allowed */ - private static JNLPClassLoader createInstance(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { + private static JNLPClassLoader createInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { String uniqueKey = file.getUniqueKey(); JNLPClassLoader baseLoader = uniqueKeyToLoader.get(uniqueKey); - JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName); + JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); // If security level is 'high' or greater, we must check if the user allows unsigned applets // when the JNLPClassLoader is created. We do so here, because doing so in the constructor @@ -420,7 +428,7 @@ /** * Returns a JNLP classloader for the specified JNLP file. - * + * * @param file the file to load classes for * @param policy the update policy to use when downloading resources */ @@ -433,9 +441,32 @@ * * @param file the file to load classes for * @param policy the update policy to use when downloading resources + * @param enableCodeBase if codebase lookups are allowed + */ + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, boolean enableCodeBase) throws LaunchException { + return getInstance(file, policy, null, enableCodeBase); + } + + /** + * Returns a JNLP classloader for the specified JNLP file. + * + * @param file the file to load classes for + * @param policy the update policy to use when downloading resources * @param mainName Overrides the main class name of the application */ public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { + return getInstance(file, policy, mainName, false); + } + + /** + * Returns a JNLP classloader for the specified JNLP file. + * + * @param file the file to load classes for + * @param policy the update policy to use when downloading resources + * @param mainName Overrides the main class name of the application + * @param enableCodeBase if lookups are allowed + */ + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { JNLPClassLoader baseLoader = null; JNLPClassLoader loader = null; String uniqueKey = file.getUniqueKey(); @@ -449,12 +480,12 @@ (file.isApplication() && !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation()))) { - loader = createInstance(file, policy, mainName); + loader = createInstance(file, policy, mainName, enableCodeBase); } else { // if key is same and locations match, this is the loader we want if (!file.isApplication()) { // If this is an applet, we do need to consider its loader - loader = new JNLPClassLoader(file, policy, mainName); + loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); if (baseLoader != null) baseLoader.merge(loader); @@ -700,11 +731,28 @@ // jnlp's resources foundMainJar = foundMainJar || hasMainInExtensions(); - boolean externalMainClass = (file.getLaunchInfo() != null && !foundMainJar + boolean externalAppletMainClass = (file.getLaunchInfo() != null && !foundMainJar && (available == null || available.size() == 0)); - if (!jcv.allJarsSigned() || externalMainClass) { - checkNotAllSignedWithUser(file); + // We do this check here simply to ensure that if there are no JARs at all, + // and also no main-class in the codebase (ie the applet doesn't really exist), we + // fail ASAP rather than continuing (and showing the NotAllSigned dialog for no applet) + if (externalAppletMainClass) { + if (codeBaseLoader != null) { + try { + codeBaseLoader.findClass(mainClass); + } catch (ClassNotFoundException extCnfe) { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, extCnfe); + throw new LaunchException(file, extCnfe, R("LSFatal"), R("LCInit"), R("LCantDetermineMainClass"), R("LCantDetermineMainClassInfo")); + } + } else { + throw new LaunchException(file, null, R("LSFatal"), R("LCInit"), R("LCantDetermineMainClass"), R("LCantDetermineMainClassInfo")); + } + } + + // If externalAppletMainClass is true and a LaunchException was not thrown above, + // then the main-class can be loaded from the applet codebase, but is obviously not signed + if (!jcv.allJarsSigned() || externalAppletMainClass) { signing = SigningState.PARTIAL; } @@ -784,8 +832,11 @@ } if (containsSignedJar && containsUnsignedJar) { + signing = SigningState.PARTIAL; + } + + if (signing == SigningState.PARTIAL && JNLPRuntime.isVerifying()) { checkNotAllSignedWithUser(file); - signing = SigningState.PARTIAL; } activateJars(initialJars); @@ -1089,25 +1140,14 @@ * @throws LaunchException if the user does not approve the prompt */ private void checkNotAllSignedWithUser(JNLPFile file) throws LaunchException { - boolean promptUser = true; - if (JNLPRuntime.isTrustAll()) { - promptUser = false; + return; } - if (promptUser && !SecurityDialogs.showNotAllSignedWarningDialog(file)) { + if (!SecurityDialogs.showNotAllSignedWarningDialog(file)) { throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedAppJarUsingUnsignedJar"), R("LSignedAppJarUsingUnsignedJarInfo")); } } - /** - * Add applet's codebase URL. This allows compatibility with - * applets that load resources from their codebase instead of - * through JARs, but can slow down resource loading. Resources - * loaded from the codebase are not cached. - */ - public void enableCodeBase() { - addToCodeBaseLoader(file.getCodeBase()); - } /** * Sets the JNLP app this group is for; can only be called once. From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 08:34:57 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 16:34:57 +0000 Subject: [Bug 1513] Applet fails to load In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1513 --- Comment #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea-web?cmd=changeset;node=7933143a1286 author: Andrew Azores date: Wed Jan 29 11:34:24 2014 -0500 Fix regression in previous PR1513 patch Fix for regression due to PR1513 fix. ClassLoader was too optimistic about finding codebase main-classes and so the not-all-signed dialog would appear even for applets that were entirely broken and could not be loaded at all. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject) pass enableCodeBase to JNLPClassLoader * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodeBase) removed, now done by constructor argument. (checkNotAllSignedWithUser) minor refactor. (initializeResources) actually check if main-class is loadable from codebase when this is suspected, rather than assuming it will be there -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/976eaeff/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 09:49:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 17:49:15 +0000 Subject: [Bug 1658] New: Ebay standard uploader does not find pictures Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 Bug ID: 1658 Summary: Ebay standard uploader does not find pictures Classification: Unclassified Product: IcedTea-Web Version: 1.4 Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P3 Component: Plugin Assignee: dbhole at redhat.com Reporter: tacomasternoob at gmail.com CC: jvanek at redhat.com, unassigned at icedtea.classpath.org When I am trying to upload photos from my camera to ebay using openjdk and iced tea plugin it does not find my pictures with the standard uploader, but when i click on the basic uploader it seems to find the pictures fine. I have tried to see if it was just an issue with linux but when I packaged the oracle jre in to a .deb and installed it worked correctly for the standard uploader. To make this a little weireder, when i click the upload on the standard uploader it seems to find some pictures that are in my pictures folders just not all of them. I will upload one of the photos from the camera that i have tried to upload to find out if there is just something wrong with the pictures that the camera makes. I have tried uploading photos from a few different distros including debian stable, ubuntu 12.04, ubuntu 13.04, arch linux, and a few others. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/a54c72b0/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 09:57:06 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 17:57:06 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #1 from Chris Beck --- I could not get the photo small enough to post on this site with out really distorting the photo so i posted here https://scontent-b-dfw.xx.fbcdn.net/hphotos-prn2/t1/1798662_10201473533540030_1987645868_n.jpg -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/3ff11b40/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 10:21:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 18:21:19 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #2 from Chris Beck --- Getting to the same page to upload the photo is as follows. Log in to ebay and go to your main user page by hovering over "My Ebay" and click on "Selling", then click on "Sell" which should be on the 3rd button from the left.Then click "Browse Categories". Then i clicked on "Ebay Motors", "Motorcycles", "Ducati", then click on "Monster", and then click done at the bottom page. I then cliced "fixed pricing", and clicked the "select" button. Then i filled out the basic info for this bike on this page, (info here does not have to be exactly correct), but after this page is filled out with the required info click on "save and continue". The next page has the "add pictures" button about half way down the page, click on this button and a new window pop's open. In this window it should start with the standard uploader but to make sure just look to the right from where it says (select photos to upload) if you are in the standard uploader it should say (Having trouble? Try the Basic Uploader) if you see this text you are in the standard uploader. Then click on browse and it should bring up a window to view file to upload from your harddrive. This is where i am having the problem I do not see the .jpg file that i am trying to upload on my hard drive when i moved them here nor do i see the pictures on the sd card that was removed from the camera. If you click the upper right where it says "basic uploader" it works as it should but the uploads are just alot slower. and you can only upload one file at a time. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/0b63dbb3/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:00:28 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:00:28 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #3 from Chris Beck --- Well I have figured out why it is not uploading. The camara that i use only saves the files with a upper case .JPG and if I manually change this to .jpg it work's. Is this a bug or is it just something i will have to live with? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/d71d2ac1/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:03:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:03:58 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #4 from Andrew Azores --- I can't reproduce this problem, but I also don't see any indication at all that the eBay uploader here is using Java. I didn't see anything in the page source that seems to indicate that, I don't see any applet panels, and putting a print statement in the plugin to check if it's ever started results in the line not being printed. Are you sure that using Oracle JRE rather than IcedTea-Web is really what solved your problem? -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/949fc1d4/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:05:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:05:56 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #5 from Andrew Azores --- I don't know why the .jpg extension works for you while .JPG doesn't, but from what I saw trying to reproduce this, your browser is just opening a standard file picker dialog. I don't think the behaviour here has anything to do with your browser's Java plugin, really. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/9f421891/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:07:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:07:45 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #6 from Chris Beck --- I have removed all of the oracle packages from my computer and the only java's i have installed are the openjdk and icedtea plugin -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/9fd94a68/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:10:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:10:12 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #7 from Andrew Azores --- A very simple way to test if this is due to a bug in IcedTea-Web would be if you simply removed the icedtea-web package from your system entirely, or otherwise uninstalling it from your browser. If the eBay file uploader really is relying on IcedTea-Web and we have some bug, then removing it should result in the uploader not running at all. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/73aba2ab/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:17:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:17:25 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 Chris Beck changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #8 from Chris Beck --- I am sorry to waist your time i just disabled java and the file still uploads with the lower case .jpg so it is not a java issue. I hope I was not to much of an inconvenience filing this bug. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/65217427/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Jan 29 11:22:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 29 Jan 2014 19:22:00 +0000 Subject: [Bug 1658] Ebay standard uploader does not find pictures In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1658 --- Comment #9 from Deepak Bhole --- No problem. FWIW, I just looked into it. The standard uploader and basic uploader both use a native file chooser (Java/IcedTea-Web is not involved in any way). The standard uploader however restricts the mask to "*.jpg, *.jpeg, *.gif, *.png, *.bmp, *.tif, *.tiff". The basic uploader on the other hand does not specify a mask (i.e. it will list ALL files in a directory). File names in Linux are case sensitive and that is why only .jpg shows up with standard and since basic has no filter, it will show .jpg, .JPG and everything else. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140129/3f2e725a/attachment.html From suenaga.yasumasa at lab.ntt.co.jp Wed Jan 29 22:03:33 2014 From: suenaga.yasumasa at lab.ntt.co.jp (Yasumasa Suenaga) Date: Thu, 30 Jan 2014 15:03:33 +0900 Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics Message-ID: <52E9EB35.1000208@lab.ntt.co.jp> Hi all, My customer encountered this issue. Status of this issue is resolved. However, if bold style is set, this issue is appeared yet. I read source code of "freetype-2.5.0-4.fc20" . Bold style should not affect FontFace. However, current implementation of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is incorrect. I've made patch for this issue as "fontScaler.patch" which is attached on this email. Could you review this ? This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns incorrect TrueType font metrics . I think my patch will be fixed this issue too. https://bugs.openjdk.java.net/browse/JDK-8017773 BTW, I have few questions: 1. Can I reopen Bug 1435 ? Or should I book this as new issue ? 2. I am commiter of HeapStats which is hosted in IcedTea. If my patch is reviewed, can I commit this ? 3. If answer of 2. is "Yes", where should I push this ? relase/icedtea7-forest-2.4 ? ivedtea7 ? 4. Can we (HeapStats committers) be a reviewer of IcedTea7 ? Thanks, Yasumasa ------ D E T A I L S ------ I've created testcase as "JavaApplication1.java" . Result as: OracleJDK 6 Update 31 ---------------- [root at RHEL6-5 font]# /usr/local/jdk1.6.0_31/bin/java JavaApplication1 JDK: 1.6.0_31 VM: Java HotSpot(TM) 64-Bit Server VM java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] Ascent: 43.99414 Descent: 6.0058594 java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] Ascent: 43.99414 Descent: 6.0058594 ---------------- OpenJDK7 (in RHEL6.5) ---------------- [root at RHEL6-5 font]# java JavaApplication1 JDK: 1.7.0_45 VM: OpenJDK 64-Bit Server VM java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] Ascent: 43.99414 Descent: 6.0058594 java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] Ascent: 45.60547 Descent: 4.3945312 ---------------- -------------- next part -------------- A non-text attachment was scrubbed... Name: fontScaler.patch Type: text/x-patch Size: 2481 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140130/8c2ae48b/fontScaler.patch -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: JavaApplication1.java Url: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140130/8c2ae48b/JavaApplication1.java From ptisnovs at icedtea.classpath.org Thu Jan 30 01:51:25 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 30 Jan 2014 09:51:25 +0000 Subject: /hg/gfx-test: Three new tests added into CAGOperationsOnTwoConce... Message-ID: changeset a91f8aca3ad3 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a91f8aca3ad3 author: Pavel Tisnovsky date: Thu Jan 30 10:55:41 2014 +0100 Three new tests added into CAGOperationsOnTwoConcentricCircles test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java | 75 ++++++++++ 2 files changed, 80 insertions(+), 0 deletions(-) diffs (97 lines): diff -r 4d96b464d9a8 -r a91f8aca3ad3 ChangeLog --- a/ChangeLog Wed Jan 29 12:41:42 2014 +0100 +++ b/ChangeLog Thu Jan 30 10:55:41 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-30 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: + Three new tests added into CAGOperationsOnTwoConcentricCircles test suite. + 2014-01-29 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoConcentricCircles.java: diff -r 4d96b464d9a8 -r a91f8aca3ad3 src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Wed Jan 29 12:41:42 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java Thu Jan 30 10:55:41 2014 +0100 @@ -369,6 +369,81 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using inverse subtract operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testInverseSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingInverseSubtractOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using intersect operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testIntersectExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingIntersectOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** + * Checks the process of creating and rendering new geometric shape + * constructed from two rectangles using exclusive or operator. The shape is + * rendered using extra wide stroke. + * + * @param image + * image to which area is to be drawn + * @param graphics2d + * graphics canvas + * @return test result status - PASSED, FAILED or ERROR + */ + public TestResult testXorExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromRoundRectangleAndRectangleUsingXorOperator(image); + // draw the area + graphics2d.draw(area); + // test result + return TestResult.PASSED; + } + + /** * Entry point to the test suite. * * @param args not used in this case From gnu.andrew at redhat.com Thu Jan 30 02:26:03 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 Jan 2014 05:26:03 -0500 (EST) Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics In-Reply-To: <52E9EB35.1000208@lab.ntt.co.jp> References: <52E9EB35.1000208@lab.ntt.co.jp> Message-ID: <1846660351.1651259.1391077563425.JavaMail.root@redhat.com> ----- Original Message ----- > Hi all, > > My customer encountered this issue. > Status of this issue is resolved. However, if bold style is set, > this issue is appeared yet. > > I read source code of "freetype-2.5.0-4.fc20" . > Bold style should not affect FontFace. However, current implementation > of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is > incorrect. > > I've made patch for this issue as "fontScaler.patch" which is attached > on this email. Could you review this ? > > This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns incorrect > TrueType font metrics . I think my patch will be fixed this issue too. > > https://bugs.openjdk.java.net/browse/JDK-8017773 > > > BTW, I have few questions: > > 1. Can I reopen Bug 1435 ? Or should I book this as new issue ? > New issue please. > 2. I am commiter of HeapStats which is hosted in IcedTea. > If my patch is reviewed, can I commit this ? > Yes. > 3. If answer of 2. is "Yes", where should I push this ? > relase/icedtea7-forest-2.4 ? ivedtea7 ? > IcedTea7 and probably 2.4 as well, but will depend on review. > 4. Can we (HeapStats committers) be a reviewer of IcedTea7 ? > Anyone can. > > Thanks, > > Yasumasa > > ------ D E T A I L S ------ > > I've created testcase as "JavaApplication1.java" . > Result as: > > OracleJDK 6 Update 31 > ---------------- > [root at RHEL6-5 font]# /usr/local/jdk1.6.0_31/bin/java JavaApplication1 > JDK: 1.6.0_31 > VM: Java HotSpot(TM) 64-Bit Server VM > > java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] > Ascent: 43.99414 > Descent: 6.0058594 > > java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] > Ascent: 43.99414 > Descent: 6.0058594 > ---------------- > > OpenJDK7 (in RHEL6.5) > ---------------- > [root at RHEL6-5 font]# java JavaApplication1 > JDK: 1.7.0_45 > VM: OpenJDK 64-Bit Server VM > > java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] > Ascent: 43.99414 > Descent: 6.0058594 > > java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] > Ascent: 45.60547 > Descent: 4.3945312 > ---------------- > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From bugzilla-daemon at icedtea.classpath.org Thu Jan 30 02:51:40 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 30 Jan 2014 10:51:40 +0000 Subject: [Bug 1659] New: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1659 Bug ID: 1659 Summary: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: suenaga.yasumasa at lab.ntt.co.jp CC: unassigned at icedtea.classpath.org Created attachment 1014 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1014&action=edit Patch for this issue This bug is related to: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics My customer encountered this issue. Status of this issue is resolved. However, if bold style is set, this issue is appeared yet. I read source code of "freetype-2.5.0-4.fc20" . Bold style should affect Font Glyph only. However, current implementation of OpenJDK affects FontFace. Thus value of Ascent/Descent is incorrect. I've made patch for this issue as "fontScaler.patch" . This patch works fine for my environment. This issue is also booked in JBS as: JDK-8017773: OpenJDK7 returns incorrect TrueType font metrics https://bugs.openjdk.java.net/browse/JDK-8017773 I think my patch will be fixed this issue too. ------ D E T A I L S ------ I've created testcase as "JavaApplication1.java" . Result as: OracleJDK 6 Update 31 ---------------- [root at RHEL6-5 font]# /usr/local/jdk1.6.0_31/bin/java JavaApplication1 JDK: 1.6.0_31 VM: Java HotSpot(TM) 64-Bit Server VM java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] Ascent: 43.99414 Descent: 6.0058594 java.awt.Font[family=IPAMincho,name=IPAMincho,style=bold,size=50] Ascent: 43.99414 Descent: 6.0058594 ---------------- OpenJDK7 (in RHEL6.5) ---------------- [root at RHEL6-5 font]# java JavaApplication1 JDK: 1.7.0_45 VM: OpenJDK 64-Bit Server VM java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] Ascent: 43.99414 Descent: 6.0058594 java.awt.Font[family=IPAMincho,name=IPAMincho,style=bold,size=50] Ascent: 45.60547 Descent: 4.3945312 ---------------- -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140130/4a4c9e4c/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Jan 30 02:52:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 30 Jan 2014 10:52:26 +0000 Subject: [Bug 1659] [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1659 --- Comment #1 from Yasumasa Suenaga --- Created attachment 1015 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1015&action=edit Testcase of this issue -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140130/bd5b2f15/attachment-0001.html From suenaga.yasumasa at lab.ntt.co.jp Thu Jan 30 02:58:49 2014 From: suenaga.yasumasa at lab.ntt.co.jp (Yasumasa Suenaga) Date: Thu, 30 Jan 2014 19:58:49 +0900 Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics In-Reply-To: <1846660351.1651259.1391077563425.JavaMail.root@redhat.com> References: <52E9EB35.1000208@lab.ntt.co.jp> <1846660351.1651259.1391077563425.JavaMail.root@redhat.com> Message-ID: <52EA3069.40600@lab.ntt.co.jp> Hi Andrew, Thank you for replying. I've booked this issue as: Bug 1659: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set If my patch is reviewed, I want to push this to IcedTea7 and relase/icedtea7-forest-2.4 . So I need reviewers for this. Could you review this ? Thanks, Yasumasa On 2014/01/30 19:26, Andrew Hughes wrote: > > > ----- Original Message ----- >> Hi all, >> >> My customer encountered this issue. >> Status of this issue is resolved. However, if bold style is set, >> this issue is appeared yet. >> >> I read source code of "freetype-2.5.0-4.fc20" . >> Bold style should not affect FontFace. However, current implementation >> of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is >> incorrect. >> >> I've made patch for this issue as "fontScaler.patch" which is attached >> on this email. Could you review this ? >> >> This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns incorrect >> TrueType font metrics . I think my patch will be fixed this issue too. >> >> https://bugs.openjdk.java.net/browse/JDK-8017773 >> >> >> BTW, I have few questions: >> >> 1. Can I reopen Bug 1435 ? Or should I book this as new issue ? >> > > New issue please. > >> 2. I am commiter of HeapStats which is hosted in IcedTea. >> If my patch is reviewed, can I commit this ? >> > > Yes. > >> 3. If answer of 2. is "Yes", where should I push this ? >> relase/icedtea7-forest-2.4 ? ivedtea7 ? >> > > IcedTea7 and probably 2.4 as well, but will depend on review. > >> 4. Can we (HeapStats committers) be a reviewer of IcedTea7 ? >> > > Anyone can. > >> >> Thanks, >> >> Yasumasa >> >> ------ D E T A I L S ------ >> >> I've created testcase as "JavaApplication1.java" . >> Result as: >> >> OracleJDK 6 Update 31 >> ---------------- >> [root at RHEL6-5 font]# /usr/local/jdk1.6.0_31/bin/java JavaApplication1 >> JDK: 1.6.0_31 >> VM: Java HotSpot(TM) 64-Bit Server VM >> >> java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] >> Ascent: 43.99414 >> Descent: 6.0058594 >> >> java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] >> Ascent: 43.99414 >> Descent: 6.0058594 >> ---------------- >> >> OpenJDK7 (in RHEL6.5) >> ---------------- >> [root at RHEL6-5 font]# java JavaApplication1 >> JDK: 1.7.0_45 >> VM: OpenJDK 64-Bit Server VM >> >> java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] >> Ascent: 43.99414 >> Descent: 6.0058594 >> >> java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] >> Ascent: 45.60547 >> Descent: 4.3945312 >> ---------------- >> > From gnu.andrew at redhat.com Thu Jan 30 06:22:31 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 Jan 2014 09:22:31 -0500 (EST) Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics In-Reply-To: <52EA3069.40600@lab.ntt.co.jp> References: <52E9EB35.1000208@lab.ntt.co.jp> <1846660351.1651259.1391077563425.JavaMail.root@redhat.com> <52EA3069.40600@lab.ntt.co.jp> Message-ID: <1976871501.1789453.1391091751968.JavaMail.root@redhat.com> ----- Original Message ----- > Hi Andrew, > > Thank you for replying. > > I've booked this issue as: > Bug 1659: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics > when bold style is set > > If my patch is reviewed, I want to push this to IcedTea7 and > relase/icedtea7-forest-2.4 . > So I need reviewers for this. > Could you review this ? > I can, though someone like Mario or Roman might know this area better. > > Thanks, > > Yasumasa > > > On 2014/01/30 19:26, Andrew Hughes wrote: > > > > > > ----- Original Message ----- > >> Hi all, > >> > >> My customer encountered this issue. > >> Status of this issue is resolved. However, if bold style is set, > >> this issue is appeared yet. > >> > >> I read source code of "freetype-2.5.0-4.fc20" . > >> Bold style should not affect FontFace. However, current implementation > >> of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is > >> incorrect. > >> > >> I've made patch for this issue as "fontScaler.patch" which is attached > >> on this email. Could you review this ? > >> > >> This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns > >> incorrect > >> TrueType font metrics . I think my patch will be fixed this issue too. > >> > >> https://bugs.openjdk.java.net/browse/JDK-8017773 > >> > >> > >> BTW, I have few questions: > >> > >> 1. Can I reopen Bug 1435 ? Or should I book this as new issue ? > >> > > > > New issue please. > > > >> 2. I am commiter of HeapStats which is hosted in IcedTea. > >> If my patch is reviewed, can I commit this ? > >> > > > > Yes. > > > >> 3. If answer of 2. is "Yes", where should I push this ? > >> relase/icedtea7-forest-2.4 ? ivedtea7 ? > >> > > > > IcedTea7 and probably 2.4 as well, but will depend on review. > > > >> 4. Can we (HeapStats committers) be a reviewer of IcedTea7 ? > >> > > > > Anyone can. > > > >> > >> Thanks, > >> > >> Yasumasa > >> > >> ------ D E T A I L S ------ > >> > >> I've created testcase as "JavaApplication1.java" . > >> Result as: > >> > >> OracleJDK 6 Update 31 > >> ---------------- > >> [root at RHEL6-5 font]# /usr/local/jdk1.6.0_31/bin/java JavaApplication1 > >> JDK: 1.6.0_31 > >> VM: Java HotSpot(TM) 64-Bit Server VM > >> > >> java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] > >> Ascent: 43.99414 > >> Descent: 6.0058594 > >> > >> java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] > >> Ascent: 43.99414 > >> Descent: 6.0058594 > >> ---------------- > >> > >> OpenJDK7 (in RHEL6.5) > >> ---------------- > >> [root at RHEL6-5 font]# java JavaApplication1 > >> JDK: 1.7.0_45 > >> VM: OpenJDK 64-Bit Server VM > >> > >> java.awt.Font[family=IPAMincho,name=IPAMincho,style=plain,size=50] > >> Ascent: 43.99414 > >> Descent: 6.0058594 > >> > >> java.awt.Font[family=IPA??,name=IPAMincho,style=bold,size=50] > >> Ascent: 45.60547 > >> Descent: 4.3945312 > >> ---------------- > >> > > > > -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 From andrew at icedtea.classpath.org Thu Jan 30 06:33:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 30 Jan 2014 14:33:43 +0000 Subject: /hg/release/icedtea7-2.4: Start 2.4.6 release cycle. Message-ID: changeset d9cd6461e22c in /hg/release/icedtea7-2.4 details: http://icedtea.classpath.org/hg/release/icedtea7-2.4?cmd=changeset;node=d9cd6461e22c author: Andrew John Hughes date: Thu Jan 30 14:33:10 2014 +0000 Start 2.4.6 release cycle. 2014-01-28 Andrew John Hughes * configure.ac: Bump to 2.4.6pre01. * NEWS: Add 2.4.6 section. diffstat: ChangeLog | 5 +++++ NEWS | 2 ++ configure.ac | 2 +- 3 files changed, 8 insertions(+), 1 deletions(-) diffs (33 lines): diff -r 7449e5c8ae77 -r d9cd6461e22c ChangeLog --- a/ChangeLog Wed Jan 29 10:07:59 2014 +0000 +++ b/ChangeLog Thu Jan 30 14:33:10 2014 +0000 @@ -1,3 +1,8 @@ +2014-01-28 Andrew John Hughes + + * configure.ac: Bump to 2.4.6pre01. + * NEWS: Add 2.4.6 section. + 2014-01-29 Andrew John Hughes * NEWS: Bump release date to today. diff -r 7449e5c8ae77 -r d9cd6461e22c NEWS --- a/NEWS Wed Jan 29 10:07:59 2014 +0000 +++ b/NEWS Thu Jan 30 14:33:10 2014 +0000 @@ -12,6 +12,8 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY +New in release 2.4.6 (2014-04-XX): + New in release 2.4.5 (2014-01-29): * Backports diff -r 7449e5c8ae77 -r d9cd6461e22c configure.ac --- a/configure.ac Wed Jan 29 10:07:59 2014 +0000 +++ b/configure.ac Thu Jan 30 14:33:10 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.4.5], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.4.6pre01], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From aazores at icedtea.classpath.org Thu Jan 30 07:08:43 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 30 Jan 2014 15:08:43 +0000 Subject: /hg/icedtea-web: Added JRE 6 fallback to PolicyPanel Message-ID: changeset 369823848b26 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=369823848b26 author: Andrew Azores date: Thu Jan 30 10:08:31 2014 -0500 Added JRE 6 fallback to PolicyPanel Also made some variables final, and added class-level Javadoc diffstat: ChangeLog | 7 ++ NEWS | 1 + netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java | 57 ++++++++++------ 3 files changed, 43 insertions(+), 22 deletions(-) diffs (177 lines): diff -r 7933143a1286 -r 369823848b26 ChangeLog --- a/ChangeLog Wed Jan 29 11:34:24 2014 -0500 +++ b/ChangeLog Thu Jan 30 10:08:31 2014 -0500 @@ -1,3 +1,10 @@ +2014-01-30 Andrew Azores + + * NEWS: added entry for PolicyPanel + * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added + class-level Javadoc comment, made some local variables final, added + reflective fallback case for JRE 6 PolicyTool location + 2014-01-29 Andrew Azores Fix for regression due to PR1513 fix. ClassLoader was too optimistic about diff -r 7933143a1286 -r 369823848b26 NEWS --- a/NEWS Wed Jan 29 11:34:24 2014 -0500 +++ b/NEWS Thu Jan 30 10:08:31 2014 -0500 @@ -15,6 +15,7 @@ * A console for debugging plugin and javaws * Dialogs center on screen before becoming visible * Support for u45 new manifest attributes (Application-Name) +* Custom applet permission policies panel in itweb-settings control panel * Cache Viewer - Can be closed by ESC key - Enabling and disabling of operational buttons is handled properly diff -r 7933143a1286 -r 369823848b26 netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Wed Jan 29 11:34:24 2014 -0500 +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Thu Jan 30 10:08:31 2014 -0500 @@ -66,6 +66,12 @@ import net.sourceforge.jnlp.util.FileUtils; import net.sourceforge.jnlp.util.logging.OutputController; +/** + * Implements a Policy Settings panel for the itweb-settings control panel. + * This gives the user information about custom user-level JNLP Policy files, + * as well as offering a way to launch a policy file editor with the correct + * file path to the user's personal policy file location presupplied. + */ public class PolicyPanel extends NamedBorderPanel { /** @@ -94,16 +100,16 @@ JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); final String fileUrlString = config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY); - JButton showUserPolicyButton = new JButton(R("CPButPolicy")); + final JButton showUserPolicyButton = new JButton(R("CPButPolicy")); showUserPolicyButton.addActionListener(new ViewPolicyButtonAction(frame, fileUrlString)); - String pathPart = localFilePathFromUrlString(fileUrlString); + final String pathPart = localFilePathFromUrlString(fileUrlString); showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); - JTextField locationField = new JTextField(pathPart); + final JTextField locationField = new JTextField(pathPart); locationField.setEditable(false); - GridBagConstraints c = new GridBagConstraints(); + final GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.gridx = 1; c.gridy = 0; @@ -124,8 +130,8 @@ * the right edge of the frame and the button */ c.fill = GridBagConstraints.BOTH; - Component filler1 = Box.createRigidArea(new Dimension(240, 1)); - Component filler2 = Box.createRigidArea(new Dimension(1, 1)); + final Component filler1 = Box.createRigidArea(new Dimension(240, 1)); + final Component filler2 = Box.createRigidArea(new Dimension(1, 1)); c.gridx++; add(filler1, c); c.gridx--; @@ -142,7 +148,7 @@ private static void launchPolicyTool(final JFrame frame, final String filePath) { try { final File policyFile = new File(filePath).getCanonicalFile(); - OpenFileResult result = canOpenPolicyFile(policyFile); + final OpenFileResult result = canOpenPolicyFile(policyFile); if (result == OpenFileResult.SUCCESS) { policyToolLaunchHelper(frame, filePath); } else if (result == OpenFileResult.CANT_WRITE) { @@ -173,7 +179,7 @@ new Thread(new Runnable() { @Override public void run() { - ProcessBuilder pb = new ProcessBuilder("policytool", "-file", filePath) + final ProcessBuilder pb = new ProcessBuilder("policytool", "-file", filePath) .directory(new File(System.getProperty("user.home"))); try { pb.start(); @@ -200,11 +206,18 @@ * @throws Exception if any sort of exception occurs during reflective launch of policytool */ private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { - Class policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); - Class[] signature = new Class[] { String[].class }; - Method main = policyTool.getDeclaredMethod("main", signature); - Object args = new String[] { "-file", filePath }; - main.invoke(null, args); + Class policyTool; + try { + // Java 7 location + policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); + } catch (ClassNotFoundException cnfe) { + // Java 6 location + policyTool = Class.forName("sun.security.tools.PolicyTool"); + } + final Class[] signature = new Class[] { String[].class }; + final Method main = policyTool.getMethod("main", signature); + final String[] args = new String[] { "-file", filePath }; + main.invoke(null, (Object) args); } /** @@ -216,7 +229,7 @@ * @throws IOException if the file is not accessible */ private static OpenFileResult canOpenPolicyFile(final File policyFile) { - DirectoryCheckResults dcr = testPolicyFileDirectory(policyFile); + final DirectoryCheckResults dcr = testPolicyFileDirectory(policyFile); if (dcr.getFailures() == 0) { if (policyFile.isDirectory()) return OpenFileResult.NOT_FILE; @@ -227,7 +240,7 @@ } catch (IOException e) { return OpenFileResult.CANT_CREATE; } - boolean read = policyFile.canRead(), write = policyFile.canWrite(); + final boolean read = policyFile.canRead(), write = policyFile.canWrite(); if (read && write) return OpenFileResult.SUCCESS; else if (read) @@ -245,10 +258,10 @@ * @return a {@link DirectoryCheckResults} object representing the results of the test */ private static DirectoryCheckResults testPolicyFileDirectory(final File policyFile) { - List policyDirectory = new ArrayList(); + final List policyDirectory = new ArrayList(); policyDirectory.add(policyFile.getParentFile()); - DirectoryValidator validator = new DirectoryValidator(policyDirectory); - DirectoryCheckResults result = validator.ensureDirs(); + final DirectoryValidator validator = new DirectoryValidator(policyDirectory); + final DirectoryCheckResults result = validator.ensureDirs(); return result; } @@ -269,7 +282,7 @@ * @param reason a {@link OpenFileResult} specifying more precisely why we failed to open the file */ private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final OpenFileResult reason) { - String message; + final String message; switch (reason) { case CANT_CREATE: message = R("RCantCreateFile", filePath); @@ -324,9 +337,9 @@ * @param url the {@link String} representing the URL whose path is desired * @return a {@link String} representing the local filepath of the given file:/ URL */ - private static String localFilePathFromUrlString(String url) { + private static String localFilePathFromUrlString(final String url) { try { - URL u = new URL(url); + final URL u = new URL(url); return u.getPath(); } catch (MalformedURLException e) { return url; @@ -346,7 +359,7 @@ } @Override - public void actionPerformed(ActionEvent event) { + public void actionPerformed(final ActionEvent event) { try { final URL fileUrl = new URL(fileUrlString); SwingUtilities.invokeLater(new Runnable() { From andrew at icedtea.classpath.org Thu Jan 30 07:10:08 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 30 Jan 2014 15:10:08 +0000 Subject: /hg/icedtea7: Add 2.4.5 release notes. Message-ID: changeset aa96b9ba80e0 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=aa96b9ba80e0 author: Andrew John Hughes date: Thu Jan 30 15:09:47 2014 +0000 Add 2.4.5 release notes. 2014-01-30 Andrew John Hughes * NEWS: Add 2.4.5 release notes. diffstat: ChangeLog | 4 +++ NEWS | 69 +++++++++++++++++++++++++++++++++++--------------------------- 2 files changed, 43 insertions(+), 30 deletions(-) diffs (163 lines): diff -r 8a3e31a0cd56 -r aa96b9ba80e0 ChangeLog --- a/ChangeLog Fri Jan 24 20:37:05 2014 +0000 +++ b/ChangeLog Thu Jan 30 15:09:47 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-30 Andrew John Hughes + + * NEWS: Add 2.4.5 release notes. + 2014-01-24 Andrew John Hughes Update to u60b03 and additional IcedTea fixes diff -r 8a3e31a0cd56 -r aa96b9ba80e0 NEWS --- a/NEWS Fri Jan 24 20:37:05 2014 +0000 +++ b/NEWS Thu Jan 30 15:09:47 2014 +0000 @@ -12,7 +12,7 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 2.5.0 (2013-XX-XX): +New in release 2.5.0 (2014-XX-XX): * OpenJDK - S5049299: (process) Use posix_spawn, not fork, on S10 to avoid swap exhaustion @@ -50,7 +50,6 @@ - S8015243: SchemaFactory does not catch enum. value that is not in the value space of the base type, anyURI - S8015599: [TEST_BUG] [macosx] Test closed/javax/swing/Popup/TaskbarPositionTest.java fails since JDK 8 b75 on MacOSX - S8015600: [TEST_BUG] [macosx] Test closed/javax/swing/plaf/basic/BasicMenuUI/4983388/bug4983388.java fails since JDK 8 b75 on MacOSX - - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions - S8016018: Typo in AbstractStringBuilder#indexOf and #lastIndexOf descriptions - S8016271: wsimport -clientjar does not create portable jars on Windows due to hardcoded backslash - S8016500: Unlocalized warnings. @@ -65,18 +64,14 @@ - S8022507: SIGSEGV at ParMarkBitMap::verify_clear() - S8022584: Memory leak in some NetworkInterface methods - S8022585: VM crashes when ran with -XX:+PrintInlining - - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option - - S8022868: missing codepage Cp290 at java runtime - S8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag - S8023130: (process) ProcessBuilder#inheritIO does not work on Windows - - S8023310: Thread contention in the method Beans.IsDesignTime() - S8023472: C2 optimization breaks with G1 - S8023580: Add jtreg test for 8004051 and 8005722 - S8023720: (hotspot) setjmp/longjmp changes the process signal mask on OS X - S8023786: (jdk) setjmp/longjmp changes the process signal mask on OS X - S8024027: Test sun/misc/IoTrace/IoTraceSocketReadWrite.java crashes VM - S8024163: [macosx] NullPointerException at javax.swing.TransferHandler$DropHandler.handleDrag since jdk8b93, 7u40b28 - - S8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test - S8024521: (process) Async close issues with Process InputStream - S8024707: TransformerException : item() return null with node list of length != 1 - S8024830: SEGV in org.apache.lucene.codecs.compressing.CompressingTermVectorsReader.get @@ -90,58 +85,36 @@ - S8025207: Intermittent test failure: javax/management/monitor/CounterMonitorThresholdTest.java - S8025255: (tz) Support tzdata2013g - S8025512: NPE with logging while launching webstart on jre7u40 if logging is disabled - - S8025679: Increment minor version of HSx for 7u51 and initialize the build number - S8025713: Syncing indendation/comment/copyright year differences with upstream projects - S8025775: JNI warnings in TryXShmAttach - S8025860: new hotspot build - hs24.60-b02 - S8025861: Set minor version for hotspot in 7u60 to 60 and build number to b01 - S8025920: webrev.ksh does not provide any details about changes in zip files - - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris - S8026293: Schedule part of G1 pre-barrier late - - S8026304: jarsigner output bad grammar - S8026405: javax/xml/ws/clientjar/TestWsImport.java failing on JDK 8 nightly aurora test runs - S8026486: Significant slowdown due to transparent huge pages - S8026502: java/lang/invoke/MethodHandleConstants.java fails on all platforms - S8026794: Test tools/pack200/TimeStamp.java fails while opening golden.jar.native.IST on linux-ppc(v2) - - S8026887: Make issues due to failed large pages allocations easier to debug - S8027066: XMLDecoder in java 7 cannot properly deserialize object arrays - S8027172: new hotspot build - hs24.60-b03 - - S8027204: Revise the update of 8026204 and 8025758 - - S8027224: test regression - ClassNotFoundException - S8027351: (ref) Private finalize method invoked in preference to protected superclass method - - S8027370: Support tzdata2013h - - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 - S8027426: String.toLowerCase incorrectly increases length, if string contains \u0130 char - S8027579: new hotspot build - hs24.60-b04 - - S8027787: 7u51 l10n resource file translation update 1 - - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms - S8027839: C1 crashes in Weblogic with G1 enabled - S8027840: C2 allows safepoint checks to leak into G1 pre-barriers - S8027860: [TEST_BUG] File not closed in javax/xml/jaxp/parsers/8022548/XOMParserTest.java - - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 - - S8027944: Increment hsx 24.51 build to b02 for 7u51-b07 - S8027997: G1: SPECjbb2013 crashes due to a broken object reference - S8028054: com.sun.beans.finder.MethodFinder has unsynchronized access to a static Map - - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications - - S8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue - - S8028111: XML readers share the same entity expansion counter - S8028208: (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win) - - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB - - S8028293: Check local configuration for actual ephemeral port range - S8028351: JWS doesn't get authenticated when using kerberos auth proxy - - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 - S8028412: AsyncGetCallTrace() is broken on x86 in JDK 7u40 - - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) - S8028520: JVM should not throw VerifyError when a private method overrides a final method - S8028583: Add helper methods to test libraries - S8028814: new hotspot build - hs24.60-b06 - - S8028823: java/net/Makefile tabs converted to spaces - - S8029038: Revise fix for XML readers share the same entity expansion counter - S8029304: JFR broken in 7u train for JDK Linux for ARM or OpenJDK - S8029318: Native Windows ccache still reads DES tickets - S8029366: ShouldNotReachHere error when creating an array with component type of void - S8029599: JVM crashes on solaris-i586 with -Xverify:all if stack overflow happens during recursive reflective call - - S8029842: Increment hsx 24.51 build to b03 for 7u51-b11 - S8029903: Add a type safe alternative for working with counter based data - S8030061: new hotspot build - hs24.60-b05 - S8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running @@ -152,8 +125,6 @@ - Add Shark definitions from 8003868 - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp - Remove binary files and unlicensed generated files - - PR1653: Support ppc64le via Zero - - PR1654: ppc32 needs a larger ThreadStackSize to build - PR1655: Don't add IcedTea-Web jars to bootclasspath * JamVM - JVM_NewMultiArray: element class may be an array @@ -167,6 +138,44 @@ - Race condition in setting up imethod table - GC: Minor performance improvement +New in release 2.4.5 (2014-01-29): + +* Backports + - S8015976: OpenJDK part of bug JDK-8015812 [TEST_BUG] Tests have conflicting test descriptions + - S8022698: javax/script/GetInterfaceTest.java fails since 7u45 b04 with -agentvm option + - S8022868: missing codepage Cp290 at java runtime + - S8023310: Thread contention in the method Beans.IsDesignTime() + - S8024461: [macosx] Java crashed on mac10.9 for swing and 2d function manual test + - S8025679: Increment minor version of HSx for 7u51 and initialize the build number + - S8026037: [TESTBUG] sun/security/tools/jarsigner/warnings.sh test fails on Solaris + - S8026304: jarsigner output bad grammar + - S8026772: test/sun/util/resources/TimeZone/Bug6317929.java failing + - S8026887: Make issues due to failed large pages allocations easier to debug + - S8027204: Revise the update of 8026204 and 8025758 + - S8027224: test regression - ClassNotFoundException + - S8027370: Support tzdata2013h + - S8027378: Two closed/javax/xml/8005432 fails with jdk7u51b04 + - S8027787: 7u51 l10n resource file translation update 1 + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms + - S8027943: serial version of com.sun.corba.se.spi.orbutil.proxy.CompositeInvocationHandlerImpl changed in 7u45 + - S8027944: Increment hsx 24.51 build to b02 for 7u51-b07 + - S8028057: Modify jarsigner man page documentation to document CCC 8024302: Clarify jar verifications + - S8028090: reverting change - changeset pushed with incorrect commit message, linked to wrong issue + - S8028111: XML readers share the same entity expansion counter + - S8028215: ORB.init fails with SecurityException if properties select the JDK default ORB + - S8028293: Check local configuration for actual ephemeral port range + - S8028382: Two javax/xml/8005433 tests still fail after the fix JDK-8028147 + - S8028453: AsynchronousSocketChannel.connect() requires SocketPermission due to bind to local address (win) + - S8028823: java/net/Makefile tabs converted to spaces + - S8029038: Revise fix for XML readers share the same entity expansion counter + - S8029842: Increment hsx 24.51 build to b03 for 7u51-b11 +* Bug fixes + - Fix broken bootstrap build by updating ecj-multicatch.patch + - PR1653: Support ppc64le via Zero + - PR1654: ppc32 needs a larger ThreadStackSize to build + - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError + - RH910107: fail to load PC/SC library + New in release 2.4.4 (2014-01-14): * Security fixes From aazores at icedtea.classpath.org Thu Jan 30 07:10:57 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 30 Jan 2014 15:10:57 +0000 Subject: /hg/release/icedtea-web-1.4: Backport of PolicyPanel Message-ID: changeset 7f886f9e911a in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=7f886f9e911a author: Andrew Azores date: Thu Jan 30 10:10:42 2014 -0500 Backport of PolicyPanel PolicyPanel (custom policies in itweb-settings) ported to 1.4 from 1.5pre diffstat: ChangeLog | 11 + NEWS | 1 + netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 7 +- netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java | 360 +++++++++++++++ netx/net/sourceforge/jnlp/resources/Messages.properties | 11 + 5 files changed, 389 insertions(+), 1 deletions(-) diffs (473 lines): diff -r 2e5478f9c65a -r 7f886f9e911a ChangeLog --- a/ChangeLog Mon Jan 20 15:26:06 2014 +0100 +++ b/ChangeLog Thu Jan 30 10:10:42 2014 -0500 @@ -1,3 +1,14 @@ +2014-01-30 Andrew Azores + + Backport of custom policy panel. + * NEWS: added entry for policy panel + * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: added + PolicyPanel + * netx/net/sourceforge/jnlp/resources/Messages.properties: new messages + for PolicyPanel + * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: new + itweb-settings control panel for custom policy information and editing + 2014-01-20 Jiri Vanek Added Christmas splashscreen extension. diff -r 2e5478f9c65a -r 7f886f9e911a NEWS --- a/NEWS Mon Jan 20 15:26:06 2014 +0100 +++ b/NEWS Thu Jan 30 10:10:42 2014 -0500 @@ -11,6 +11,7 @@ New in release 1.4.2 (2013-MM-DD): * Dialogs center on screen before becoming visible * Support for u45 new manifest attributes (Application-Name) +* Custom applet permission policies panel in itweb-settings control panel * Plugin - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs - RH976833: Multiple applets on one page cause deadlock diff -r 2e5478f9c65a -r 7f886f9e911a netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java Mon Jan 20 15:26:06 2014 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java Thu Jan 30 10:10:42 2014 -0500 @@ -263,7 +263,8 @@ // new SettingsPanel(Translator.R("CPTabRuntimes"), createRuntimesSettingsPanel()), new SettingsPanel(Translator.R("CPTabSecurity"), createSecuritySettingsPanel()), //todo refactor to work with tmp file and apply as asu designed it - new SettingsPanel(Translator.R("APPEXTSECControlPanelExtendedAppletSecurityTitle"), new UnsignedAppletsTrustingListPanel(DeploymentConfiguration.getAppletTrustGlobalSettingsPath(),DeploymentConfiguration.getAppletTrustUserSettingsPath(), this.config) ) + new SettingsPanel(Translator.R("CPTabPolicy"), createPolicySettingsPanel()), + new SettingsPanel(Translator.R("APPEXTSECControlPanelExtendedAppletSecurityTitle"), new UnsignedAppletsTrustingListPanel(DeploymentConfiguration.getAppletTrustGlobalSettingsPath(), DeploymentConfiguration.getAppletTrustUserSettingsPath(), this.config)) }; // Add panels. @@ -356,6 +357,10 @@ return new SecuritySettingsPanel(this.config); } + private JPanel createPolicySettingsPanel() { + return new PolicyPanel(this, this.config); + } + private JPanel createJVMSettingsPanel() { return new JVMPanel(this.config); } diff -r 2e5478f9c65a -r 7f886f9e911a netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Thu Jan 30 10:10:42 2014 -0500 @@ -0,0 +1,360 @@ +/* Copyright (C) 2014 Red Hat, Inc. + +This file is part of IcedTea. + +IcedTea is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License as published by +the Free Software Foundation, version 2. + +IcedTea 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 for more details. + +You should have received a copy of the GNU General Public License +along with IcedTea; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301 USA. + +Linking this library statically or dynamically with other modules is +making a combined work based on this library. Thus, the terms and +conditions of the GNU General Public License cover the whole +combination. + +As a special exception, the copyright holders of this library give you +permission to link this library with independent modules to produce an +executable, regardless of the license terms of these independent +modules, and to copy and distribute the resulting executable under +terms of your choice, provided that you also meet, for each linked +independent module, the terms and conditions of the license of that +module. An independent module is a module which is not derived from +or based on this library. If you modify this library, you may extend +this exception to your version of the library, but you are not +obligated to do so. If you do not wish to do so, delete this +exception statement from your version. + */ + +package net.sourceforge.jnlp.controlpanel; + +import static net.sourceforge.jnlp.runtime.Translator.R; + +import java.awt.Component; +import java.awt.Dimension; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.Box; +import javax.swing.JButton; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JTextField; +import javax.swing.SwingUtilities; + +import net.sourceforge.jnlp.config.DeploymentConfiguration; +import net.sourceforge.jnlp.util.FileUtils; + +/** + * Implements a Policy Settings panel for the itweb-settings control panel. + * This gives the user information about custom user-level JNLP Policy files, + * as well as offering a way to launch a policy file editor with the correct + * file path to the user's personal policy file location presupplied. + */ +public class PolicyPanel extends NamedBorderPanel { + + /** + * Indicates whether a file was successfully opened. If not, provides specific reasons + * along with a general failure case + */ + private enum OpenFileResult { + /** The file was successfully opened */ + SUCCESS, + /** The file could not be opened, for non-specified reasons */ + FAILURE, + /** The file could not be opened because it did not exist and could not be created */ + CANT_CREATE, + /** The file can be opened but in read-only */ + CANT_WRITE, + /** The specified path pointed to a non-file filesystem object, ie a directory */ + NOT_FILE + } + + public PolicyPanel(final JFrame frame, final DeploymentConfiguration config) { + super(R("CPHeadPolicy"), new GridBagLayout()); + addComponents(frame, config); + } + + private void addComponents(final JFrame frame, final DeploymentConfiguration config) { + final JLabel aboutLabel = new JLabel("" + R("CPPolicyDetail") + ""); + + final String fileUrlString = config.getProperty(DeploymentConfiguration.KEY_USER_SECURITY_POLICY); + final JButton showUserPolicyButton = new JButton(R("CPButPolicy")); + showUserPolicyButton.addActionListener(new ViewPolicyButtonAction(frame, fileUrlString)); + + final String pathPart = localFilePathFromUrlString(fileUrlString); + showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); + + final JTextField locationField = new JTextField(pathPart); + locationField.setEditable(false); + + final GridBagConstraints c = new GridBagConstraints(); + c.fill = GridBagConstraints.BOTH; + c.gridx = 1; + c.gridy = 0; + c.weightx = 1; + add(aboutLabel, c); + + c.weighty = 0; + c.weightx = 0; + c.gridy++; + add(locationField, c); + + c.fill = GridBagConstraints.NONE; + c.gridx++; + add(showUserPolicyButton, c); + + /* Keep all the elements at the top of the panel (Extra padding) + * Keep View/Edit button next to location field, with padding between + * the right edge of the frame and the button + */ + c.fill = GridBagConstraints.BOTH; + final Component filler1 = Box.createRigidArea(new Dimension(240, 1)); + final Component filler2 = Box.createRigidArea(new Dimension(1, 1)); + c.gridx++; + add(filler1, c); + c.gridx--; + c.weighty = 1; + c.gridy++; + add(filler2, c); + } + + /** + * Launch the policytool for a specified file path + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear + * @param filePath a {@link String} representing the path to the file to be opened + */ + private static void launchPolicyTool(final JFrame frame, final String filePath) { + try { + final File policyFile = new File(filePath).getCanonicalFile(); + final OpenFileResult result = canOpenPolicyFile(policyFile); + if (result == OpenFileResult.SUCCESS) { + policyToolLaunchHelper(frame, filePath); + } else if (result == OpenFileResult.CANT_WRITE) { + showReadOnlyDialog(frame); + policyToolLaunchHelper(frame, filePath); + } else { + showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); + } + } catch (IOException e) { + e.printStackTrace(); + showCouldNotOpenFileDialog(frame, filePath); + } + } + + /** + * This executes a new process for policytool using ProcessBuilder, with the new process' + * working directory set to the user's home directory. policytool then attempts to + * open the provided policy file path, if policytool can be run. ProcessBuilder does + * some verification to ensure that the built command can be executed - if not, it + * throws an IOException. In this event, we try our reflective fallback launch. + * We do this in a new {@link Thread} to ensure that the fallback launch does not + * block the AWT thread, and neither does ProcessBuilder#start() in case it happens + * to be synchronous on the current system. + * @param frame a {@link JFrame} to act as parent to warning dialogs which may appear + * @param filePath a {@link String} representing the path to the file to be opened + */ + private static void policyToolLaunchHelper(final JFrame frame, final String filePath) { + new Thread(new Runnable() { + @Override + public void run() { + final ProcessBuilder pb = new ProcessBuilder("policytool", "-file", filePath) + .directory(new File(System.getProperty("user.home"))); + try { + pb.start(); + } catch (IOException ioe) { + ioe.printStackTrace(); + try { + reflectivePolicyToolLaunch(filePath); + } catch (Exception e) { + e.printStackTrace(); + showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); + } + } + } + }).start(); + } + + /** + * This is used as a fallback in case launching the policytool by executing a new process + * fails. This probably happens because we are running on a system where the policytool + * executable is not on the PATH, or because we are running on a non-POSIX compliant system. + * We do this reflectively to avoid needing to add PolicyTool as build dependency simply for + * this small edge case. + * @param filePath a {@link String} representing the path of the file to attempt to open + * @throws Exception if any sort of exception occurs during reflective launch of policytool + */ + private static void reflectivePolicyToolLaunch(final String filePath) throws Exception { + Class policyTool; + try { + // Java 7 location + policyTool = Class.forName("sun.security.tools.policytool.PolicyTool"); + } catch (ClassNotFoundException cnfe) { + // Java 6 location + policyTool = Class.forName("sun.security.tools.PolicyTool"); + } + final Class[] signature = new Class[] { String[].class }; + final Method main = policyTool.getMethod("main", signature); + final String[] args = new String[] { "-file", filePath }; + main.invoke(null, (Object) args); + } + + /** + * Verify that a given file object points to a real, accessible plain file. + * As a side effect, if the file is accessible but does not yet exist, it will be created + * as an empty plain file. + * @param policyFile the {@link File} to verify + * @return an {@link OpenFileResult} representing the accessibility level of the file + */ + private static OpenFileResult canOpenPolicyFile(final File policyFile) { + try { + FileUtils.createParentDir(policyFile); + } catch (IOException e) { + return OpenFileResult.FAILURE; + } + if (policyFile.isDirectory()) + return OpenFileResult.NOT_FILE; + try { + if (!policyFile.exists() && !policyFile.createNewFile()) { + return OpenFileResult.CANT_CREATE; + } + } catch (IOException e) { + return OpenFileResult.CANT_CREATE; + } + final boolean read = policyFile.canRead(), write = policyFile.canWrite(); + if (read && write) + return OpenFileResult.SUCCESS; + else if (read) + return OpenFileResult.CANT_WRITE; + else + return OpenFileResult.FAILURE; + } + + /** + * Show a generic error dialog indicating the policy file could not be opened + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + */ + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath) { + showCouldNotOpenFileDialog(frame, filePath, OpenFileResult.FAILURE); + } + + /** + * Show an error dialog indicating the policy file could not be opened, with a particular reason + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + * @param reason a {@link OpenFileResult} specifying more precisely why we failed to open the file + */ + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final OpenFileResult reason) { + final String message; + switch (reason) { + case CANT_CREATE: + message = R("RCantCreateFile", filePath); + break; + case CANT_WRITE: + message = R("RCantWriteFile", filePath); + break; + case NOT_FILE: + message = R("RExpectedFile", filePath); + break; + default: + message = R("RCantOpenFile", filePath); + break; + } + showCouldNotOpenFileDialog(frame, filePath, message); + } + + /** + * Show a dialog informing the user that the policy file could not be opened + * @param frame a {@link JFrame} to act as parent to this dialog + * @param filePath a {@link String} representing the path to the file we failed to open + * @param message a {@link String} giving the specific reason the file could not be opened + */ + private static void showCouldNotOpenFileDialog(final JFrame frame, final String filePath, final String message) { + System.err.println("Could not open user JNLP policy"); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + JOptionPane.showMessageDialog(frame, message, R("Error"), JOptionPane.ERROR_MESSAGE); + } + }); + } + + /** + * Show a dialog informing the user that the policy file is currently read-only + * @param frame the parent frame for this dialog + * @param frame a {@link JFrame} to act as parent to this dialog + */ + private static void showReadOnlyDialog(final JFrame frame) { + System.err.println("Opening user JNLP policy read-only"); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + JOptionPane.showMessageDialog(frame, R("RFileReadOnly"), R("Warning"), JOptionPane.WARNING_MESSAGE); + } + }); + } + + /** + * Loosely attempt to get the path part of a file URL string. If this fails, + * simply return back the input. This is only intended to be used for displaying + * GUI elements such as the CPPolicyTooltip. + * @param url the {@link String} representing the URL whose path is desired + * @return a {@link String} representing the local filepath of the given file:/ URL + */ + private static String localFilePathFromUrlString(final String url) { + try { + final URL u = new URL(url); + return u.getPath(); + } catch (MalformedURLException e) { + return url; + } + } + + /** + * Implements the action to be performed when the "View Policy" button is clicked + */ + private class ViewPolicyButtonAction implements ActionListener { + private final JFrame frame; + private final String fileUrlString; + + public ViewPolicyButtonAction(final JFrame frame, final String fileUrlString) { + this.fileUrlString = fileUrlString; + this.frame = frame; + } + + @Override + public void actionPerformed(final ActionEvent event) { + try { + final URL fileUrl = new URL(fileUrlString); + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + launchPolicyTool(frame, fileUrl.getPath()); + } + }); + } catch (MalformedURLException ex) { + ex.printStackTrace(); + showCouldNotOpenFileDialog(frame, fileUrlString); + } + } + } +} diff -r 2e5478f9c65a -r 7f886f9e911a netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Jan 20 15:26:06 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Jan 30 10:10:42 2014 -0500 @@ -21,6 +21,7 @@ AlwaysAllowAction=Always allow this action Usage=Usage: Error=Error +Warning=Warning Continue=Do you want to continue? Field=Field @@ -151,6 +152,10 @@ RCantReplaceSM=Changing the SecurityManager is not allowed. RCantCreateFile=Cant create file {0} RCantDeleteFile=Cant delete file {0} +RCantOpenFile=Could not open file {0} +RCantWriteFile=Could not write to file {0} +RFileReadOnly=Opening file in read-only mode +RExpectedFile=Expected {0} to be a file but it was not RRemoveRPermFailed=Removing read permission on file {0} failed RRemoveWPermFailed=Removing write permissions on file {0} failed RRemoveXPermFailed=Removing execute permissions on file {0} failed @@ -337,6 +342,9 @@ CPJVMNotokMessage2=You might be seeing this message because:
    * Some validity tests have not been passed
    * Non-OpenJDK is detected
    With invalid JDK IcedTea-Web will probably not be able to start.
    You will have to modify or remove {0} property in your configuration file {1}.
    You should try to search for OpenJDK in your system or be sure you know what you are doing. CPJVMconfirmInvalidJdkTitle=Confirm invalid JDK CPJVMconfirmReset=Reset to default? +CPPolicyDetail=View or edit your user-level Java Policy File. This allows you to grant or deny runtime permissions to applets regardless of the standard security sandboxing rules. +CPPolicyTooltip=Open {0} in policy editor +CPPolicyEditorNotFound=Could not find a system policy file editor. Check that policytool is on your PATH. # Control Panel - Buttons CPButAbout=About... @@ -344,6 +352,7 @@ CPButSettings=Settings... CPButView=View... CPButCertificates=Certificates... +CPButPolicy=View/Edit with Policy Tool # Control Panel - Headers CPHead=IcedTea-Web Control Panel @@ -356,6 +365,7 @@ CPHeadDesktopIntegration=\u00a0Desktop\u00a0Integrations\u00a0 CPHeadSecurity=\u00a0Security\u00a0Settings\u00a0 CPHeadJVMSettings=\u00a0JVM\u00a0Settings\u00a0 +CPHeadPolicy=\u00a0Custom\u00a0Policy\u00a0Settings\u00a0 # Control Panel - Tabs CPTabAbout=About IcedTea-Web @@ -368,6 +378,7 @@ CPTabRuntimes=Runtimes CPTabSecurity=Security CPTabJVMSettings=JVM Settings +CPTabPolicy=Policy Settings # Control Panel - AboutPanel CPAboutInfo=This is the control panel for setting deployments.properties.
    Not all options will take effect until implemented.
    The use of multiple JREs is currently unsupported.
    From neugens at redhat.com Thu Jan 30 08:26:27 2014 From: neugens at redhat.com (Mario Torre) Date: Thu, 30 Jan 2014 17:26:27 +0100 Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics In-Reply-To: <52E9EB35.1000208@lab.ntt.co.jp> References: <52E9EB35.1000208@lab.ntt.co.jp> Message-ID: <1391099187.11022.48.camel@galactica.localdomain> On Thu, 2014-01-30 at 15:03 +0900, Yasumasa Suenaga wrote: > Hi all, > > My customer encountered this issue. > Status of this issue is resolved. However, if bold style is set, > this issue is appeared yet. > > I read source code of "freetype-2.5.0-4.fc20" . > Bold style should not affect FontFace. However, current implementation > of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is > incorrect. > > I've made patch for this issue as "fontScaler.patch" which is attached > on this email. Could you review this ? > > This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns incorrect > TrueType font metrics . I think my patch will be fixed this issue too. Hello Yasumasa-San, This is a very tricky area and brings back lots of memories :) The fix itself looks good to me, although I would like this to be discussed on the java-2d mailing list before it being pushed to IcedTea alone. Cheers, Mario From gnu.andrew at redhat.com Thu Jan 30 09:47:14 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 30 Jan 2014 17:47:14 +0000 Subject: [SECURITY] IcedTea 1.11.15 for OpenJDK 6 Released! Message-ID: <20140130174711.GA30645@carrie.the212.com> The IcedTea project provides a harness to build the source code from OpenJDK using Free Software build tools, along with additional features such as a PulseAudio sound driver, the ability to build against system libraries and support for alternative virtual machines and architectures beyond those supported by OpenJDK. This release updates our OpenJDK 6 support in the 1.11.x series with the January 2014 security errata and a number of bug fixes. This is the final update for the 1.11.x series (1.11.15), following the release of the 1.13.x series (see the release policy). Users are advised to migrate to the 1.13.x series as soon as possible. If you find an issue with the release, please report it to our bug database under the appropriate component. Development discussion takes place on the distro-pkg-dev OpenJDK mailing list and patches are always welcome. Full details of the release can be found below. What's New? =========== New in release 1.11.15 (2014-01-21): * Security fixes - S6727821: Enhance JAAS Configuration - S7068126, CVE-2014-0373: Enhance SNMP status - S8010935: Better XML handling - S8011786, CVE-2014-0368: Better applet networking - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list - S8022904: Enhance JDBC Parsers - S8022927: Input validation for byte/endian conversions - S8022935: Enhance Apache resolver classes - S8022945: Enhance JNDI implementation classes - S8023057: Enhance start up image display - S8023069, CVE-2014-0411: Enhance TLS connections - S8023245, CVE-2014-0423: Enhance Beans decoding - S8023301: Enhance generic classes - S8023672: Enhance jar file validation - S8024306, CVE-2014-0416: Enhance Subject consistency - S8024530: Enhance font process resilience - S8024867: Enhance logging start up - S8025014: Enhance Security Policy - S8025018, CVE-2014-0376: Enhance JAX-P set up - S8025026, CVE-2013-5878: Enhance canonicalization - S8025034, CVE-2013-5907: Improve layout lookups - S8025448: Enhance listening events - S8025758, CVE-2014-0422: Enhance Naming management - S8025767, CVE-2014-0428: Enhance IIOP Streams - S8026172: Enhance UI Management - S8026176: Enhance document printing - S8026193, CVE-2013-5884: Enhance CORBA stub factories - S8026204: Enhance auth login contexts - S8026417, CVE-2013-5910: Enhance XML canonicalization - S8027201, CVE-2014-0376: Enhance JAX-P set up * Backports - S6763340: memory leak in com.sun.corba.se.* classes - S6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 - S6893617: JDK 6 CNCtx always uses the default ORB - S6980681: CORBA deadlock in Java SE believed to be related to CR 6238477 - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile - S7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8 - S8026826: JDK 7 fix for 8010935 broke the build - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms * Bug fixes - D729448: 32-bit alignment on mips and mipsel - Fail if a C and C++ compiler are not detected. - Only copy tz.properties if the destination directory exists. - Fix GenerateBreakIteratorData tool so that crashes have stack traces. - Fix path in nss-not-enabled-config.patch. * SystemTap support: - Add garbage collection dtrace/SystemTap probes to HotSpot. The tarballs can be downloaded from: http://icedtea.classpath.org/download/source/icedtea6-1.11.15.tar.gz or: http://icedtea.classpath.org/download/source/icedtea6-1.11.15.tar.xz We provide both gzip and xz tarballs, so that those who are able to make use of the smaller tarball produced by xz may do so. The tarballs are accompanied by digital signatures available at: http://icedtea.classpath.org/download/source/icedtea6-1.11.5.tar.gz.sig http://icedtea.classpath.org/download/source/icedtea6-1.11.5.tar.xz.sig These are produced using my public key. See details below. PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 SHA256 checksums: 20c0028148fb39bdd6effedb0f3d7d2cf08fc5dc7b65be5e36bccd6771a33e1f icedtea6-1.11.15.tar.gz 39b0873bb1a4168376eb3b382ad22c8718228237bb438529abffe269e06e29a6 icedtea6-1.11.15.tar.gz.sig 4bd083ceb51da976b6f135780067cee8c84908db0143482ab743101bd0a2458a icedtea6-1.11.15.tar.xz ca8639bfc41bec784cf19963d63ac95e779dd21299cd34b16e2ceed076f06d90 icedtea6-1.11.15.tar.xz.sig The following people helped with these releases: * Lukas Berk (garbage collection probe support) * Andrew Hughes (all other backports & fixes & release management) * Aurelien Jarno (D729448) * Omair Majid (security backports & NSS config fix) We would also like to thank the bug reporters and testers! To get started: $ tar xzf icedtea6-1.11.15.tar.gz or: $ tar x -I xz -f icedtea6-1.11.15.tar.xz then: $ mkdir icedtea-build $ cd icedtea-build $ ../icedtea6-1.11.15/configure $ make Full build requirements and instructions are available in the INSTALL file. Happy hacking! -- Andrew :) Free Java Software Engineer Red Hat, Inc. (http://www.redhat.com) PGP Key: 248BDC07 (https://keys.indymedia.org/) Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140130/a0f12bed/attachment-0001.bin From andrew at icedtea.classpath.org Thu Jan 30 13:34:31 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 30 Jan 2014 21:34:31 +0000 Subject: /hg/release/icedtea6-1.11: 4 new changesets Message-ID: changeset 1ccaedc605ae in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=1ccaedc605ae author: Andrew John Hughes date: Mon Jan 20 18:42:31 2014 +0000 Credit Aurelien Jarno for D729448 patch. 2014-01-20 Andrew John Hughes * AUTHORS: Credit Aurelien Jarno for D729448 patch. changeset 8a5fe6a5ea17 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=8a5fe6a5ea17 author: Andrew John Hughes date: Mon Jan 20 18:44:23 2014 +0000 Prepare for 1.11.15 release. 2014-01-20 Andrew John Hughes * configure.ac: Set to 1.11.15. * NEWS: Set date to tomorrow (2014-01-21). changeset 49abc75cfd01 in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=49abc75cfd01 author: Andrew John Hughes date: Thu Jan 30 17:31:52 2014 +0000 Added tag icedtea6-1.11.15 for changeset 8a5fe6a5ea17 changeset 5e5a2774e6cc in /hg/release/icedtea6-1.11 details: http://icedtea.classpath.org/hg/release/icedtea6-1.11?cmd=changeset;node=5e5a2774e6cc author: Andrew John Hughes date: Thu Jan 30 21:34:21 2014 +0000 Start 1.11.16 release cycle. 2014-01-30 Andrew John Hughes * configure.ac: Set to 1.11.16pre. * NEWS: Add 1.11.16 section. diffstat: .hgtags | 1 + AUTHORS | 1 + ChangeLog | 15 +++++++++++++++ NEWS | 4 +++- configure.ac | 2 +- 5 files changed, 21 insertions(+), 2 deletions(-) diffs (64 lines): diff -r 526f393881d4 -r 5e5a2774e6cc .hgtags --- a/.hgtags Mon Jan 20 18:36:40 2014 +0000 +++ b/.hgtags Thu Jan 30 21:34:21 2014 +0000 @@ -37,3 +37,4 @@ eca41165787238e9d088af88d5a35e417cff21b7 icedtea6-1.11.12 a02969e093910e938dddd09c03c52bcd1f53ed2d icedtea6-1.11.13 4af4ade9792bb9857d55c577d3b7777fe530db7d icedtea6-1.11.14 +8a5fe6a5ea175164a76aa4843aeb876017fe523f icedtea6-1.11.15 diff -r 526f393881d4 -r 5e5a2774e6cc AUTHORS --- a/AUTHORS Mon Jan 20 18:36:40 2014 +0000 +++ b/AUTHORS Thu Jan 30 21:34:21 2014 +0000 @@ -19,6 +19,7 @@ Andrew John Hughes Tomas Hurka Ioana Ivan +Aurelien Jarno C. K. Jester-Young (cky944 at gmail.com) Matthias Klose Francis Kung diff -r 526f393881d4 -r 5e5a2774e6cc ChangeLog --- a/ChangeLog Mon Jan 20 18:36:40 2014 +0000 +++ b/ChangeLog Thu Jan 30 21:34:21 2014 +0000 @@ -1,3 +1,18 @@ +2014-01-30 Andrew John Hughes + + * configure.ac: Set to 1.11.16pre. + * NEWS: Add 1.11.16 section. + +2014-01-20 Andrew John Hughes + + * configure.ac: Set to 1.11.15. + * NEWS: Set date to tomorrow (2014-01-21). + +2014-01-20 Andrew John Hughes + + * AUTHORS: + Credit Aurelien Jarno for D729448 patch. + 2014-01-20 Andrew John Hughes * NEWS: Updated. diff -r 526f393881d4 -r 5e5a2774e6cc NEWS --- a/NEWS Mon Jan 20 18:36:40 2014 +0000 +++ b/NEWS Thu Jan 30 21:34:21 2014 +0000 @@ -11,7 +11,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.11.15 (2014-XX-XX): +New in release 1.11.16 (20XX-XX-XX): + +New in release 1.11.15 (2014-01-21): * Security fixes - S6727821: Enhance JAAS Configuration diff -r 526f393881d4 -r 5e5a2774e6cc configure.ac --- a/configure.ac Mon Jan 20 18:36:40 2014 +0000 +++ b/configure.ac Thu Jan 30 21:34:21 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea6],[1.11.15pre],[distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea6],[1.11.16pre],[distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) From andrew at icedtea.classpath.org Thu Jan 30 13:38:15 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 30 Jan 2014 21:38:15 +0000 Subject: /hg/icedtea6: Add 1.11.15 release notes. Message-ID: changeset 963a9ab43d7f in /hg/icedtea6 details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=963a9ab43d7f author: Andrew John Hughes date: Thu Jan 30 21:38:08 2014 +0000 Add 1.11.15 release notes. 2014-01-30 Andrew John Hughes * NEWS: Add 1.11.15 release notes. diffstat: ChangeLog | 4 ++++ NEWS | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 0 deletions(-) diffs (72 lines): diff -r 2ec0e83f2e83 -r 963a9ab43d7f ChangeLog --- a/ChangeLog Thu Jan 23 18:56:55 2014 +0000 +++ b/ChangeLog Thu Jan 30 21:38:08 2014 +0000 @@ -1,3 +1,7 @@ +2014-01-30 Andrew John Hughes + + * NEWS: Add 1.11.15 release notes. + 2014-01-23 Andrew John Hughes * acinclude.m4: diff -r 2ec0e83f2e83 -r 963a9ab43d7f NEWS --- a/NEWS Thu Jan 23 18:56:55 2014 +0000 +++ b/NEWS Thu Jan 30 21:38:08 2014 +0000 @@ -14,6 +14,57 @@ New in release 1.14.0 (201X-XX-XX): +New in release 1.11.15 (2014-01-21): + +* Security fixes + - S6727821: Enhance JAAS Configuration + - S7068126, CVE-2014-0373: Enhance SNMP status + - S8010935: Better XML handling + - S8011786, CVE-2014-0368: Better applet networking + - S8021257, CVE-2013-5896: com.sun.corba.se.** should be on restricted package list + - S8022904: Enhance JDBC Parsers + - S8022927: Input validation for byte/endian conversions + - S8022935: Enhance Apache resolver classes + - S8022945: Enhance JNDI implementation classes + - S8023057: Enhance start up image display + - S8023069, CVE-2014-0411: Enhance TLS connections + - S8023245, CVE-2014-0423: Enhance Beans decoding + - S8023301: Enhance generic classes + - S8023672: Enhance jar file validation + - S8024306, CVE-2014-0416: Enhance Subject consistency + - S8024530: Enhance font process resilience + - S8024867: Enhance logging start up + - S8025014: Enhance Security Policy + - S8025018, CVE-2014-0376: Enhance JAX-P set up + - S8025026, CVE-2013-5878: Enhance canonicalization + - S8025034, CVE-2013-5907: Improve layout lookups + - S8025448: Enhance listening events + - S8025758, CVE-2014-0422: Enhance Naming management + - S8025767, CVE-2014-0428: Enhance IIOP Streams + - S8026172: Enhance UI Management + - S8026176: Enhance document printing + - S8026193, CVE-2013-5884: Enhance CORBA stub factories + - S8026204: Enhance auth login contexts + - S8026417, CVE-2013-5910: Enhance XML canonicalization + - S8027201, CVE-2014-0376: Enhance JAX-P set up +* Backports + - S6763340: memory leak in com.sun.corba.se.* classes + - S6873605: Missing finishedDispatch() call in ORBImpl causes test failures after 5u20 b04 + - S6893617: JDK 6 CNCtx always uses the default ORB + - S6980681: CORBA deadlock in Java SE believed to be related to CR 6238477 + - S6995424: Eliminate dependency to a deprecated API com.sun.security.auth.PolicyFile + - S7162902: Umbrella port of a number of corba bug fixes from JDK 6 to jdk7u/8 + - S8026826: JDK 7 fix for 8010935 broke the build + - S8027837: JDK-8021257 causes CORBA build failure on emdedded platforms +* Bug fixes + - D729448: 32-bit alignment on mips and mipsel + - Fail if a C and C++ compiler are not detected. + - Only copy tz.properties if the destination directory exists. + - Fix GenerateBreakIteratorData tool so that crashes have stack traces. + - Fix path in nss-not-enabled-config.patch. +* SystemTap support: + - Add garbage collection dtrace/SystemTap probes to HotSpot. + New in release 1.13.1 (2014-01-22): * Security fixes From suenaga.yasumasa at lab.ntt.co.jp Thu Jan 30 16:06:40 2014 From: suenaga.yasumasa at lab.ntt.co.jp (Yasumasa Suenaga) Date: Fri, 31 Jan 2014 09:06:40 +0900 Subject: Bug 1435: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics In-Reply-To: <1391099187.11022.48.camel@galactica.localdomain> References: <52E9EB35.1000208@lab.ntt.co.jp> <1391099187.11022.48.camel@galactica.localdomain> Message-ID: <52EAE910.9020308@lab.ntt.co.jp> Hi Mario, Thank you for reviewing! > The fix itself looks good to me, although I would like this to be > discussed on the java-2d mailing list before it being pushed to IcedTea > alone. We need patches both Bug1435 and 1659 to fix JDK-8017773 . Patch of Bug1435 is not merged to OpenJDK (jdk7/8/9) yet. It has been merged to JDK which is bundled in IcedTea7. So I think that I want to push patch of Bug1659 to IcedTea7 and IcedTea7-2.4 first. After that, I will send request to java-2d mailing list to merge them as JDK-8017773. Thanks, Yasumasa P.S. My customer uses RHEL. So my goal is that Red Hat releases errata to fix this issue :-) On 2014/01/31 1:26, Mario Torre wrote: > On Thu, 2014-01-30 at 15:03 +0900, Yasumasa Suenaga wrote: >> Hi all, >> >> My customer encountered this issue. >> Status of this issue is resolved. However, if bold style is set, >> this issue is appeared yet. >> >> I read source code of "freetype-2.5.0-4.fc20" . >> Bold style should not affect FontFace. However, current implementation >> of OpenJDK affects it to Font Glyph. Thus value of Ascent/Descent is >> incorrect. >> >> I've made patch for this issue as "fontScaler.patch" which is attached >> on this email. Could you review this ? >> >> This issue is also booked in JBS as JDK-8017773: OpenJDK7 returns incorrect >> TrueType font metrics . I think my patch will be fixed this issue too. > > Hello Yasumasa-San, > > This is a very tricky area and brings back lots of memories :) > > The fix itself looks good to me, although I would like this to be > discussed on the java-2d mailing list before it being pushed to IcedTea > alone. > > Cheers, > Mario > > From gitne at icedtea.classpath.org Thu Jan 30 23:13:08 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Fri, 31 Jan 2014 07:13:08 +0000 Subject: /hg/icedtea-web: Javadoc, XHTML conformance, and formatting cleanup Message-ID: changeset 07e06846b07a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=07e06846b07a author: Jacob Wisor date: Fri Jan 31 08:11:43 2014 +0100 Javadoc, XHTML conformance, and formatting cleanup diffstat: ChangeLog | 8 +- netx/net/sourceforge/jnlp/InformationDesc.java | 2 +- netx/net/sourceforge/jnlp/JNLPFile.java | 31 +- netx/net/sourceforge/jnlp/JNLPMatcher.java | 10 +- netx/net/sourceforge/jnlp/Launcher.java | 14 +- netx/net/sourceforge/jnlp/Parser.java | 24 +- netx/net/sourceforge/jnlp/PluginParameters.java | 5 +- netx/net/sourceforge/jnlp/ResourcesDesc.java | 2 +- netx/net/sourceforge/jnlp/Version.java | 9 +- netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java | 3 + netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java | 7 +- netx/net/sourceforge/jnlp/cache/CacheEntry.java | 2 +- netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java | 4 +- netx/net/sourceforge/jnlp/cache/CacheUtil.java | 24 +- netx/net/sourceforge/jnlp/cache/DownloadIndicator.java | 11 +- netx/net/sourceforge/jnlp/cache/IllegalResourceDescriptorException.java | 2 +- netx/net/sourceforge/jnlp/cache/Resource.java | 9 +- netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 87 +- netx/net/sourceforge/jnlp/cache/UpdatePolicy.java | 2 +- netx/net/sourceforge/jnlp/cache/package-info.java | 36 + netx/net/sourceforge/jnlp/cache/package.html | 28 - netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java | 1 - netx/net/sourceforge/jnlp/config/DirectoryValidator.java | 60 +- netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsPane.java | 3 +- netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java | 4 +- netx/net/sourceforge/jnlp/controlpanel/CommandLine.java | 8 +- netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java | 7 +- netx/net/sourceforge/jnlp/event/package.html | 28 - netx/net/sourceforge/jnlp/package-info.java | 48 + netx/net/sourceforge/jnlp/package.html | 30 - netx/net/sourceforge/jnlp/resources/Messages.properties | 4 +- netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 8 +- netx/net/sourceforge/jnlp/resources/Messages_de.properties | 2 +- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 2 +- netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java | 11 +- netx/net/sourceforge/jnlp/runtime/Boot.java | 6 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 11 +- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 88 +- netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java | 23 +- netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java | 6 +- netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java | 8 +- netx/net/sourceforge/jnlp/runtime/package-info.java | 37 + netx/net/sourceforge/jnlp/runtime/package.html | 29 - netx/net/sourceforge/jnlp/security/AppVerifier.java | 1 - netx/net/sourceforge/jnlp/security/KeyStores.java | 2 +- netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java | 4 + netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 16 +- netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java | 6 +- netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionStorage.java | 68 +- netx/net/sourceforge/jnlp/services/ServiceUtil.java | 2 +- netx/net/sourceforge/jnlp/services/XDownloadService.java | 5 +- netx/net/sourceforge/jnlp/services/package-info.java | 37 + netx/net/sourceforge/jnlp/services/package.html | 29 - netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java | 49 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java | 4 +- netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/TextOutlineRenderer.java | 2 +- netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java | 6 +- netx/net/sourceforge/jnlp/tools/CertInformation.java | 21 +- netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 1 - netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java | 2 +- netx/net/sourceforge/jnlp/util/PropertiesFile.java | 2 +- netx/net/sourceforge/jnlp/util/Reflect.java | 16 +- netx/net/sourceforge/jnlp/util/WeakList.java | 2 +- netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java | 2 +- netx/net/sourceforge/jnlp/util/logging/FileLog.java | 55 +- netx/net/sourceforge/jnlp/util/replacements/CharacterDecoder.java | 50 +- netx/net/sourceforge/jnlp/util/replacements/CharacterEncoder.java | 60 +- netx/net/sourceforge/jnlp/util/ui/package-info.java | 17 +- netx/net/sourceforge/nanoxml/XMLElement.java | 345 ++++----- netx/net/sourceforge/nanoxml/XMLParseException.java | 19 +- 70 files changed, 810 insertions(+), 757 deletions(-) diffs (truncated from 3667 to 500 lines): diff -r 369823848b26 -r 07e06846b07a ChangeLog --- a/ChangeLog Thu Jan 30 10:08:31 2014 -0500 +++ b/ChangeLog Fri Jan 31 08:11:43 2014 +0100 @@ -1,3 +1,7 @@ +2014-01-30 Jacob Wisor + + * Javadoc, XHTML conformance, and formatting cleanup + 2014-01-30 Andrew Azores * NEWS: added entry for PolicyPanel @@ -1896,7 +1900,7 @@ Jacob Wisor Added default, DE and PL localization's tweeks - * /netx/net/sourceforge/jnlp/resources/Messages.properties: + * netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_de.properties: * netx/net/sourceforge/jnlp/resources/Messages_pl.properties @@ -2111,7 +2115,7 @@ Added polish localisation * netx/net/sourceforge/jnlp/resources/Messages_de.properties * netx/net/sourceforge/jnlp/resources/Messages.properties: minor fixes - * /netx/net/sourceforge/jnlp/resources/Messages_pl.properties: new localization + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: new localization nearly complete list of PL values * tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java Added PL as known translation diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/InformationDesc.java --- a/netx/net/sourceforge/jnlp/InformationDesc.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/InformationDesc.java Fri Jan 31 08:11:43 2014 +0100 @@ -21,7 +21,7 @@ import java.util.*; /** - * The information element.

    + * The information element. * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.9 $ diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Fri Jan 31 08:11:43 2014 +0100 @@ -36,18 +36,21 @@ import net.sourceforge.jnlp.util.logging.OutputController; /** + *

    * Provides methods to access the information in a Java Network * Launching Protocol (JNLP) file. The Java Network Launching * Protocol specifies in an XML file the information needed to * load, cache, and run Java code over the network and in a secure - * environment.

    - * + * environment. + *

    + *

    * This class represents the overall information about a JNLP file * from the jnlp element. Other information is accessed through * objects that represent the elements of a JNLP file * (information, resources, application-desc, etc). References to * these objects are obtained by calling the getInformation, - * getResources, getSecurity, etc methods.

    + * getResources, getSecurity, etc methods. + *

    * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.21 $ @@ -205,7 +208,7 @@ * @throws ParseException if the JNLP file was invalid */ public JNLPFile(URL location, Version version, ParserSettings settings, UpdatePolicy policy) throws IOException, ParseException { - this(location, version, settings, policy, null); + this(location, version, settings, policy, null); } /** @@ -264,6 +267,7 @@ /** * Create a JNLPFile from an input stream. * + * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, ParserSettings settings) throws ParseException { @@ -277,6 +281,7 @@ * @param input input stream of JNLP file. * @param codebase codebase to use if not specified in JNLP file.. * @param settings the {@link ParserSettings} to use when parsing + * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ public JNLPFile(InputStream input, URL codebase, ParserSettings settings) throws ParseException { @@ -657,17 +662,19 @@ /** * Returns whether a locale is matched by one of more other - * locales. Only the non-empty language, country, and variant + * locales. Only the non-empty language, country, and variant * codes are compared; for example, a requested locale of * Locale("","","") would always return true. * - * @param requested the local + * @param requested the requested locale * @param available the available locales - * @param matchLevel the detail with which to match locales. - * @return true if requested matches any of available, or if - * available is empty or null. + * @param matchLevel the depth with which to match locales. + * @return {@code true} if {@code requested} matches any of {@code available}, or if + * {@code available} is empty or {@code null}. + * @see Locale + * @see Match */ - public boolean localeMatches(Locale requested, Locale available[], Match matchLevel) { + public boolean localeMatches(Locale requested, Locale[] available, Match matchLevel) { if (matchLevel == Match.GENERALIZED) return available == null || available.length == 0; @@ -730,9 +737,7 @@ * Initialize the JNLPFile fields. Private because it's called * from the constructor. * - * @param root the root node - * @param settings the parser settings to use while parsing the file - * @param location the file location or null + * @param location the file location or {@code null} */ private void parse(InputStream input, URL location, URL forceCodebase) throws ParseException { try { diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/JNLPMatcher.java --- a/netx/net/sourceforge/jnlp/JNLPMatcher.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/JNLPMatcher.java Fri Jan 31 08:11:43 2014 +0100 @@ -203,14 +203,12 @@ } /** - * Compares attributes of two Nodes regardless of order + * Compares attributes of two {@link Node Nodes} regardless of order * - * @param appTemplateNode - * signed application or template's Node with attributes - * @param launchJNLPNode - * launching JNLP file's Node with attributes + * @param templateNode signed application or template's {@link Node} with attributes + * @param launchNode launching JNLP file's {@link Node} with attributes * - * @return true if both Nodes have 'matched' attributes, otherwise false + * @return {@code true} if both {@link Node Nodes} have 'matched' attributes, otherwise {@code false} */ private boolean matchAttributes(Node templateNode, Node launchNode) { diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/Launcher.java Fri Jan 31 08:11:43 2014 +0100 @@ -50,13 +50,14 @@ import sun.awt.SunToolkit; /** - * Launches JNLPFiles either in the foreground or background.

    - * + * Launches JNLPFiles either in the foreground or background. + *

    * An optional LaunchHandler can be specified that is notified of * warning and error condition while launching and that indicates * whether a launch may proceed after a warning has occurred. If * specified, the LaunchHandler is notified regardless of whether - * the file is launched in the foreground or background.

    + * the file is launched in the foreground or background. + *

    * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.22 $ @@ -597,15 +598,16 @@ /** * Launches a JNLP applet. This method should be called from a - * thread in the application's thread group.

    - * + * thread in the application's thread group. + *

    * The enableCodeBase parameter adds the applet's codebase to * the locations searched for resources and classes. This can * slow down the applet loading but allows browser-style applets * that don't use JAR files exclusively to be run from a applet * JNLP file. If the applet JNLP file does not specify any * resources then the code base will be enabled regardless of - * the specified value.

    + * the specified value. + *

    * * @param file the JNLP file * @param enableCodeBase whether to add the codebase URL to the classloader diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/Parser.java --- a/netx/net/sourceforge/jnlp/Parser.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/Parser.java Fri Jan 31 08:11:43 2014 +0100 @@ -94,14 +94,14 @@ private boolean allowExtensions; // true if extensions to JNLP spec are ok /** - * Create a parser for the JNLP file. If the location + * Create a parser for the JNLP file. If the location * parameters is not null it is used as the default codebase * (does not override value of jnlp element's href - * attribute).

    - * + * attribute). + *

    * The root node may be normalized as a side effect of this * constructor. - * + *

    * @param file the (uninitialized) file reference * @param base if codebase is not specified, a default base for relative URLs * @param root the root node @@ -113,14 +113,14 @@ } /** - * Create a parser for the JNLP file. If the location + * Create a parser for the JNLP file. If the location * parameters is not null it is used as the default codebase * (does not override value of jnlp element's href - * attribute).

    - * + * attribute). + *

    * The root node may be normalized as a side effect of this * constructor. - * + *

    * @param file the (uninitialized) file reference * @param base if codebase is not specified, a default base for relative URLs * @param root the root node @@ -914,9 +914,9 @@ } /** - * Returns a Locale from a single locale. + * Returns a {@link Locale} from a single locale. * - * @param locale the locale string + * @param localeStr the locale string */ public Locale getLocale(String localeStr) { if (localeStr.length() < 2) @@ -1048,9 +1048,9 @@ /** * Returns a URL object from a href string relative to the - * code base. If the href denotes a relative URL, it must + * code base. If the href denotes a relative URL, it must * reference a location that is a subdirectory of the - * codebase.

    + * codebase. * * @param node the node * @param name the attribute containing an href diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/PluginParameters.java --- a/netx/net/sourceforge/jnlp/PluginParameters.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/PluginParameters.java Fri Jan 31 08:11:43 2014 +0100 @@ -192,8 +192,7 @@ * Creates the underlying hash table with the proper overrides. Ensure all * keys are lowercase consistently. * - * @param params - * the properties, before parameter aliasing rules. + * @param rawParams the properties, before parameter aliasing rules. * @return the resulting parameter table */ static Hashtable createParameterTable( @@ -235,4 +234,4 @@ public String toString() { return parameters.toString(); } -} \ No newline at end of file +} diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/ResourcesDesc.java --- a/netx/net/sourceforge/jnlp/ResourcesDesc.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/ResourcesDesc.java Fri Jan 31 08:11:43 2014 +0100 @@ -19,7 +19,7 @@ import java.util.*; /** - * The resources element.

    + * The resources element. * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.7 $ diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/Version.java --- a/netx/net/sourceforge/jnlp/Version.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/Version.java Fri Jan 31 08:11:43 2014 +0100 @@ -19,18 +19,21 @@ import java.util.*; /** + *

    * A JNLP Version string in the form "1.2-3_abc" followed by an * optional + (includes all later versions) or * (matches any * suffixes on versions). More than one version can be included - * in a string by separating them with spaces.

    - * + * in a string by separating them with spaces. + *

    + *

    * Version strings are divided by "._-" charecters into parts. * These parts are compared numerically if they can be parsed as * integers or lexographically as strings otherwise. If the * number of parts is different between two version strings then * the smaller one is padded with zero or the empty string. Note * that the padding in this version means that 1.2+ matches - * 1.4.0-beta1, but may not in future versions.

    + * 1.4.0-beta1, but may not in future versions. + *

    * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.5 $ diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java --- a/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java Fri Jan 31 08:11:43 2014 +0100 @@ -170,12 +170,15 @@ } /** + *

    * The main entry point for {@link BrowserAwareProxySelector}. Based on * the browser settings, determines proxy information for a given URI. + *

    *

    * The appropriate proxy may be determined by reading static information * from the browser's preferences file, or it may be computed dynamically, * by, for example, running javascript code. + *

    */ @Override protected List getFromBrowser(URI uri) { diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java --- a/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java Fri Jan 31 08:11:43 2014 +0100 @@ -48,16 +48,17 @@ import net.sourceforge.jnlp.util.logging.OutputController; /** + *

    * A parser for Firefox's preferences file. It can 'parse' Firefox's * preferences file and expose the prefrences in a simple to use format. - *

    + *

    * Sample usage: - *
    + * 
    
      * FirefoxPreferencesParser p = new FirefoxPreferencesParser(prefsFile);
      * p.parse();
      * Map<String,String> prefs = p.getPreferences();
      * System.out.println("blink allowed: " + prefs.get("browser.blink_allowed"));
    - * 
    + *
    */ public final class FirefoxPreferencesParser { diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/cache/CacheEntry.java --- a/netx/net/sourceforge/jnlp/cache/CacheEntry.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/cache/CacheEntry.java Fri Jan 31 08:11:43 2014 +0100 @@ -27,7 +27,7 @@ import net.sourceforge.jnlp.util.*; /** - * Describes an entry in the cache.

    + * Describes an entry in the cache. * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.10 $ diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java --- a/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java Fri Jan 31 08:11:43 2014 +0100 @@ -60,7 +60,7 @@ * This class helps maintain the ordering of most recently use items across * multiple jvm instances. * - * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) + * @author Andrew Su (asu at redhat.com, andrew.su at utoronto.ca) * */ public enum CacheLRUWrapper { @@ -98,6 +98,8 @@ /** * Returns an instance of the policy. + * + * @return an instance of the policy */ public static CacheLRUWrapper getInstance() { return INSTANCE; diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/cache/CacheUtil.java --- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java Fri Jan 31 08:11:43 2014 +0100 @@ -54,7 +54,7 @@ /** * Provides static methods to interact with the cache, download - * indicator, and other utility methods.

    + * indicator, and other utility methods. * * @author Jon A. Maxwell (JAM) - initial author * @version $Revision: 1.17 $ @@ -68,7 +68,7 @@ /** * Compares a URL using string compare of its protocol, host, - * port, path, query, and anchor. This method avoids the host + * port, path, query, and anchor. This method avoids the host * name lookup that URL.equals does for http: protocol URLs. * It may not return the same value as the URL.equals method * (different hostnames that resolve to the same IP address, @@ -111,12 +111,12 @@ } /** * Caches a resource and returns a URL for it in the cache; - * blocks until resource is cached. If the resource location is + * blocks until resource is cached. If the resource location is * not cacheable (points to a local file, etc) then the original - * URL is returned.

    + * URL is returned. * * @param location location of the resource - * @param version the version, or null + * @param version the version, or {@code null} * @return either the location in the cache or the original location */ public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { @@ -132,7 +132,7 @@ } /** - * Compare strings that can be null. + * Compare strings that can be {@code null}. */ private static boolean compare(String s1, String s2, boolean ignore) { if (s1 == s2) @@ -148,7 +148,7 @@ /** * Returns the Permission object necessary to access the - * resource, or null if no permission is needed. + * resource, or {@code null} if no permission is needed. */ public static Permission getReadPermission(URL location, Version version) { if (CacheUtil.isCacheable(location, version)) { @@ -230,9 +230,9 @@ * cache and it is up to date. This method may not return * immediately. * - * @param source the source URL + * @param source the source {@link URL} * @param version the versions to check for - * @param connection a connection to the URL, or null + * @param connection a connection to the {@link URL}, or {@code null} * @return whether the cache contains the version * @throws IllegalArgumentException if the source is not cacheable */ @@ -304,9 +304,9 @@ * not download the resource. The latest version of the * resource that matches the specified version will be returned. * - * @param source the source URL + * @param source the source {@link URL} * @param version the version id of the local file - * @return the file location in the cache, or null if no versions cached + * @return the file location in the cache, or {@code null} if no versions cached * @throws IllegalArgumentException if the source is not cacheable */ public static File getCacheFile(URL source, Version version) { @@ -336,7 +336,7 @@ * This will return a File pointing to the location of cache item. * * @param urlPath Path of cache item within cache directory. - * @return File if we have searched before, null otherwise. + * @return File if we have searched before, {@code null} otherwise. */ private static File getCacheFileIfExist(File urlPath) { synchronized (lruHandler) { diff -r 369823848b26 -r 07e06846b07a netx/net/sourceforge/jnlp/cache/DownloadIndicator.java --- a/netx/net/sourceforge/jnlp/cache/DownloadIndicator.java Thu Jan 30 10:08:31 2014 -0500 +++ b/netx/net/sourceforge/jnlp/cache/DownloadIndicator.java Fri Jan 31 08:11:43 2014 +0100 @@ -32,13 +32,14 @@ /** * Return a download service listener that displays the progress - * of downloading resources. Update messages may be reported - * for URLs that are not included initially.

    - * + * of downloading resources. Update messages may be reported + * for URLs that are not included initially. + *

    * Progress messages are sent as if the DownloadServiceListener - * were listening to a DownloadService request. The listener + * were listening to a DownloadService request. The listener * will receive progress messages from time to time during the From gitne at gmx.de Thu Jan 30 23:13:55 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 31 Jan 2014 08:13:55 +0100 Subject: [rfc][icedtea-web] Javadoc, XHTML conformance, and formatting cleanup In-Reply-To: <52E7C043.7010302@redhat.com> References: <52E5E3DE.6010307@gmx.de> <52E66B96.70801@redhat.com> <52E6A58B.6040501@gmx.de> <52E7C043.7010302@redhat.com> Message-ID: <52EB4D33.1040003@gmx.de> On 01/28/2014 03:35 PM, Jiri Vanek wrote: > On 01/27/2014 07:29 PM, Jacob Wisor wrote: >> On 01/27/2014 03:22 PM, Jiri Vanek wrote: >>> On 01/27/2014 05:43 AM, Jacob Wisor wrote: >>>> [...] >>> /** >>> - * >>> - * @author jvanek >>> + * @author Jiri >>> Vanek >>> */ >>> >>> Ugh. Author tag is not allowed. Please just remove instead of fix. >> >> Why is that? A lot of classes have @author doctags. It does not denote >> ownership. It is just a hint >> as to whom to turn for questions about the code in the future. >> If they are absolutely not allowed, well then all other existing @author >> doctags need to be stripped >> too. And, that's kind of mind boggling. > > hmhhm. The oldest classes (original NETX ones) have author and email-to. Since > icedtea take cover over project, the author and email-to become obsoleted (as > distro-pkg-dev is email now) > > I would like to remove, just what was in this hunk - me as Author in this class, > as I joined the team long after icedtea-web was under icedtea. > > If you do have some concerns about my arguments here. Please keep this hunk as > you wish. I have removed your @author doctags, as you requested. Although, from a legal stand point this not necessary, even rather counter indicated. Since IcedTea-Web is licensed under the GPL, documenting authorship is mandatory. No one (except an original author himself) may drop nor request to drop authorship from GPL code, even after modifying the source code. The GPL is *not* public domain. So, any enforcing, mandating, or encouraging policy (as IcedTea-Web's web page does) to relinquish or hide authorship is a violation of the GPL. Yes, the IcedTea-Web's repo operator may deny any contributions but if he decides to accept it he must not request to relinquish nor remove author notices from that contribution or the merged code. So in general, adding @author doctags is okay. IcedTea-Web's contribution policy should probably be rather altered to accept @author doctags in the sense that they denote not only authorship but primarily denote people to turn to for questions in the future. >>> diff -r efa527f74184 >>> netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java >>> --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java >>> +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java >>> @@ -188,8 +188,8 @@ >>> } >>> String line = (createLine(messageWithHeader)); >>> if (mark) { >>> - line = line.replaceAll("\n", "
    \n"); >>> - line = line.replaceAll(" ", "  ");//small trick, html is >>> reducting row of sapces to single space. This handles it and stimm allow line >>> wrap >>> + line = line.replaceAll("\n", "
    \n"); >>> + line = line.replaceAll(" ", "  ");//small trick, html is >>> reducting row of spaces to single space. This handles it and stimm allow line >>> wrap >>> line = line.replaceAll("\t", "    "); >>> >>> This is not possible. Unluckily the java html parser do not survive
    . >>> Please remove this hunk. >> > hhmm. I have just tested. I have not spotted the "strange behavior" which I had > during development. > So its probably ok.... Do you mind to add this hunk as separate chnageset? Okay, I have put it into a separate changeset. Thank you for reviewing. Jacob From gitne at icedtea.classpath.org Fri Jan 31 00:35:43 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Fri, 31 Jan 2014 08:35:43 +0000 Subject: /hg/icedtea-web: Separate XHTML fix due to revision 884 Message-ID: changeset 9f89ce715abc in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=9f89ce715abc author: Jacob Wisor date: Fri Jan 31 09:33:44 2014 +0100 Separate XHTML fix due to revision 884 diffstat: ChangeLog | 5 +++++ netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) diffs (24 lines): diff -r 07e06846b07a -r 9f89ce715abc ChangeLog --- a/ChangeLog Fri Jan 31 08:11:43 2014 +0100 +++ b/ChangeLog Fri Jan 31 09:33:44 2014 +0100 @@ -1,3 +1,8 @@ +2014-01-31 Jacob Wisor + + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: + (importList) Separate XHTML fix due to revision 884 + 2014-01-30 Jacob Wisor * Javadoc, XHTML conformance, and formatting cleanup diff -r 07e06846b07a -r 9f89ce715abc netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Fri Jan 31 08:11:43 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Fri Jan 31 09:33:44 2014 +0100 @@ -188,7 +188,7 @@ } String line = (createLine(messageWithHeader)); if (mark) { - line = line.replaceAll("\n", "
    \n"); + line = line.replaceAll("\n", "
    \n"); line = line.replaceAll(" ", "  ");//small trick, html is reducting row of spaces to single space. This handles it and stimm allow line wrap line = line.replaceAll("\t", "    "); } From jvanek at redhat.com Fri Jan 31 01:02:37 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 31 Jan 2014 10:02:37 +0100 Subject: Upcoming (security)release of icedtea-web 1.4.2 In-Reply-To: <52B1AB13.2060301@redhat.com> References: <52B1AB13.2060301@redhat.com> Message-ID: <52EB66AD.5060609@redhat.com> On 12/18/2013 03:02 PM, Jiri Vanek wrote: > Hi folks! > > As fixes for 1.4 are multiplying and also one currently embargoed issue was found, I would like to > propose release of icedtea-web 1.4 at the beginning of next *year*. > > Unless some objection rise, the 1.4 branch will be frozen in that time, as it will be subject of > additional patching and of course testing.. > > I will write one more email about this when time come. > > Best regards > J. Sorry for delay, please consider 1.4 as frozen (except translations) Once testing i s done, 1.4.2 will be released - Wednesday, 5.2) New in 1.4.2 * Dialogs center on screen before becoming visible * Support for u45 new manifest - Application-Name * Custom applet permission policies panel in itweb-settings control panel * Plugin - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs - RH976833: Multiple applets on one page cause deadlock - Enabled javaconsole Except above also: - Christmas splashscreen extension - fixed classloading deadlocks - cleaned code from warnings - pipes moved to XDG runtime dir + one currently embargoed issue Best regards, J. From jvanek at redhat.com Fri Jan 31 01:26:27 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 31 Jan 2014 10:26:27 +0100 Subject: [rfc][icedtea-web] missing cz sentences in 1.4. Message-ID: <52EB6C43.6080103@redhat.com> Hi! Here are translations of missing peaces from EN to CZ Hoe there is no typo :( J. -------------- next part -------------- A non-text attachment was scrubbed... Name: 1.4.2-MissingCZsentences.patch Type: text/x-patch Size: 5620 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/05371cfa/1.4.2-MissingCZsentences.patch From ptisnovs at redhat.com Fri Jan 31 06:06:38 2014 From: ptisnovs at redhat.com (Pavel Tisnovsky) Date: Fri, 31 Jan 2014 09:06:38 -0500 (EST) Subject: [rfc][icedtea-web] missing cz sentences in 1.4. In-Reply-To: <52EB6C43.6080103@redhat.com> References: <52EB6C43.6080103@redhat.com> Message-ID: <645203135.12308309.1391177198304.JavaMail.root@redhat.com> Hi Jiri, it looks good, I've found two typos only: enbo -> nebo apliakci -> aplikaci Ok to push to 1.4 and head. Thank you, Pavel ----- Jiri Vanek wrote: > Hi! > > Here are translations of missing peaces from EN to CZ > > Hoe there is no typo :( > > > J. From jvanek at icedtea.classpath.org Fri Jan 31 06:17:41 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 31 Jan 2014 14:17:41 +0000 Subject: /hg/release/icedtea-web-1.4: Added missing CZ translations Message-ID: changeset 497032a7105c in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=497032a7105c author: Jiri Vanek date: Fri Jan 31 15:17:16 2014 +0100 Added missing CZ translations * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: added RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError diffstat: ChangeLog | 8 ++++++ netx/net/sourceforge/jnlp/resources/Messages_cs.properties | 17 +++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diffs (84 lines): diff -r 7f886f9e911a -r 497032a7105c ChangeLog --- a/ChangeLog Thu Jan 30 10:10:42 2014 -0500 +++ b/ChangeLog Fri Jan 31 15:17:16 2014 +0100 @@ -1,3 +1,11 @@ +2014-01-31 Jiri Vanek + + Added missing CZ translations + * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + 2014-01-30 Andrew Azores Backport of custom policy panel. diff -r 7f886f9e911a -r 497032a7105c netx/net/sourceforge/jnlp/resources/Messages_cs.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Thu Jan 30 10:10:42 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages_cs.properties Fri Jan 31 15:17:16 2014 +0100 @@ -21,6 +21,7 @@ AlwaysAllowAction=V\u017edy povolit tuto akci Usage=Pou\u017eit\u00ed: Error=Chyba +Warning=Varov\u00e1n\u00ed Continue=Chcete pokra\u010dovat? Field=Pole @@ -151,6 +152,10 @@ RCantReplaceSM=Nen\u00ed dovoleno vym\u011bnit t\u0159\u00eddu SecurityManager. RCantCreateFile=Nelze vytvo\u0159it soubor {0}. RCantDeleteFile=Nelze smazat soubor {0}. +RCantOpenFile=Nemohu otev\u0159\u00edt soubor {0} +RCantWriteFile=Nemohu zapisovat do souboru {0} +RFileReadOnly=Soubor otev\u0159en v re\u017eimu pouze pro \u010dten\u00ed +RExpectedFile=Byl o\u010dek\u00e1v\u00e1n regulern\u00ed soubor {0}, ale nakonec takov\u00fd nebyl. RRemoveRPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke \u010dten\u00ed u souboru {0}. RRemoveWPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed k z\u00e1pisu u souboru {0}. RRemoveXPermFailed=Selhalo odstra\u0148ov\u00e1n\u00ed opr\u00e1vn\u011bn\u00ed ke spou\u0161t\u011bn\u00ed u souboru {0}. @@ -210,9 +215,9 @@ SFileReadAccess=Aplikace vy\u017eaduje p\u0159\u00edstup ke \u010dten\u00ed souboru {0}. Chcete tuto akci povolit? SFileWriteAccess=Aplikace vy\u017eaduje p\u0159\u00edstup k zapisov\u00e1n\u00ed do souboru {0}. Chcete tuto akci povolit? SDesktopShortcut=Aplikace vy\u017eaduje opr\u00e1vn\u011bn\u00ed k vytvo\u0159en\u00ed spou\u0161t\u011bc\u00edho souboru na plo\u0161e. Chcete tuto akci povolit? -SSigUnverified=Digit\u00e1ln\u00ed podpis aplikace nelze ov\u011b\u0159it. Chcete aplikaci spustit? -SSigVerified=Digit\u00e1ln\u00ed podpis aplikace byl ov\u011b\u0159en. Chcete aplikaci spustit? -SSignatureError=Digit\u00e1ln\u00ed podpis aplikace obsahuje chybu. Chcete aplikaci spustit? +SSigUnverified=Digit\u00e1ln\u00ed podpis aplikace nelze ov\u011b\u0159it. Chcete aplikaci spustit? Tato aplikace z\u00edsk\u00e1 neomezen\u00fd p\u0159\u00edstup k po\u010d\u00edta\u010di. +SSigVerified=Digit\u00e1ln\u00ed podpis aplikace byl ov\u011b\u0159en. Chcete aplikaci spustit? Tato aplikace z\u00edsk\u00e1 neomezen\u00fd p\u0159\u00edstup k po\u010d\u00edta\u010di. +SSignatureError=Digit\u00e1ln\u00ed podpis aplikace obsahuje chybu. Chcete aplikaci spustit? Tato aplikace z\u00edsk\u00e1 neomezen\u00fd p\u0159\u00edstup k po\u010d\u00edta\u010di. SUntrustedSource=Digit\u00e1ln\u00ed podpis nelze ov\u011b\u0159it pomoc\u00ed d\u016fv\u011bryhodn\u00e9ho zdroje. Aplikaci spus\u0165te, pouze pokud v\u011b\u0159\u00edte p\u016fvodu aplikace. SWarnFullPermissionsIgnorePolicy=Spou\u0161t\u011bn\u00e9mu k\u00f3du budou ud\u011blena pln\u00e1 opr\u00e1vn\u011bn\u00ed bez ohledu na p\u0159\u00edpadn\u00e1 va\u0161e vlastn\u00ed pravidla chov\u00e1n\u00ed prost\u0159ed\u00ed Java. STrustedSource=Digit\u00e1ln\u00ed podpis byl ov\u011b\u0159en pomoc\u00ed d\u016fv\u011bryhodn\u00e9ho zdroje. @@ -337,6 +342,9 @@ CPJVMNotokMessage2=Tuto zpr\u00e1vu vid\u00edte pravd\u011bpodobn\u011b proto\u017ee:

    * V\u00e1\u0161 syst\u00e9m nepro\u0161el n\u011bkter\u00fdm z ov\u011b\u0159ovac\u00edch test\u016f
    * Bylo detekov\u00e1no jin\u00e9 prost\u0159ed\u00ed ne\u017e OpenJDK
    S neplatn\u00fdm prost\u0159ed\u00edm JDK nebude se pravd\u011bpodobn\u011b nebude aplikace IcedTea-Web schopna spustit.
    Budete muset upravit nebo odstranit vlastnost {0} ve va\u0161em konfigura\u010dn\u00edm souboru {1}.
    M\u011bli byste ve sv\u00e9m syst\u00e9mu nal\u00e9zt prost\u0159ed\u00ed OpenJDK, nebo byste m\u011bli dob\u0159e v\u011bd\u011bt, co d\u011bl\u00e1te. CPJVMconfirmInvalidJdkTitle=Potvrzen\u00ed neplatn\u00e9ho prost\u0159ed\u00ed JDK CPJVMconfirmReset=Obnovit v\u00fdchoz\u00ed nastaven\u00ed? +CPPolicyDetail=Zobrazit nebo upravit u\u017eivatelsk\u00fd soubor java politik. Politiky umon\u017e\u0148uj\u00ed p\u0159idat nebo odebrat aplikaci pr\u00e1va, bez ohledu na b\u011b\u017en\u00e1 pravidla bezpe\u010dn\u00e9ho, izolovan\u00e9ho prostoru (sandbox). +CPPolicyTooltip=Otev\u0159\u00edt soubor {0} v editoru politik +CPPolicyEditorNotFound=Nemohu nal\u00e9zt syst\u00e9mov\u00fd editor politik. Zkontrolujte, zdali je policytool na PATH. # Control Panel - Buttons CPButAbout=O aplikaci IcedTea-Web @@ -344,6 +352,7 @@ CPButSettings=Nastaven\u00ed... CPButView=Zobrazit... CPButCertificates=Certifik\u00e1ty... +CPButPolicy=Zobrazit/Upravit pomoc\u00ed n\u00e1stroje Policy Tool - editoru politik # Control Panel - Headers CPHead=Ovl\u00e1dac\u00ed panel IcedTea-Web @@ -356,6 +365,7 @@ CPHeadDesktopIntegration=\u00a0Integrace s pracovn\u00ed plochou\u00a0 CPHeadSecurity=\u00a0Nastaven\u00ed zabezpe\u010den\u00ed\u00a0 CPHeadJVMSettings=\u00a0Nastaven\u00ed JVM\u00a0 +CPHeadPolicy=\u00a0U\u017eivatelsk\u00e9\u00a0Nastaven\u00ed\u00a0Politik\u00a0 # Control Panel - Tabs CPTabAbout=O aplikaci IcedTea-Web @@ -368,6 +378,7 @@ CPTabRuntimes=Moduly runtime CPTabSecurity=Zabezpe\u010den\u00ed CPTabJVMSettings=Nastaven\u00ed JVM +CPTabPolicy=Nastaven\u00ed Politik # Control Panel - AboutPanel CPAboutInfo=Toto je ovl\u00e1dac\u00ed panel umo\u017e\u0148uj\u00edc\u00ed nastavit deployment.properties.
    Dokud nebudou implementov\u00e1ny v\u0161echny funkce, n\u011bkter\u00e9 z nich nebudou \u00fa\u010dinn\u00e9.
    V sou\u010dasnosti nen\u00ed podporov\u00e1no pou\u017e\u00edv\u00e1n\u00ed v\u00edce prost\u0159ed\u00ed JRE.
    From aazores at redhat.com Fri Jan 31 08:16:39 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 31 Jan 2014 11:16:39 -0500 Subject: [rfc][icedtea-web] Signed applets with codebase loading Message-ID: <52EBCC67.5050409@redhat.com> Hi, This patch adds tests that were originally meant to be included with the PR1513 fix (signed applet with external/codebase main-class) but never made it in, as well as adding a similar test, where the applet is signed and uses codebase-loaded classes, but the main-class is within a signed JAR. In both of these cases, the applet is expected to run, and it is expected to be done with mixed permissions. The PR1592 tests already test the mixed permissions security implementation, so these tests simply assert that the applets can be run. Most notable however is the fact that without the JNLPClassLoader changes included in this patch, signed applets which load from the codebase are considered as fully signed by the classloader. They should really be treated as partially signed and the user prompted to run them. This patch makes it so. I do not know of any way to detect that this is going to happen beforehand, so this check is performed during classloading, which means it is possible for the dialog to appear for the first time in the middle of executing an applet, depending on the particular applet. The tests are currently immediately failing on purpose and marked KnownToFail. This is because the existing prompt used for Partially Signed purposes appears during reproducer runs, which causes the runs to be slower, and the tests to fail anyway. Once a NotAllSigned Dialog replacement is in place which can be made to not appear during reproducer runs (such as the proposed PartiallySigned dialog on this list), then these tests can be properly enabled. Apply the test patch and run them (whitelist SignedApplet.*), and note the behaviour regarding when NotAllSigned appears or does not appear. Then apply the classloader patch and re-run the tests, noting again the security prompt behaviour. I don't know how to programmatically ensure that the dialogs have actually appeared, other than putting print statements in the dialogs to detect them (which is kind of horrible). Any ideas on this? ChangeLog: * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed applets which load from the codebase as partially signed * tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html: new test to ensure that signed applets with codebase loading can run * tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile * tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java * tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java * tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java * tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html: new test to ensure that signed applets with codebase-loaded main-classes can run * tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile * tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java * tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java * tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: signed_applet_codebase_loading_classloader.patch Type: text/x-patch Size: 5886 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/5afd10bb/signed_applet_codebase_loading_classloader-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: signed_applet_codebase_loading_tests.patch Type: text/x-patch Size: 25154 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/5afd10bb/signed_applet_codebase_loading_tests-0001.patch From gitne at gmx.de Fri Jan 31 09:03:49 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 31 Jan 2014 18:03:49 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages Message-ID: <52EBD775.3050400@gmx.de> Hello there! As usually, I have left original messages as comments for your convenience during comparison. And, I have also fixed one typo too. ;-) Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: DE localization.patch Type: text/x-patch Size: 6926 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/459543d2/DElocalization.patch From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 09:52:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 31 Jan 2014 17:52:31 +0000 Subject: [Bug 1660] New: [IcedTea7] Allow use of system PCSC Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1660 Bug ID: 1660 Summary: [IcedTea7] Allow use of system PCSC Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Ensure PCSC works at compile time, not runtime. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/28052dad/attachment.html From stefan at complang.tuwien.ac.at Fri Jan 31 09:58:54 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Fri, 31 Jan 2014 18:58:54 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: <52EBD775.3050400@gmx.de> References: <52EBD775.3050400@gmx.de> Message-ID: > As usually, I have left original messages as comments for your convenience > during comparison. And, I have also fixed one typo too. ;-) What do you use to edit these files? They are difficult to read with all the escaped umlauts. From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 10:16:24 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 31 Jan 2014 18:16:24 +0000 Subject: [Bug 1660] [IcedTea7] Allow use of system PCSC In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1660 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=62781eb5cd06 author: andrew date: Fri Jan 31 17:53:00 2014 +0000 PR1660: Allow use of system PCSC -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/a8f0dec3/attachment.html From andrew at icedtea.classpath.org Fri Jan 31 13:40:25 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 31 Jan 2014 21:40:25 +0000 Subject: /hg/icedtea7: Include PPC port and fixes for PR1660 & RH1015432. Message-ID: changeset 2cf17e5380f2 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=2cf17e5380f2 author: Andrew John Hughes date: Fri Jan 31 21:39:59 2014 +0000 Include PPC port and fixes for PR1660 & RH1015432. 2014-01-31 Andrew John Hughes * patches/boot/jaxp-dependency.patch: Removed as provided by PPC port integration. * patches/ppc/8026703-xsl_include.patch: Removed following PPC port integration. * INSTALL: Updated. * Makefile.am, (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Drop PPC-specific patch. (ICEDTEA_BOOT_PATCHES): Drop jaxp-dependency.patch (ICEDTEA_ENV): Add system libpcsc options. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Use host_cpu and don't enable on ppc64 any more. (IT_CHECK_FOR_PCSC): System libpcsclite support macro. * configure.ac: Call IT_CHECK_FOR_PCSC. * hotspot.map: Remove ppc. Update default to tip. * patches/boot/ant-javac.patch, * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * remove-intree-libraries.sh.in: Remove libpcsclite headers when building with system version. diffstat: ChangeLog | 38 ++++ INSTALL | 26 +- Makefile.am | 37 ++-- NEWS | 229 ++++++++++++++++++++++++++ acinclude.m4 | 35 +++- configure.ac | 1 + hotspot.map | 3 +- patches/boot/ant-javac.patch | 12 +- patches/boot/jaxp-dependency.patch | 25 -- patches/boot/jaxws-langtools-dependency.patch | 26 +- patches/ppc/8026703-xsl_include.patch | 48 ----- remove-intree-libraries.sh.in | 5 + 12 files changed, 357 insertions(+), 128 deletions(-) diffs (truncated from 670 to 500 lines): diff -r aa96b9ba80e0 -r 2cf17e5380f2 ChangeLog --- a/ChangeLog Thu Jan 30 15:09:47 2014 +0000 +++ b/ChangeLog Fri Jan 31 21:39:59 2014 +0000 @@ -1,3 +1,41 @@ +2014-01-31 Andrew John Hughes + + * patches/boot/jaxp-dependency.patch: + Removed as provided by PPC port integration. + * patches/ppc/8026703-xsl_include.patch: + Removed following PPC port integration. + * INSTALL: Updated. + * Makefile.am, + (CORBA_CHANGESET): Update to current HEAD. + (JAXP_CHANGESET): Likewise. + (JAXWS_CHANGESET): Likewise. + (JDK_CHANGESET): Likewise. + (LANGTOOLS_CHANGESET): Likewise. + (OPENJDK_CHANGESET): Likewise. + (CORBA_SHA256SUM): Likewise. + (JAXP_SHA256SUM): Likewise. + (JAXWS_SHA256SUM): Likewise. + (JDK_SHA256SUM): Likewise. + (LANGTOOLS_SHA256SUM): Likewise. + (OPENJDK_SHA256SUM): Likewise. + (ICEDTEA_PATCHES): Drop PPC-specific patch. + (ICEDTEA_BOOT_PATCHES): Drop jaxp-dependency.patch + (ICEDTEA_ENV): Add system libpcsc options. + * NEWS: Updated. + * acinclude.m4: + (IT_ENABLE_ZERO_BUILD): Use host_cpu and don't enable + on ppc64 any more. + (IT_CHECK_FOR_PCSC): System libpcsclite support macro. + * configure.ac: + Call IT_CHECK_FOR_PCSC. + * hotspot.map: Remove ppc. Update default to tip. + * patches/boot/ant-javac.patch, + * patches/boot/jaxws-langtools-dependency.patch: + Regenerated. + * remove-intree-libraries.sh.in: + Remove libpcsclite headers when building with system + version. + 2014-01-30 Andrew John Hughes * NEWS: Add 2.4.5 release notes. diff -r aa96b9ba80e0 -r 2cf17e5380f2 INSTALL --- a/INSTALL Thu Jan 30 15:09:47 2014 +0000 +++ b/INSTALL Fri Jan 31 21:39:59 2014 +0000 @@ -10,9 +10,8 @@ A bootstrap JDK, either: - GNU libgcj 4.4.0 (or equivalent class library based on GNU Classpath >= 0.95) for --enable-bootstrap mode (the default) - IcedTea6 or IcedTea7 for --disable-bootstrap mode -Eclipse Java Compiler (ecj) CUPS -libX11 (libXp, libXtst, libXi, libXt) +libX11 (libXp, libXtst, libXi, libXt, libXinerama) Freetype2 patch sed @@ -20,18 +19,19 @@ sha256sum (from coreutils) wget alsa -xalan -xerces -glib2-devel -gtk2-devel +xsltproc (for bootstrapping) ant >= 1.6.5 with the regexp task from ant-nodeps -libXinerama-devel -giflib-devel -libpng-devel -libjpeg-devel >= 6b -zlib-devel +glib2-devel (for --enable-system-gio) +gtk2-devel (for --enable-system-gtk) +giflib-devel (for --enable-system-gif) +libpng-devel (for --enable-system-png) +libjpeg-devel >= 6b (for --enable-system-jpeg) +zlib-devel (for --enable-system-zlib) +fontconfig (for --enable-system-fontconfig) +libc6-dev & libattr-devel/libattr1-dev (for --enable-compile-against-syscalls) +libpcsclite (for --enable-system-pcsc) rhino (can be disabled using --without-rhino) -libffi (for --enable-zero or on archs other than x86/x86_64/sparc) +libffi (for --enable-zero or on archs other than x86/x86_64/sparc/ppc64) pulseaudio-libs-devel >= 0.9.11 (for --enable-pulse-java) LLVM 2.5 or later (for --enable-shark) systemtap-sdl-devel >= 0.9.5 (Java method tracing requires systemtap >= 0.9.9) @@ -106,6 +106,8 @@ GIO instead of trying to dynamically open it at runtime. * --enable-system-fontconfig: Build and link against the system installation of fontconfig instead of trying to dynamically open it at runtime. +* --enable-system-pcsc: Build and link against the system installation of + libpcsclite instead of trying to dynamically open it at runtime. * --enable-compile-against-syscalls: Check for syscalls at compile-time not runtime. * --with-gcj: Compile ecj to native code with gcj prior to building. * --with-parallel-jobs: Run the specified number of parallel jobs when diff -r aa96b9ba80e0 -r 2cf17e5380f2 Makefile.am --- a/Makefile.am Thu Jan 30 15:09:47 2014 +0000 +++ b/Makefile.am Fri Jan 31 21:39:59 2014 +0000 @@ -4,19 +4,19 @@ BUILD_VERSION = b03 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 1d9647b1ff91 -JAXP_CHANGESET = 84cee724e1a8 -JAXWS_CHANGESET = a840edf95760 -JDK_CHANGESET = 3cc793e4b177 -LANGTOOLS_CHANGESET = c1b7eb1ea511 -OPENJDK_CHANGESET = 18745a6e5f6d +CORBA_CHANGESET = 47343904e95d +JAXP_CHANGESET = 74093b75ddd4 +JAXWS_CHANGESET = 3f7212cae6eb +JDK_CHANGESET = 62781eb5cd06 +LANGTOOLS_CHANGESET = 0d89cc5766d7 +OPENJDK_CHANGESET = ba9872fc05cc -CORBA_SHA256SUM = 8973eee61b625bf0fa43a369f1932385252a19154cf3e1870dd0cab34edfadf5 -JAXP_SHA256SUM = 44cf8572051bdae93f18a0a860e3f5b01a75a876f7fb5b0d97d5e96d7b1778ae -JAXWS_SHA256SUM = 328d8d964143d97a875dab4573071231b7d28286c2656242b39221358327965a -JDK_SHA256SUM = 229e9e20f8fd4d62be34ff20653f49b6defa021ff8e5c9841fb1fc2b0199d23b -LANGTOOLS_SHA256SUM = 7e3e82ef3fae40e7628f088dae8e3b51ab426419f3e548782fd43d6961c531d7 -OPENJDK_SHA256SUM = 834ed675c9382c95a639d1ec0c7a712ce2d9e83dbc0d2fa74fe686527f6d2582 +CORBA_SHA256SUM = 78298de3f81eab8c6875f802d76789ad615920a4278f5665eea79045ee0da638 +JAXP_SHA256SUM = 5fc990186c57ed95ad3f9fb4783e874085f1fc624afb81899354c0df04cad73e +JAXWS_SHA256SUM = d31d69e23ccf362c569d714d3ba10236e5c2735ec1b156cdba75359b3f1e9e51 +JDK_SHA256SUM = b6f726345f15b7cca18fa74507469bc6bd1ab413211f47a7eaf41e887512a80d +LANGTOOLS_SHA256SUM = b1ffddcca4bf3a68b95a410002235d062469362193aadf2b886e9a06092a8d35 +OPENJDK_SHA256SUM = 0c451d9f107ac425d1b1d0f283f12a268ec1ec1e6d13d266a53723896d1cb578 CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab @@ -262,11 +262,6 @@ # Conditional patches -if WITH_ALT_HSBUILD -ICEDTEA_PATCHES += \ - patches/ppc/8026703-xsl_include.patch -endif - if WITH_RHINO ICEDTEA_PATCHES += \ patches/rhino.patch @@ -328,7 +323,6 @@ patches/boot/tobin.patch \ patches/boot/tools.jar.patch \ patches/boot/jopt.patch \ - patches/boot/jaxp-dependency.patch \ patches/boot/genstubs-nofork.patch \ patches/boot/getannotation-cast.patch \ patches/boot/break-processbuilder-dependency.patch \ @@ -602,6 +596,13 @@ KRB5_CFLAGS="${KRB5_CFLAGS}" endif +if USE_SYSTEM_PCSC +ICEDTEA_ENV += \ + USE_SYSTEM_PCSC="true" \ + PCSC_LIBS="${PCSC_LIBS}" \ + PCSC_CFLAGS="${PCSC_CFLAGS}" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r aa96b9ba80e0 -r 2cf17e5380f2 NEWS --- a/NEWS Thu Jan 30 15:09:47 2014 +0000 +++ b/NEWS Fri Jan 31 21:39:59 2014 +0000 @@ -119,6 +119,231 @@ - S8030061: new hotspot build - hs24.60-b05 - S8030070: Test java/io/File/CheckPermission.java fails due to unfinished recursion (java.lang.StackOverflowError) when JIT'ed code (-client,-server) is running - S8031787: Remove fix JDK-8026887 from 7u60 +* PPC & AIX port + - Add AIX-specific build instructions to README-ppc.html + - Added AIX as testing platform for more jtreg tests written in shell-script + - Added AIX specific build defs file + - Added AIX to list of operating systems to include in static jli build + - Added AIX version of classlist + - Added enumIPv4Interfaces, enumIPv6Interfaces and getMacAddress implementation for AIX. + - Added initial AIX version of UNIXProcess.java copied from existing Solaris one + - Added missing B_FALSE and B_TRUE definitions for AIX when building ec component. + - Added missing Dlinfo structure for SAP version of hprof_md.c + - Added section about problems with pre-installed ANT and our bootstrap JDK on Linux and how to solve them + - Added UnixOperatingSystem.getTotalPhysicalMemorySize and getFreePhysicalMemorySize implementation for AIX by facilitating perfstat APIs. + - add "/lib//jli/" to the runtime library path in the java launcher for AIX because AIX ld doesn't support $ORIGIN and libjli.so isn't found otherwise + - Add libmawt linking for libfontmanager on AIX platform + - Add memory limit requirements (ulimit) for AIX to README-ppc.html + - Addon for merge 5851:b717d0d99407 - add missing file AixNativeDispatcher.c + - Add OS and Compiler information to the VM version string on AIX + - Add section about the necessity of 'GNU tar' during the build process + - Add some AIX-specific files which were missing from changeset 5101:a06818b39f7c + - adlc: do safe call to constant_offset() in debug coding + - aix: add macros AIX_ONLY and NOT_AIX + - aix: AIX platform files as required to start up the interpreter. + - AIX changes to build the complete OpenJDK on a vanilla AIX system + - aix: fix disclaiming memory. + - Aix port: add file globalDefinitions_xlc.hpp. + - aix: remove warnings about memory allocation + - asm: fix DelayedConstant + - Basic AIX adaption. With this change the VM can successfully run 'HelloWorld' on AIX + - Build "fdlibm" without optimizations and with -qfloat=nomaf on AIX + - C argument in register AND stack slot. + - Check consistency of the PPC-specific flag 'UseSIGTRAP' with 'ImplicitRangeChecks' and 'ImplicitNullChecks' + - C-interpreter: add biased locking support + - C-interpreter: basic fixes + - C-interpreter: Fix for OSR. + - C-interpreter: implement bytecode profiling. + - C-interpreter: implement G1 support + - C-interpreter: implement support for compressed Oops. + - C++ interpreter: implement support for early return + - C-interpreter: improve memory ordering implementation. + - C-interpreter: memory ordering as required for platforms with weak memory ordering (PPC) + - C-interpreter: some diffs I missed before + - C-interpreter: support for method handles. + - Corrected incorrect use of ps -e on AIX + - Disable sctp support for now on AIX platform + - Disable use of sys/swap.h when building UnixOperatingSystem_md.c on AIX + - dlopen() on AIX does not support RTLD_NOLOAD, so use RTLD_LZAY to workaround. + - Enable AWT/Swing on AIX + - Enable awt to build on AIX + - Enable building jaas library on AIX platform + - Enabled SoundDefs to build on AIX + - Enable jdi script based tests to run on AIX. (fixed issue with uname -s result not being understood by tests) + - Enable mannual and Javadoc on AIX platform + - Enable medialib to build on AIX + - Enable the build of HotSpot 'CORE' targets from the top-level makefile by setting CORE_BUILD=true. + - Enable Tls operations in jdwp socket transport module for AIX platform + - Expand conditional include in several more source files to not include + - Expanded check for which wait.h to use. Changed so on AIX sys/wait.h is used. + - Expanded platform choice logic to include AIX when deciding to create the MB macro. + - Explicitly defined ARCH_DATA_MODEL for AIX to be 64 + - Export 'USE_PTHREADS' on Linux trough CPPFLAGS to fix the build because java_md_solinux.c now only relies on 'USE_PTHREADS' beeing defined. + - Extended BSD remapping of special 64 bit directory function names to generic versions to now apply to AIX. + - Extended decision to use pthreads in java_md_solinux to include specific use of USE_PTHREADS define + - Extended existing ifdef to cover AIX so that npt does not include link.h + - Extended find zone info functionaility to compile on AIX + - Extend existing Solaris behaviour to cover AIX and treat empty TZ envvar same as no TZ envvar + - Extend Load and Store nodes to know about memory ordering. + - fastdebug build: images step fails building installer binaries + - Fix aix build error. + - Fix broken AIX build + - Fix build on Linux with 64kb default page size + - Fix build with gcc 4.7 + - Fix calls to the LoadLNode constructor with the Load semantics argument in the wrong position. + - Fixed from 8 port moved to 7. + - Fixed JTreg failure from java/util/ResourceBundle/Control/ExpirationTest.sh + - Fixed memory handling/bookkeeping of mmaped memory on AIX + - Fixed sun/nio/ch implementation on AIX + - Fix IA64 preprocessor conditionals on AIX!!! + - Fix iconv encoding problem on AIX < 7.1 in SplashConvertStringAlloc + - Fix JTreg failure from java/nio/charset/Charset/NIOCharsetAvailabilityTest.java + - Fix JTreg failure from java/nio/charset/spi/basic.sh + - Fix native multicast sockets implementation on AIX + - Fix native stack traces in hs_err files on Linux/PPC64 + - Fix setting of SO_REUSEADDR socket option on AIX (where the socket option is called SO_REUSEPORT) + - Fix small mistake introduced by the port which breaks the Windows build + - Fix typo in change 'Fix native stack traces in hs_err files..' + - Fix usage of feature detection on ppc for fsqrt instruction. Also guarantee no wrong instructions are used. + - Fix -Xcheck:jni on AIX + - Fix Xrender backend on 64-bit Big-endian architectures + - Further format fixes after removing ppc_ prefixes. + - G1: Fix problem with nonvolatile field + - G1: Port C-interpreter to support G1. + - gethostbyname_r and gethostbyaddr_r have got different syntax on AIX, this patch added the support of host entry getting. + - Implement AttachListener for AIX + - Implemented a no-op version of getPlatformTimeZoneID() for AIX + - Implemented os::thread_cpu_time for AIX + - Implement printing CodeComments in stubs. + - Implement printing CodeComments in stubs: fix product build. + - Implement support for the "System V Print Subsystem" on AIX + - Implement workaround for I/O cancellation on AIX (by using the Linux wrappers from "linux_close.c") + - Improve adlc usability. + - Improve handling of memory ordering in taskqueue.hpp. + - Include dlfcn.h since link.h is not available on AIX + - Include files needed for PPC C2 build. + - Initial AIX build config files primarily based on changes from SAP. This is to preserve any Hotspot speciific settings + - Initial Aix-Port checkin. + - Initial PPC-Port checkin + - link.h not required (and does not exist) on AIX. Expanded conditional include to cover AIX + - linux: extend signal handler to catch SIGTRAP on ppc. + - Make hsdis build and work on Linux/PPC64 + - make: Implement aix ppc64 build. + - make: Implement linux ppc64 support in makefiles. + - Make nio module to build on AIX + - make: Reenable CORE build + - Memory ordering as required for platforms with weak memory ordering (PPC) + - Memory ordering: introduce functions to specify platform properties. + - method handles: some smaller fixes and extensions for ppc + - New HS24 JSR292 implementation for PPC64 + - opto: adapt assertion in postaloc.cpp for ppc. + - opto: Basic fixes for the ppc C2 port + - opto: Do not relocate in scratch emit. + - opto: explicit specification of rematerialization in ad file. + - opto: Extend adlc to generate fields into nodes. + - opto: Extend ImplicitNullCheck optimizations. + - opto: Extend Load and Store nodes to know about memory ordering. + - Opto: extend MachConstantNode functionality to ins_encode statements. + - opto: hook to postprocess matcher output platform dependent. + - opto: initialize _node_regs_max_index + - Opto: introduce phase lateExpand to expand nodes after register allocation. + - opto: issue more memory barriers as neede on PPC. + - opto: Move static _in_dump_cnt to Compile object. + - opto: Pass output stream to more debug routines. + - opto/ppc: trap based null and range checks + - opto / regalloc: Fix problem with rematerialization + - opto,rt: Support for C calling conventions that require 64-bit ints. + - opto: specify offset of IC load in java_to_interp stub. + - Opto: Support for constants in stub code. + - opto: support for constants on ppc + - opto: switch off OptimizeFill on PPC as it causes errors. + - opto: Trampoline relocations + - opto: trap based null and range checks + - Part assembler and macroassembler into two files. + - posix: fix build errors on aix 7.1 and sparc + - posix: Implement methods giving infos about signals. + - ppc/aix: Adaptions needed for recent update. + - ppc/aix: Fixes for recent update + - PPC assembler and register definitions. + - PPC assembly needed to start up the interpreter. + - ppc: compiler fixes & enable OSR + - PPC: Continue C2 port: now jvm98 runs with compiler + - ppc: enable better implicit null check recognition with cOops + - ppc: fix cOops problem on aix + - ppc: fix gcc 4.3.4 build + - ppc: Fix issue in trap based null check optimization + - ppc: Fix register usage in GetAndAdd & friends. + - ppc: fix safepoint node. + - ppc: fix trap based range checks. + - ppc: Implement card mark emitter for concurrentMarkSweep. + - PPC: Initial C2 compiler port. + - ppc: Initial C2 compiler port, ppc files + - ppc: port method handles support (hs21-hs23 version) + - ppc: PPC platform files as required to start up the interpreter. + - ppc: Relax load aquire and various minor changes + - ppc: SIGTRAP based checks + - PPC specific C2 flags: add macro PD_C2_FLAGS to global flag definitions. + - PPC specific flags: add macro PD_FLAGS to global flag definitions. + - ppc: support for g1, cOops + - Propagate HOTSPOT_BUILD_JOBS and PARALLEL_COMPILE_JOBS from the top-level make to the corresponding sub-makes. + - Recent changes to ppc files, especially to ppc.ad file. + - Recent improvements by SAP. + - Re-enable the 'gamma' test at the end of the HotSpot build, but only for HotSpot based bootstrap JDKs. + - Removed unused DL_info declaration in java_md_solinux.c that caused AIX compiler failure + - Remove ppc_ prefixes in ppc files. + - Remove some unnecessary diffs to Oracle coding. + - rt: add fence to taskqueue to fix probelms showing in torture tests + - rt: C argument in register AND stack slot. + - rt: extend ELF-decoder to ppc function descriptor tables + - rt: Use stubs to implement safefetch. + - S7177701: error: Filling jar message during javax/imageio/metadata/IIOMetadataFormatImpl compilation + - S8003850 opto: introduce phase lateExpand to expand nodes after register allocation. + - S8003850: add support for constants in stub code + - S8003853 opto: specify offset of IC load in java_to_interp stub. + - S8005055: pass outputStream to more opto debug routines + - S8006971 rt: Improve handling of memory ordering in taskqueue.hpp. + - Several NIO fixes for AIX to pass JCK tests + - shared assembler: fix DelayedConstant. + - shared: Basic non-functional fixes needed for the ppc port. + - shared: Fix IA64 preprocessor conditionals on AIX. + - shared: introduce functions to specify memory ordering properties of platforms. + - shared: Make adapter_code_size a function. + - shared: Make hotspot build with gcc 4.7.2 and newer + - shared: Make hsdis build and work on Linux/PPC64 + - shared: Memory ordering as required for platforms with weak memory ordering (PPC) + - shared: ordering of Independent Reads of Independent Writes + - Some basic AIX changes to let the VM bootstrap itself and run JVM98. + - Support for C calling conventions that require 64-bit ints. + - Switched LD path setup for freetype version check so AIX can be covered by the 'everything else' part + - Switch off Compressed Oops on AIX until we fix them + - Temporarily disable 'EnableInvokeDynamic' while working on the new HS24 indy implementation + - Temporarily switch off 'TrapBasedRangeChecks' + - Trampoline relocations. + - Trampoline relocations. Add some more functionality. + - Turned off ImplicitNullChecks on AIX by default because it requires UseSIGTRAP which isn't currently implemented on AIX + - Updated conditional handling for AIX when BLOCK_SOURCE enabled. Resolved Undefined symbol: .isSourceFilterSupported + - Updated Defs-versions to understand about using xlc compiler on AIX + - Updated genUnixConstants.c to compile on AIX. Made location of fcntl.h file platform specific and added a default value for O_NOFOLLOW as not supported on AIX + - Updated hprof demo to build on AIX. Added SAP changes to fake out DLinfo etc + - Updated hprof_md.c to include AIX as platform without hires timer + - Updated location of bootstrap JDKs + - Updated Platform.gmk to set PLATFORM=aix when uname is AIX + - Updated README-ppc.html to reflect the current project status + - Updated README to reflect the current status of the project (mainly the availability of a mixed-mode VM on Linux and AIX) + - Updated test scripts to understand AIX os environment + - Updated using pthreads in java_md_solinux.c to just rely on USE_PTHREADS. Removed the superflous __linux__ as USE_PTHREADS is already explictly turned on for linux builds + - Use fork() to provide FORK() as Linux + - Use LIBPATH in the launcher on AIX insted of LD_LIBRARY_PATH + - Use macosx's BsdVirtualMachine implementation to provide tools/attach on AIX platform. + - Use stubs to implement safefetch. + - Use the solaris' approach of doing IsXRenderAvailable check for AIX +* Backports + - S7103549: Remove dependencies on libjava and libjvm from security libraries + - S8000204: Memory leak in com/sun/security/auth/module/Unix.c + - S8000476: Memory Leaks and uninitialized memory access in PKCS11 and other native code + - S8001579: Cleanup warnings in security native code + - S8007607: security native code doesn't always use malloc, realloc, and calloc correctly + - S8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c * Bug fixes - Fix implicit function declarations - PR1617: Include defs.make in vm.make so zeroshark.make is included @@ -126,6 +351,10 @@ - Drop compile_method argument removed in 7083786 from sharkCompiler.cpp - Remove binary files and unlicensed generated files - PR1655: Don't add IcedTea-Web jars to bootclasspath + - Enable CC_INTERP on ppc64 + - Fix Zero following integration of PPC port + - PR1660: Allow use of system PCSC + - RH1015432: java-1.7.0-openjdk: Fails on PPC with StackOverflowError (revised fix) * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim diff -r aa96b9ba80e0 -r 2cf17e5380f2 acinclude.m4 --- a/acinclude.m4 Thu Jan 30 15:09:47 2014 +0000 +++ b/acinclude.m4 Fri Jan 31 21:39:59 2014 +0000 @@ -682,10 +682,11 @@ if test "x${use_shark}" = "xyes"; then use_zero=yes; else - case "${host}" in - i?86-*-*) ;; - sparc*-*-*) ;; - x86_64-*-*) ;; + case "${host_cpu}" in + i?86) ;; + sparc) ;; + x86_64) ;; + ppc64) ;; *) if test "x${ENABLE_CACAO}" != xno || \ test "x${ENABLE_JAMVM}" = xyes; then @@ -2199,6 +2200,32 @@ AC_SUBST(ENABLE_SYSCALL_COMPILATION) ]) +AC_DEFUN_ONCE([IT_CHECK_FOR_PCSC], +[ + AC_MSG_CHECKING([whether to use the system libpcsclite install]) + AC_ARG_ENABLE([system-pcsc], + [AS_HELP_STRING(--enable-system-pcsc,use the system PCSC [[default=yes]])], + [ + ENABLE_SYSTEM_PCSC="${enableval}" + ], + [ + ENABLE_SYSTEM_PCSC="yes" + ]) + AC_MSG_RESULT(${ENABLE_SYSTEM_PCSC}) + if test x"${ENABLE_SYSTEM_PCSC}" = "xyes"; then + dnl Check for PCSC headers and libraries. + PKG_CHECK_MODULES(PCSC, libpcsclite,[LIBPCSC_FOUND=yes],[LIBPCSC_FOUND=no]) + if test "x${LIBPCSC_FOUND}" = xno + then + AC_MSG_ERROR([Could not find libpcsc; install libpcsc or build with --disable-system-pcsc to use dynamic loading.]) + fi + AC_SUBST(PCSC_CFLAGS) + AC_SUBST(PCSC_LIBS) + fi + AM_CONDITIONAL(USE_SYSTEM_PCSC, test x"${ENABLE_SYSTEM_PCSC}" = "xyes") + AC_SUBST(ENABLE_SYSTEM_PCSC) +]) + AC_DEFUN([IT_ENABLE_JAMVM], [ AC_MSG_CHECKING(whether to use JamVM as VM) diff -r aa96b9ba80e0 -r 2cf17e5380f2 configure.ac --- a/configure.ac Thu Jan 30 15:09:47 2014 +0000 +++ b/configure.ac Fri Jan 31 21:39:59 2014 +0000 @@ -213,6 +213,7 @@ IT_CHECK_FOR_FONTCONFIG IT_CHECK_FOR_CUPS IT_CHECK_FOR_SYSCALLS +IT_CHECK_FOR_PCSC AC_CONFIG_FILES([remove-intree-libraries.sh]) dnl Check for Xproto headers and libraries. diff -r aa96b9ba80e0 -r 2cf17e5380f2 hotspot.map --- a/hotspot.map Thu Jan 30 15:09:47 2014 +0000 +++ b/hotspot.map Fri Jan 31 21:39:59 2014 +0000 @@ -1,3 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 7d60cc48fa88 8ebc6c2fd55f530b8fdac85be4f5fc60dc2af1c45ecd8abae29696de7e9a8c73 -ppc http://hg.openjdk.java.net/ppc-aix-port/jdk7u/hotspot 3cc52fb61873 ca8ddf13a1195688835cb4f6941aa9ac32070e05b5856a906a8fb2e3a5f81ac9 +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 3e4a750b116a dafaa54797f52ac9632bc090723ddea68003384673e7ca03d5ad26026203f209 diff -r aa96b9ba80e0 -r 2cf17e5380f2 patches/boot/ant-javac.patch --- a/patches/boot/ant-javac.patch Thu Jan 30 15:09:47 2014 +0000 +++ b/patches/boot/ant-javac.patch Fri Jan 31 21:39:59 2014 +0000 @@ -1,6 +1,6 @@ diff -Nru openjdk-boot.orig/jaxp/build.xml openjdk-boot/jaxp/build.xml ---- openjdk-boot.orig/jaxp/build.xml 2012-02-21 23:55:29.000000000 +0000 -+++ openjdk-boot/jaxp/build.xml 2012-03-18 22:26:49.382089457 +0000 +--- openjdk-boot.orig/jaxp/build.xml 2014-01-30 19:01:54.000000000 +0000 ++++ openjdk-boot/jaxp/build.xml 2014-01-31 19:55:52.521904128 +0000 @@ -123,7 +123,8 @@ memoryMaximumSize="${javac.memoryMaximumSize}" source="${javac.source}" @@ -12,15 +12,15 @@ diff -Nru openjdk-boot.orig/jaxws/build.xml openjdk-boot/jaxws/build.xml From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 13:40:35 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 31 Jan 2014 21:40:35 +0000 Subject: [Bug 1660] [IcedTea7] Allow use of system PCSC In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1660 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=2cf17e5380f2 author: Andrew John Hughes date: Fri Jan 31 21:39:59 2014 +0000 Include PPC port and fixes for PR1660 & RH1015432. 2014-01-31 Andrew John Hughes * patches/boot/jaxp-dependency.patch: Removed as provided by PPC port integration. * patches/ppc/8026703-xsl_include.patch: Removed following PPC port integration. * INSTALL: Updated. * Makefile.am, (CORBA_CHANGESET): Update to current HEAD. (JAXP_CHANGESET): Likewise. (JAXWS_CHANGESET): Likewise. (JDK_CHANGESET): Likewise. (LANGTOOLS_CHANGESET): Likewise. (OPENJDK_CHANGESET): Likewise. (CORBA_SHA256SUM): Likewise. (JAXP_SHA256SUM): Likewise. (JAXWS_SHA256SUM): Likewise. (JDK_SHA256SUM): Likewise. (LANGTOOLS_SHA256SUM): Likewise. (OPENJDK_SHA256SUM): Likewise. (ICEDTEA_PATCHES): Drop PPC-specific patch. (ICEDTEA_BOOT_PATCHES): Drop jaxp-dependency.patch (ICEDTEA_ENV): Add system libpcsc options. * NEWS: Updated. * acinclude.m4: (IT_ENABLE_ZERO_BUILD): Use host_cpu and don't enable on ppc64 any more. (IT_CHECK_FOR_PCSC): System libpcsclite support macro. * configure.ac: Call IT_CHECK_FOR_PCSC. * hotspot.map: Remove ppc. Update default to tip. * patches/boot/ant-javac.patch, * patches/boot/jaxws-langtools-dependency.patch: Regenerated. * remove-intree-libraries.sh.in: Remove libpcsclite headers when building with system version. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140131/890bc4e4/attachment-0001.html From gitne at gmx.de Fri Jan 31 15:22:17 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sat, 01 Feb 2014 00:22:17 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: References: <52EBD775.3050400@gmx.de> Message-ID: <52EC3029.8010404@gmx.de> On 01/31/2014 06:58 PM, Stefan Ring wrote: >> As usually, I have left original messages as comments for your convenience >> during comparison. And, I have also fixed one typo too. ;-) > > What do you use to edit these files? As I have repeatedly mentioned on this mailing list, I use a simple text editor. Please note that it does not matter what tool someone uses to modify a file as long as its format is preserved. > They are difficult to read with all the escaped umlauts. This is because of the default properties file format (see JDK API documentation on java.util.Properties) encoding non-ISO-8859-1 (Latin-1) characters as UCS-2 characters with \uXXXX escape sequences. Although umlauts are part of the ISO-8859-1 character set their code points lie beyond the US-ASCII character set's code points. Tools like OpenJDK's native2ascii for converting files to and from different encodings are rather conservative in handling non-US-ASCII encoded files. Anything beyond the US-ASCII character set code points gets escaped. If you wish to read the message property files in their non-escaped form, you can use native2ascii to convert them to any character set encoding that includes code points for their respective escapes. UTF-8, ISO-8859-1, ISO-8859-15, windows-1252, or x-MacRoman should the job for you. There are even others but they should not confuse you. Jacob From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:33:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:33:53 +0000 Subject: [Bug 1660] [IcedTea7] Allow use of system PCSC In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1660 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |2.5.0 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/511ae313/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:34:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:34:44 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1660 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/0097e0d6/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:34:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:34:44 +0000 Subject: [Bug 1660] [IcedTea7] Allow use of system PCSC In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1660 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1284 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/21650c7c/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:36:23 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:36:23 +0000 Subject: [Bug 1661] New: [IcedTea7] Cleanup SYSTEM_* options and allow them to be set false Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1661 Bug ID: 1661 Summary: [IcedTea7] Cleanup SYSTEM_* options and allow them to be set false Classification: Unclassified Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org System options currently use: ifndef USE_SYSTEM_FONTCONFIG vpath %.c $(PLATFORM_SRC)/native/common/deps/fontconfig2 endif which will cause the system code to still be used if USE_SYSTEM_FONTCONFIG=false. Fix to use: ifneq ($(SYSTEM_FONTCONFIG), true) etc. -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/ca55ea9c/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:36:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:36:38 +0000 Subject: [Bug 1661] [IcedTea7] Cleanup SYSTEM_* options and allow them to be set false In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1661 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Blocks| |1284 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/e16c3e7e/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 16:36:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 00:36:38 +0000 Subject: [Bug 1284] [TRACKER] IcedTea 2.5.0 Release In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1284 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1661 -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/4abd989b/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Jan 31 17:13:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 01 Feb 2014 01:13:39 +0000 Subject: [Bug 1661] [IcedTea7] Cleanup SYSTEM_* options and allow them to be set false In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1661 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=495338cbef8d author: andrew date: Sat Feb 01 01:13:00 2014 +0000 PR1661: Cleanup SYSTEM_FONTCONFIG option and allow it to be set false -- You are receiving this mail because: You are on the CC list for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/833e5dd9/attachment-0001.html From gitne at gmx.de Fri Jan 31 23:22:07 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sat, 01 Feb 2014 08:22:07 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: <52EBD775.3050400@gmx.de> References: <52EBD775.3050400@gmx.de> Message-ID: <52ECA09F.50300@gmx.de> On 01/31/2014 06:03 PM, Jacob Wisor wrote: > Hello there! > > As usually, I have left original messages as comments for your convenience > during comparison. And, I have also fixed one typo too. ;-) Ups, missed to translate CPButPolicy, sorry... Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: DE localization.patch Type: text/x-patch Size: 7199 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/647dcd47/DElocalization.patch From stefan at complang.tuwien.ac.at Fri Jan 31 23:51:37 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Sat, 1 Feb 2014 08:51:37 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: <52EC3029.8010404@gmx.de> References: <52EBD775.3050400@gmx.de> <52EC3029.8010404@gmx.de> Message-ID: > If you wish to read the message property files in their non-escaped form, > you can use native2ascii to convert them to any character set encoding that > includes code points for their respective escapes. Ok thanks. That was the missing piece for me.