From gitne at gmx.de Sat Feb 1 00:10:21 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sat, 01 Feb 2014 09:10:21 +0100 Subject: [rfc][icedtea-web-1.4] Added missing PL localized messages Message-ID: <52ECABED.5030104@gmx.de> Hello, The subject says it all. I have fixed a few typos again. As always, the commented original messages are a convenience service for reference only and will get removed before commit into repo. Thank you for reviewing. Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: PL localization.patch Type: text/x-patch Size: 5160 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140201/52dfda31/PLlocalization.patch From stefan at complang.tuwien.ac.at Sat Feb 1 15:10:13 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Sun, 2 Feb 2014 00:10:13 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: <52ECA09F.50300@gmx.de> References: <52EBD775.3050400@gmx.de> <52ECA09F.50300@gmx.de> Message-ID: Looks good. Two minor suggestions: CPPolicyTooltip=?{0}? im Richtlinieneditor (policytool) ?ffnen CPButPolicy=Im Richtlinieneditor bearbeiten (remove the dots) From gitne at gmx.de Sat Feb 1 15:59:25 2014 From: gitne at gmx.de (Jacob Wisor) Date: Sun, 02 Feb 2014 00:59:25 +0100 Subject: [rfc][icedtea-web-1.4] Added missing DE localized messages In-Reply-To: References: <52EBD775.3050400@gmx.de> <52ECA09F.50300@gmx.de> Message-ID: <52ED8A5D.2080905@gmx.de> On 02/02/2014 12:10 AM, Stefan Ring wrote: > Looks good. Two minor suggestions: > > CPPolicyTooltip=?{0}? im Richtlinieneditor (policytool) ?ffnen Please note that CPPolicyTooltip is a tooltip message hinting at what is going to happen when the policytool button has been pressed, not a command to perform a function. Hence, use of the present tense (Pr?sens) form is indicated here, not the infinitive imperative form (eg. CPButPolicy) as used in German localizations on command bearing function initiating controls. > CPButPolicy=Im Richtlinieneditor bearbeiten (remove the dots) According to UI guidelines and convention, all controls that spawn or lead to a new dialog or window should be suffixed with dots or an ellipsis. In fact, this should have been amended to the original message too. Thank you for reviewing but I won't accept these suggestions, unless of course you can substantiate them somehow. Jacob From bugzilla-daemon at icedtea.classpath.org Sun Feb 2 00:15:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 02 Feb 2014 08:15:16 +0000 Subject: [Bug 1662] New: Eclipse is crushed because of JRE Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1662 Bug ID: 1662 Summary: Eclipse is crushed because of JRE Classification: Unclassified Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: blocker Priority: P3 Component: Plugin Assignee: dbhole at redhat.com Reporter: khaldoun.jaber at yahoo.ca CC: unassigned at icedtea.classpath.org Created attachment 1020 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1020&action=edit Eclipse is crushed because of JRE eclipse is startup fine, but after fiew minutes of working doing regualr actions such as save, find and replace; it is crashed. -- 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/20140202/8d86cb28/attachment.html From jvanek at redhat.com Sun Feb 2 07:17:13 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Sun, 02 Feb 2014 16:17:13 +0100 Subject: [rfc][icedtea-web-1.4] Added missing PL localized messages In-Reply-To: <52ECABED.5030104@gmx.de> References: <52ECABED.5030104@gmx.de> Message-ID: <52EE6179.7020707@redhat.com> On 02/01/2014 09:10 AM, Jacob Wisor wrote: > Hello, > > The subject says it all. I have fixed a few typos again. As always, the commented original messages are a convenience service for reference only and will get removed before commit into repo. > Thank you for reviewing. > > Jacob Checked by auto translator and some Slav intuition. Looks ok. Feel free to push. I have checked also DE transaltions and looks good. I think both Stefan's and Yours versions are good to go. My vote (however unimportant in this topic) is - feel free to push any version you wish :) Thanx! J. From bugzilla-daemon at icedtea.classpath.org Sun Feb 2 09:11:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 02 Feb 2014 17:11:09 +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 KUBOTA Yuji changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kubota.yuji at lab.ntt.co.jp --- Comment #2 from KUBOTA Yuji --- I reviewed this patch. This looks good to me. Bug 1435 miscalculates the *bold* font metrics, i.e., ascent, descent, leading and max advance. OpenJDK need not calculate the font metrics based on glyph shape when people make font thick. OpenJDK calculates the font metrics by sun.font.FreetypeFontScaler which is based on FreeType. FreeType calculates the font metrics based on Font Face. And Font Face is *NOT* affected whether the font was thick or not. So the function should calculate based on Font Face to return accurate metrics. Thanks, KUBOTA Yuji -- 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/20140202/c4e73d35/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Feb 2 21:12:12 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 05:12:12 +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 #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=3679f81b9c68 author: Yasumasa Suenaga date: Mon Feb 03 14:10:33 2014 +0900 Bug 1659: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set Reviewed-by: Mario Torre , KUBOTA Yuji Review-thread: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/026091.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/20140203/943be41e/attachment.html From yasuenag at icedtea.classpath.org Sun Feb 2 21:12:53 2014 From: yasuenag at icedtea.classpath.org (yasuenag at icedtea.classpath.org) Date: Mon, 03 Feb 2014 05:12:53 +0000 Subject: /hg/release/icedtea7-forest-2.4/jdk: Bug 1659: [IcedTea7] OpenJD... Message-ID: changeset e44a1aa00614 in /hg/release/icedtea7-forest-2.4/jdk details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e44a1aa00614 author: Yasumasa Suenaga date: Mon Feb 03 14:10:39 2014 +0900 Bug 1659: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set Reviewed-by: Mario Torre , KUBOTA Yuji Review-thread: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/026091.html diffstat: src/share/native/sun/font/freetypeScaler.c | 21 +++++---------------- 1 files changed, 5 insertions(+), 16 deletions(-) diffs (61 lines): diff -r 3bf3a83fe500 -r e44a1aa00614 src/share/native/sun/font/freetypeScaler.c --- a/src/share/native/sun/font/freetypeScaler.c Wed Jan 29 10:01:29 2014 +0000 +++ b/src/share/native/sun/font/freetypeScaler.c Mon Feb 03 14:10:39 2014 +0900 @@ -441,7 +441,6 @@ jobject metrics; jfloat ax, ay, dx, dy, bx, by, lx, ly, mx, my; jfloat f0 = 0.0; - FT_Pos bmodifier = 0; FTScalerContext *context = (FTScalerContext*) jlong_to_ptr(pScalerContext); FTScalerInfo *scalerInfo = @@ -474,30 +473,21 @@ So, we have to do adust them explicitly and stay consistent with what freetype does to outlines. */ - /* For bolding glyphs are not just widened. Height is also changed - (see ftsynth.c). - - TODO: In vertical direction we could do better job and adjust metrics - proportionally to glyoh shape. */ - if (context->doBold) { - bmodifier = FT_MulFix( - scalerInfo->face->units_per_EM, - scalerInfo->face->size->metrics.y_scale)/24; - } - /**** Note: only some metrics are affected by styling ***/ #define FT_MulFixFloatShift6(a, b) (((float) (a)) * ((float) (b)) / 65536.0 / 64.0) + + /* See FreeType source code: src/base/ftobjs.c ft_recompute_scaled_metrics() */ /* ascent */ ax = 0; ay = -(jfloat) (FT_MulFixFloatShift6( - ((jlong) scalerInfo->face->ascender + bmodifier/2), + ((jlong) scalerInfo->face->ascender), (jlong) scalerInfo->face->size->metrics.y_scale)); /* descent */ dx = 0; dy = -(jfloat) (FT_MulFixFloatShift6( - ((jlong) scalerInfo->face->descender + bmodifier/2), + ((jlong) scalerInfo->face->descender), (jlong) scalerInfo->face->size->metrics.y_scale)); /* baseline */ bx = by = 0; @@ -505,13 +495,12 @@ /* leading */ lx = 0; ly = (jfloat) (FT_MulFixFloatShift6( - (jlong) scalerInfo->face->height + bmodifier, + (jlong) scalerInfo->face->height, (jlong) scalerInfo->face->size->metrics.y_scale)) + ay - dy; /* max advance */ mx = (jfloat) FT26Dot6ToFloat( scalerInfo->face->size->metrics.max_advance + - 2*bmodifier + OBLIQUE_MODIFIER(scalerInfo->face->size->metrics.height)); my = 0; From bugzilla-daemon at icedtea.classpath.org Sun Feb 2 21:13:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 05:13:00 +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 #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-forest-2.4/jdk?cmd=changeset;node=e44a1aa00614 author: Yasumasa Suenaga date: Mon Feb 03 14:10:39 2014 +0900 Bug 1659: [IcedTea7] OpenJDK 7 returns incorrect TrueType font metrics when bold style is set Reviewed-by: Mario Torre , KUBOTA Yuji Review-thread: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-January/026091.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/20140203/8f258085/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Feb 2 21:17:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 05:17:05 +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 Yasumasa Suenaga changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #5 from Yasumasa Suenaga --- I checked freetypeScaler.c in icedtea7-forest/jdk and icedtea7-forest-2.4/jdk . These are same file. So I've pushed patch to both repositories. -- 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/20140203/fa113008/attachment.html From magnus.ihse.bursie at oracle.com Mon Feb 3 01:40:37 2014 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Mon, 03 Feb 2014 10:40:37 +0100 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: <52EF6415.80408@oracle.com> On 2014-01-22 22:43, Omair Majid wrote: > 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. That's good to know! > 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'm glad to hear that. :) One of the goals of the new build system was to make it more "community friendly". > 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. The old build system is gone now (in JDK 8 and JDK 9), so bring 'em on. :) /Magnus From magnus.ihse.bursie at oracle.com Mon Feb 3 01:54:25 2014 From: magnus.ihse.bursie at oracle.com (Magnus Ihse Bursie) Date: Mon, 03 Feb 2014 10:54:25 +0100 Subject: Adapting IcedTea for the new OpenJDK build system (build-infra) In-Reply-To: <1914900430.5606225.1390430814289.JavaMail.root@redhat.com> References: <1401636605.10464511.1345815280341.JavaMail.root@redhat.com> <52E03035.40806@oracle.com> <20140122214329.GA15115@redhat.com> <1914900430.5606225.1390430814289.JavaMail.root@redhat.com> Message-ID: <52EF6751.3000902@oracle.com> On 2014-01-22 23:46, Andrew Hughes wrote: > > 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. While it can be a good thing if IcedTea works as an entry point for bringing in fixes, with a low barrier, it is definitely not a good thing if it is too hard to propagate them further on to OpenJDK. :-( > 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. I agree, that is unfortunate. :-( If you know of any such actual cases, please let me know and I can see if I can get something to happen (if indeed late is better than never). > 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. I'm not very much involved with the release schemes, but if you think this would be doable by Oracle and helpful to IcedTea, I encourage you to check back with Dalibor and explain the situation again. >>> Is the new build system of any help? > 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. It has indeed. The old build system is gone (in JDK 8 and 9). And it was confusing for us too to have two systems at the same time. Unfortunately, there was a lot of momentum needed in switching all groups to use the new build system, which delayed the removal of the old. :( > 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. The idea is that everything should be available on the configure command line, and only on the configure command line. We might still fall short of this in places, but none that I know of for now. One exception is hotspot, where the build system has not been rewritten yet. Esoteric hotspot features are still controlled by variables. > 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. The old build were, as far as I know, not able to build in parallel for most of the build, only on hotspot. You could run with -j, but due to improper dependencies, you were not guaranteed to have a correct result. > 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. It's good to hear all sides of the story. I hope you manage to get more time further on. /Magnus From ptisnovs at icedtea.classpath.org Mon Feb 3 04:21:04 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 03 Feb 2014 12:21:04 +0000 Subject: /hg/gfx-test: Added several helper methods for working with vari... Message-ID: changeset a8433c21d4e1 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a8433c21d4e1 author: Pavel Tisnovsky date: Mon Feb 03 13:25:21 2014 +0100 Added several helper methods for working with various shapes added into diffstat: ChangeLog | 5 + src/org/gfxtest/framework/CommonCAGOperations.java | 174 +++++++++++++++++++++ 2 files changed, 179 insertions(+), 0 deletions(-) diffs (210 lines): diff -r a91f8aca3ad3 -r a8433c21d4e1 ChangeLog --- a/ChangeLog Thu Jan 30 10:55:41 2014 +0100 +++ b/ChangeLog Mon Feb 03 13:25:21 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-03 Pavel Tisnovsky + + * src/org/gfxtest/framework/CommonCAGOperations.java: + Added several helper methods for working with various shapes added into + 2014-01-30 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnRoundRectangleAndRectangle.java: diff -r a91f8aca3ad3 -r a8433c21d4e1 src/org/gfxtest/framework/CommonCAGOperations.java --- a/src/org/gfxtest/framework/CommonCAGOperations.java Thu Jan 30 10:55:41 2014 +0100 +++ b/src/org/gfxtest/framework/CommonCAGOperations.java Mon Feb 03 13:25:21 2014 +0100 @@ -436,6 +436,27 @@ } /** + * Create area composed of only one round rectangle. This rectangle is placed on + * the lower right side of the image. + * + * @param image + * image to which area is to be drawn + * @return newly created area containing one rectangle + */ + private static Area createSecondOverlappingRoundedRectangularArea(TestImage 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 center of the image. * @@ -756,6 +777,91 @@ } /** + * Create new area composed from two round rectangles using union operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRoundRectanglesUsingUnionOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRoundedRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.add(rectangle2Area); + return area; + } + + /** + * Create new area composed from two round rectangles using subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRoundRectanglesUsingSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRoundedRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.subtract(rectangle2Area); + return area; + } + + /** + * Create new area composed from two round rectangles using subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRoundRectanglesUsingInverseSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRoundedRectangularArea(image); + Area area = new Area(); + area.add(rectangle2Area); + area.subtract(rectangle1Area); + return area; + } + + /** + * Create new area composed from two round rectangles using intersect operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRoundRectanglesUsingIntersectOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRoundedRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.intersect(rectangle2Area); + return area; + } + + /** + * Create new area composed from two round rectangles using XOR operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromTwoOverlappingRoundRectanglesUsingXorOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRoundedRectangularArea(image); + Area area = new Area(); + area.add(rectangle2Area); + area.exclusiveOr(rectangle1Area); + return area; + } + + /** * Create new area composed from rounded rectangle and rectangle using union operator. * * @param image @@ -773,6 +879,74 @@ } /** + * Create new area composed from rounded rectangle and rectangle using subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromRoundRectangleAndRectangleUsingSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.subtract(rectangle2Area); + return area; + } + + /** + * Create new area composed from rounded rectangle and rectangle using inverse subtract operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromRoundRectangleAndRectangleUsingInverseSubtractOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle2Area); + area.subtract(rectangle1Area); + return area; + } + + /** + * Create new area composed from rounded rectangle and rectangle using intersect operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromRoundRectangleAndRectangleUsingIntersectOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.intersect(rectangle2Area); + return area; + } + + /** + * Create new area composed from rounded rectangle and rectangle using exclusive or operator. + * + * @param image + * image to which area is to be drawn + * @return new area composed of two rectangles + */ + public static Area createAreaFromRoundRectangleAndRectangleUsingXorOperator(TestImage image) + { + Area rectangle1Area = createFirstOverlappingRoundedRectangularArea(image); + Area rectangle2Area = createSecondOverlappingRectangularArea(image); + Area area = new Area(); + area.add(rectangle1Area); + area.exclusiveOr(rectangle2Area); + return area; + } + + /** * Create new area constructed from bigger circle and rectangle using union * operation. * From ptisnovs at icedtea.classpath.org Mon Feb 3 04:37:25 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 03 Feb 2014 12:37:25 +0000 Subject: /hg/rhino-tests: Added new test cases into CompilableClassTest. Message-ID: changeset a700722dcd30 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=a700722dcd30 author: Pavel Tisnovsky date: Mon Feb 03 13:41:42 2014 +0100 Added new test cases into CompilableClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/CompilableClassTest.java | 258 +++++++++++++++++++++++++++- 2 files changed, 262 insertions(+), 1 deletions(-) diffs (294 lines): diff -r a0ecef720764 -r a700722dcd30 ChangeLog --- a/ChangeLog Wed Jan 29 12:48:57 2014 +0100 +++ b/ChangeLog Mon Feb 03 13:41:42 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-03 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test cases into CompilableClassTest. + 2014-01-29 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r a0ecef720764 -r a700722dcd30 src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Wed Jan 29 12:48:57 2014 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Mon Feb 03 13:41:42 2014 +0100 @@ -99,7 +99,7 @@ * Test for method javax.script.Compilable.getClass().isInstance() */ protected void testIsInstance() { - assertTrue(this.compilableClass.isInstance(new ScriptEngineManager().getEngineByName(Constants.EngineNames.ENGINE_NAME_JavaScript)), + assertTrue(this.compilableClass.isInstance((Compilable)(new ScriptEngineManager().getEngineByName(Constants.EngineNames.ENGINE_NAME_JavaScript))), "Method Compilable.getClass().isInstance() returns wrong value"); } @@ -1148,6 +1148,54 @@ } try { + this.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1172,6 +1220,214 @@ } try { + this.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From ptisnovs at icedtea.classpath.org Mon Feb 3 04:45:33 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 03 Feb 2014 12:45:33 +0000 Subject: /hg/gfx-test: Fixed typo in ChangeLog. Message-ID: changeset 21d3f15459c9 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=21d3f15459c9 author: Pavel Tisnovsky date: Mon Feb 03 13:49:34 2014 +0100 Fixed typo in ChangeLog. diffstat: ChangeLog | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (11 lines): diff -r a8433c21d4e1 -r 21d3f15459c9 ChangeLog --- a/ChangeLog Mon Feb 03 13:25:21 2014 +0100 +++ b/ChangeLog Mon Feb 03 13:49:34 2014 +0100 @@ -2,6 +2,7 @@ * src/org/gfxtest/framework/CommonCAGOperations.java: Added several helper methods for working with various shapes added into + the class CommonCAGOperations. 2014-01-30 Pavel Tisnovsky From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 08:35:47 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 16:35:47 +0000 Subject: [Bug 1663] New: Intel RMM2 console can't read ISO images anymore. Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 Bug ID: 1663 Summary: Intel RMM2 console can't read ISO images anymore. 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: harald.linden at 7183.org CC: unassigned at icedtea.classpath.org Created attachment 1021 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1021&action=edit screenshot of error When trying to use the RMM console on our servers that have the Intel RMM2 built in the java applet can't read local ISO images anymore due to the applet being unsigned. This breaks functionality completely. We can't sign the applet because we can't modify the RMM2 firmware. -- 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/20140203/bd258c08/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 08:41:00 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 16:41:00 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #1 from Deepak Bhole --- Was the unsigned applet able to read the local file before? Unsigned applets are always sandboxed and they cannot read local files. -- 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/20140203/3707d331/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 08:44:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 16:44:22 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #2 from Harald Linden --- With previous versions icedtea-web showed a dialog where I could give this specific applet disk access after reading the warning that that is a bad idea. I don't remember the exact wording in the dialog though. -- 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/20140203/c686b4ae/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 09:10:10 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 17:10:10 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #3 from Harald Linden --- Here are the two components of the applet: https://2.7183.org/rmm/ -- 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/20140203/8020541f/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 10:42:11 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 18:42:11 +0000 Subject: [Bug 1662] Eclipse is crushed because of JRE In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1662 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Deepak Bhole --- This is an issue in Eclipse native code and cannot be addressed in IcedTea/OpenJDK. The issue should be opened with either the distribution (if you are using Eclipse that came with a distribution) or directly with upstream Eclipse: https://bugs.eclipse.org/bugs/ -- 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/20140203/207bfb6d/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 10:51:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 18:51:25 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 Deepak Bhole changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|dbhole at redhat.com |aazores at redhat.com --- Comment #4 from Deepak Bhole --- I didn't think applets ever allowed this. Assigning to Andrew Azores to take a look. -- 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/20140203/d37030b7/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 11:45:45 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 19:45:45 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #5 from Andrew Azores --- I don't know of any dialog that would have appeared for an unsigned applet to be granted local file read permissions. A dialog can appear asking if you want to allow an applet to run with elevated permissions, but this is only supposed to appear for applets with at least partial signing, and it wouldn't have specified disk access permissions in particular. The particular permission being denied to your applet in the screenshot is a PropertyPermission to read the path to your home directory. I don't think this permission has been revoked from the applet sandbox; as far as I know, unsigned applets have never been allowed to do this. Even if it was previously allowed, there would not be a dialog shown about it. As a workaround since you can't sign the applet, you can try using a custom policy. You can use 'policytool' for this or a plain text editor. Your policy file location should normally be something like $HOME/.config/icedtea-web/security/java.policy for IcedTea-Web 1.4. You can add an entry like this: grant codeBase "$CODEBASE" { permission java.util.PropertyPermission "user.home", "read"; }; to the policy file. Be sure to replace $CODEBASE with the actual codebase of the applet, specified in the JNLP or HTML that defines the applet. This permission alone most won't be enough to have the applet be able to actually read files in your home directory, but it will solve the immediate problem shown in your screenshot. You can then add further permissions in the same entry as necessary until the applet works as intended. An example FilePermission, which you'll likely need, could look like this: permission java.io.FilePermission "${user.home}${/}iso${/}images${/}dir", "read"; Using policytool instead to create these entries should be fairly straight forward. Note that policytool doesn't really play nicely with i3 wm and tiling, at least for me, so you might need to manually set each new window it spawns to floating mode, or add a window class entry in your i3 config. -- 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/20140203/16836d80/attachment.html From aazores at redhat.com Mon Feb 3 12:32:19 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 03 Feb 2014 15:32:19 -0500 Subject: [rfc][icedtea-web] Code cleanup patches Message-ID: <52EFFCD3.1030509@redhat.com> Hi, The larger two of the three attached patches do a few simple things: 1) make variables/parameters/fields final, where applicable. I feel this makes it more clear which variables are used eg as accumulators or will be returned by the method, etc. This also allows the removal of some local variables which were created simply to have "final versions" of other variables, in order for them to be captured by anonymous inner classes for example. 2) prefix fields with "this" in very long methods. In shorter methods it can remain clear that fields are fields since no declaration for that name can be seen, but in very long methods, it can become more confusing. 3) fix formatting. Eg remove useless comments, remove whitespace from "empty" lines, remove trailing whitespace There should be no changes at all in functionality, since this is just cleanup and not refactoring. The smallest patch simply removes an unneeded 'ls' that I found in a custom reproducer's Makefile. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: classloader_cleanup.patch Type: text/x-patch Size: 78856 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140203/9f4f3c11/classloader_cleanup-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extensionjnlpsinapplet_makefile_ls.patch Type: text/x-patch Size: 462 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140203/9f4f3c11/extensionjnlpsinapplet_makefile_ls-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: securitydialogmessagehandler_cleanup.patch Type: text/x-patch Size: 8149 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140203/9f4f3c11/securitydialogmessagehandler_cleanup-0001.patch From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 12:44:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 20:44:27 +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 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.4.6 -- 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/20140203/10d231d1/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 12:47:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 20:47:58 +0000 Subject: [Bug 1664] New: [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 Bug ID: 1664 Summary: [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh 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 jdk_generic_profile.sh currently lacks system GIO, system PCSC, system Gtk+, system CUPS, system fontconfig and compile against syscalls. -- 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/20140203/b33b7a99/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 12:48:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 20:48:25 +0000 Subject: [Bug 1664] [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1284 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/20140203/4627694e/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 12:48:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 20:48:25 +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| |1664 -- 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/20140203/4325dc5c/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 13:18:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 21:18:38 +0000 Subject: [Bug 1664] [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=463274e02d4f author: andrew date: Mon Feb 03 21:18:10 2014 +0000 PR1664: Ensure all SYSTEM_* options are in jdk_generic_profile.sh -- 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/20140203/d63ed6a5/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 13:35:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 21:35:58 +0000 Subject: [Bug 1664] [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- 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/20140203/b0612238/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 13:35:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 21:35:58 +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 Bug 1284 depends on bug 1664, which changed state. Bug 1664 Summary: [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- 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/20140203/4f7c51b8/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:11 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:11 +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 #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=e78793e3bce6 author: andrew date: Mon Feb 03 21:41:21 2014 +0000 PR1661: Cleanup SYSTEM_LCMS 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/20140203/f4c07394/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:19 +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 #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=608ef2dd41ad author: andrew date: Mon Feb 03 21:46:11 2014 +0000 PR1661: Cleanup SYSTEM_JPEG 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/20140203/3a3c50a5/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:25 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:25 +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 #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=4008c03ee4e2 author: andrew date: Mon Feb 03 21:47:53 2014 +0000 PR1661: Cleanup SYSTEM_PNG 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/20140203/e40e5c54/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:32 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:32 +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 #5 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=81090a280423 author: andrew date: Mon Feb 03 21:49:35 2014 +0000 PR1661: Cleanup SYSTEM_GIF 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/20140203/177a8508/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:41 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:41 +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 #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=d3a7d36f7141 author: andrew date: Mon Feb 03 21:54:49 2014 +0000 PR1661: Cleanup SYSTEM_CUPS 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/20140203/c387ba85/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:49 +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 #7 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=70bb6cbdfecf author: andrew date: Mon Feb 03 21:56:01 2014 +0000 PR1661: Cleanup SYSTEM_PCSC 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/20140203/e6b7e033/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:26:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:26:56 +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 #8 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=2710359cafd3 author: andrew date: Mon Feb 03 21:58:20 2014 +0000 PR1661: Cleanup SYSTEM_GTK 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/20140203/b6711d50/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:27:04 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:27:04 +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 #9 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=b7e7bf844b7f author: andrew date: Mon Feb 03 22:03:44 2014 +0000 PR1661: Cleanup SYSTEM_GIO 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/20140203/170a648d/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 14:53:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 03 Feb 2014 22:53:58 +0000 Subject: [Bug 1665] New: /opt/icedtea-2.4.5/generated.build/sun/misc/Version.java.temp /bin/sed: -e expression #5, char 21: unknown option to `s' Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1665 Bug ID: 1665 Summary: /opt/icedtea-2.4.5/generated.build/sun/misc/Version.ja va.temp /bin/sed: -e expression #5, char 21: unknown option to `s' Classification: Unclassified Product: IcedTea Version: 2.4.5 Hardware: x86 OS: Linux Status: NEW Severity: blocker Priority: P3 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: me at pc-networking-services.com CC: unassigned at icedtea.classpath.org Hello, When I try to compile icedtea-2.4.5 on a linux from scratch installation I get the following error after about 40 mins of compiling: make[5]: Entering directory `/opt/icedtea-2.4.5/openjdk-boot/jdk/make/java/version' /bin/mkdir -p /opt/icedtea-2.4.5/generated.build/sun/misc rm -f /opt/icedtea-2.4.5/generated.build/sun/misc/Version.java rm -f /opt/icedtea-2.4.5/generated.build/sun/misc/Version.java.temp /bin/sed -e 's/@@launcher_name@@/java/g' \ -e 's/@@java_version@@/1.7.0_51-BLFS/g' \ -e 's/@@java_runtime_version@@/1.7.0_51-BLFS-b31/g' \ -e 's/@@jdk_derivative_name@@/IcedTea 2.4.5/g' \ -e 's/@@distro_name@@/n/a/g' \ -e 's/@@distro_package_version@@//g' \ -e 's/@@java_runtime_name@@/OpenJDK Runtime Environment/g' \ -e 's/@@jdk_revid@@//g' \ -e 's/@@hotspot_revid@@//g' \ ../../../src/share/classes/sun/misc/Version.java.template > /opt/icedtea-2.4.5/generated.build/sun/misc/Version.java.temp /bin/sed: -e expression #5, char 21: unknown option to `s' make[5]: *** [/opt/icedtea-2.4.5/generated.build/sun/misc/Version.java] Error 1 make[5]: Leaving directory `/opt/icedtea-2.4.5/openjdk-boot/jdk/make/java/version' make[4]: *** [all] Error 1 make[4]: Leaving directory `/opt/icedtea-2.4.5/openjdk-boot/jdk/make/java' What needs to be done to correct this? Regards, Christopher -- 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/20140203/0651e40b/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 3 22:00:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 04 Feb 2014 06:00:30 +0000 Subject: [Bug 1666] New: sonyericsson E15i Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1666 Bug ID: 1666 Summary: sonyericsson E15i Classification: Unclassified Product: MIPS Port Version: unspecified Hardware: arm OS: Linux Status: NEW Severity: normal Priority: P3 Component: general Assignee: unassigned at icedtea.classpath.org Reporter: mehrdadmarouf at gmail.com I have problem with youtube.that doesnt play .show message "network doesnt connect.but device connect to network . -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/6d45b515/attachment.html From gitne at gmx.de Mon Feb 3 22:24:22 2014 From: gitne at gmx.de (Jacob Wisor) Date: Tue, 04 Feb 2014 07:24:22 +0100 Subject: [rfc][icedtea-web] Code cleanup patches In-Reply-To: <52EFFCD3.1030509@redhat.com> References: <52EFFCD3.1030509@redhat.com> Message-ID: <52F08796.5010104@gmx.de> On 02/03/2014 09:32 PM, Andrew Azores wrote: > Hi, > > The larger two of the three attached patches do a few simple things: > 1) make variables/parameters/fields final, where applicable. I feel this makes > it more clear which variables are used eg as accumulators or will be returned by > the method, etc. This also allows the removal of some local variables which were > created simply to have "final versions" of other variables, in order for them to > be captured by anonymous inner classes for example. > 2) prefix fields with "this" in very long methods. In shorter methods it can > remain clear that fields are fields since no declaration for that name can be > seen, but in very long methods, it can become more confusing. > 3) fix formatting. Eg remove useless comments, remove whitespace from "empty" > lines, remove trailing whitespace Looks good to me. Just on nit: 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 [...] - tracker.addResource(jar.getLocation(), - jar.getVersion(), file.getDownloadOptions(), + this. tracker.addResource(jar.getLocation(), + jar.getVersion(), this.file.getDownloadOptions(), Please remove the space between this. and tracker. You may also want to check for "){" malformed block openings and replace them with ") {". Most of the exception parameters of catch clauses do not need to be explicitly marked final because they are never assigned to hence they become /effectively/ /final/. The OpenJDK compiler does take this into account when generating byte code indeed. But, as I understand the purpose of these patches was to increase readability. Jacob From gitne at icedtea.classpath.org Mon Feb 3 23:07:26 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Tue, 04 Feb 2014 07:07:26 +0000 Subject: /hg/release/icedtea-web-1.4: Added missing PL message localizations Message-ID: changeset 989883840d9f in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=989883840d9f author: Jacob Wisor date: Sat Feb 01 00:00:00 2014 +0000 Added missing PL message localizations diffstat: ChangeLog | 8 ++++++++ netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 12 +++++++++++- 2 files changed, 19 insertions(+), 1 deletions(-) diffs (67 lines): diff -r 497032a7105c -r 989883840d9f ChangeLog --- a/ChangeLog Fri Jan 31 15:17:16 2014 +0100 +++ b/ChangeLog Sat Feb 01 00:00:00 2014 +0000 @@ -1,3 +1,11 @@ +2014-02-01 Jacob Wisor + + Added missing PL message localizations + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + 2014-01-31 Jiri Vanek Added missing CZ translations diff -r 497032a7105c -r 989883840d9f netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Fri Jan 31 15:17:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Sat Feb 01 00:00:00 2014 +0000 @@ -151,6 +151,10 @@ RCantReplaceSM=Wymiana SecurityManager jest niedozwolona. RCantCreateFile=Nie mo\u017cna utworzy\u0107 pliku \u201e{0}\u201d RCantDeleteFile=Nie mo\u017cna usun\u0105\u0107 pliku \u201e{0}\u201d +RCantOpenFile=Nie mo\u017cna otworzy\u0107 pliku \u201e{0}\u201d +RCantWriteFile=Nie mo\u017cna zapisa\u0107 pliku \u201e{0}\u201d +RFileReadOnly=Otwieranie pliku w trybie wy\u0142\u0105cznie do odczytu +RExpectedFile=Oczekiwano \u201e{0}\u201d bycie plikiem, lecz nie by\u0142o RRemoveRPermFailed=Brak powodzenia przy usuwaniu praw odczytu z pliku \u201e{0}\u201d RRemoveWPermFailed=Brak powodzenia przy usuwaniu praw zapisu z pliku \u201e{0}\u201d RRemoveXPermFailed=Brak powodzenia przy usuwaniu praw wykonawczych z pliku \u201e{0}\u201d @@ -334,9 +338,12 @@ CPJVMrtJar=Wybrana \u015bcie\u017cka zawiera lib/rt.jar. CPJVMPluginAllowTTValidation=Sprawd\u017a JRE bezzw\u0142ocznie CPJVMNotokMessage1=Wprowadzono nieprawid\u0142ow\u0105 warto\u015b\u0107 JDK ({0}) z nast\u0119puj\u0105cym komunikatem o b\u0142\u0119dzie: -CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3trych sprawdzan\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. +CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3rych sprawdzian\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. CPJVMconfirmInvalidJdkTitle=Nieprawid\u0142owy JDK CPJVMconfirmReset=Przywr\u00f3ci\u0107 stan domy\u015blny? +CPPolicyDetail=Przegl\u0105daj i edytuj plik u\u017cytkownika wytycznej Java. Pozwala na udzielanie lub odmawianie praw applet-om, niezale\u017cnie od standardowych regu\u0142 bezpiecze\u0144stwa piaskownicy. +CPPolicyTooltip=Otwiera \u201e{0}\u201d w edytorze wytycznej (policytool) +CPPolicyEditorNotFound=Nie znaleziono systemowego edytora plik\u00f3w wytycznej. Sprawd\u017a, czy zmienna \u015brodowiskowa \u201ePATH\u201d rozwi\u0105zuje lokalizacj\u0119 \u201epolicytool\u201d. # Control Panel - Buttons CPButAbout=O... @@ -344,6 +351,7 @@ CPButSettings=Ustawienia... CPButView=Przegl\u0105daj... CPButCertificates=Certyfikaty... +CPButPolicy=Podgl\u0105d/Edytuj w edytorze wytycznej... # Control Panel - Headers CPHead=Panel sterowania IcedTea-Web @@ -356,6 +364,7 @@ CPHeadDesktopIntegration=\u00a0Integracja\u00a0z\u00a0pulpitem\u00a0 CPHeadSecurity=\u00a0Ustawienia\u00a0bezpiecze\u0144stwa\u00a0 CPHeadJVMSettings=\u00a0Ustawienia\u00a0maszyny\u00a0wirtualnej\u00a0Java\u00a0(JVM)\u00a0 +CPHeadPolicy=\u00a0Dostosowania\u00a0\u00a0wytycznej\u00a0 # Control Panel - Tabs CPTabAbout=O IcedTea-Web @@ -368,6 +377,7 @@ CPTabRuntimes=\u015arodowiska uruchomieniowe CPTabSecurity=Bezpiecze\u0144stwo CPTabJVMSettings=Ustawienia JVM +CPTabPolicy=Ustawienia wytycznej # Control Panel - AboutPanel CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie nieobs\u0142ugiwane.
From gitne at icedtea.classpath.org Mon Feb 3 23:40:41 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Tue, 04 Feb 2014 07:40:41 +0000 Subject: /hg/release/icedtea-web-1.4: 4 new changesets Message-ID: changeset 3067ba87315c in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=3067ba87315c author: Jacob Wisor date: Sat Feb 01 08:48:10 2014 +0100 Added missing DE localized messages changeset e7da8d1be3f8 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=e7da8d1be3f8 author: Jacob Wisor date: Tue Feb 04 07:59:54 2014 +0100 Fix commit date in ChangeLog changeset 9fd5c00b239b in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=9fd5c00b239b author: Jacob Wisor date: Tue Feb 04 08:26:49 2014 +0100 Remove comments with original messages from Messages_de.properties changeset 84032d1e6f93 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=84032d1e6f93 author: Jacob Wisor date: Sat Feb 01 01:00:00 2014 +0000 Merge PL and DE localization branches diffstat: ChangeLog | 16 +++++++++++ netx/net/sourceforge/jnlp/resources/Messages_de.properties | 20 ++++++++++--- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 12 +++++++- 3 files changed, 42 insertions(+), 6 deletions(-) diffs (154 lines): diff -r 497032a7105c -r 84032d1e6f93 ChangeLog --- a/ChangeLog Fri Jan 31 15:17:16 2014 +0100 +++ b/ChangeLog Sat Feb 01 01:00:00 2014 +0000 @@ -1,3 +1,19 @@ +2014-02-01 Jacob Wisor + + Added missing DE localized messages + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + +2014-02-01 Jacob Wisor + + Added missing PL message localizations + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + 2014-01-31 Jiri Vanek Added missing CZ translations diff -r 497032a7105c -r 84032d1e6f93 netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Fri Jan 31 15:17:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Sat Feb 01 01:00:00 2014 +0000 @@ -151,6 +151,10 @@ RCantReplaceSM=Wechseln des SecurityManager ist nicht zugelassen. RCantCreateFile=Kann Datei {0} nicht erstellen RCantDeleteFile=Kann Datei {0} nicht l\u00f6schen +RCantOpenFile=Konnte die Datei \u201e{0}\u201c nicht \u00f6ffnen +RCantWriteFile=Konnte in die Datei \u201e{0}\u201c nicht schreiben +RFileReadOnly=\u00d6ffnen der Datei im Schreibschutzmodus +RExpectedFile=Erwartete von \u201e{0}\u201c eine Datei zu sein, war es aber nicht RRemoveRPermFailed=Entfernen der Leseberechtigung f\u00fcr Datei {0} schlug fehl RRemoveWPermFailed=Entfernen der Schreibberechtigungen f\u00fcr Datei {0} schlug fehl RRemoveXPermFailed=Entfernen der Ausf\u00fchrberechtigungen f\u00fcr Datei {0} schlug fehl @@ -210,9 +214,9 @@ SFileReadAccess=Die Anwendung hat Lesezugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? SFileWriteAccess=Die Anwendung hat Schreibzugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? SDesktopShortcut=Die Anwendung hat die Berechtigung eine Verkn\u00fcpfung auf dem Desktop zu erstellen angefordert. Soll diese Aktion zugelassen werden? -SSigUnverified=Die digitale Signatur der Anwendung konnte nicht verifiziert werden. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? -SSigVerified=Die digitale Signatur der Anwendung wurde verifiziert. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? -SSignatureError=Die digitale Signatur der Anwendung hat einen Fehler. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? +SSigUnverified=Die digitale Signatur der Anwendung kann nicht verifiziert werden. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. +SSigVerified=Die digitale Signatur der Anwendung wurde verifiziert. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. +SSignatureError=Die digitale Signatur der Anwendung hat einen Fehler. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. SUntrustedSource=Die digitale Signatur konnte nicht durch eine vertrauensw\u00fcrdige Quelle verifiziert werden. Die Anwendung sollte nur zur Ausgef\u00fchrung gebracht werden, wenn der Ursprung der Anwendung vertrauensw\u00fcrdig ist. SWarnFullPermissionsIgnorePolicy=Dem ausgef\u00fchrten Code werden volle Berechtigungen erteilt, wobei jedwede Java-Richtlinien, die eingerichtet sein k\u00f6nnten, ignoriert werden. STrustedSource=Die digitale Signatur wurde durch eine vertrauensw\u00fcrdige Quelle best\u00e4tigt. @@ -327,7 +331,7 @@ CPJVMgijFound=Warnung, gij wurde erkannt CPJVMstrangeProcess=Der Pfad hatte einen ausf\u00fchrbaren Prozess, aber dies wurde nicht erkannt. Bitte die Java-Version anhand der Konsolenausgabe \u00fcberpr\u00fcfen. CPJVMnotDir=Fehler: Der gew\u00e4hlte Pfad ist kein Verzeichnis. -CPJVMisDir=Der gew\u00e4hlte Pfad is ein Verzeichnis. +CPJVMisDir=Der gew\u00e4hlte Pfad ist ein Verzeichnis. CPJVMnoJava=Fehler: Das gew\u00e4hlte Verzeichnis enth\u00e4lt bin/java nicht. CPJVMjava=Das gew\u00e4hlte Verzeichnis enth\u00e4lt bin/java. CPJVMnoRtJar=Fehler: Das gew\u00e4hlte Verzeichnis enth\u00e4lt lib/rt.jar nicht. @@ -337,6 +341,9 @@ CPJVMNotokMessage2=M\u00f6gliche Gr\u00fcnde f\u00fcr diese Meldung sind:
* Einige Pr\u00fcftests wurden nicht bestanden
* Es wurde kein OpenJDK erkannt
Wegen eines ungeeigneten JDKs wird IcedTea-Web wahrscheinlich nicht starten k\u00f6nnen.
Die Eigenschaft {0} in der Konfigurationsdatei {1} m\u00fcsste angepasst oder entfernt werden.
Es wird empfohlen nach OpenJDK auf diesem System zu suchen. CPJVMconfirmInvalidJdkTitle=Ungeeignetes JDK CPJVMconfirmReset=Auf Standard zur\u00fccksetzen? +CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten. Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. +CPPolicyTooltip=\u00d6ffnet \u201e{0}\u201c im Richtlinieneditor (policytool) +CPPolicyEditorNotFound=Konnte keinen Richtlinieneditor finden. Es sollte gepr\u00fcft werden, dass policytool \u00fcber die Umgebungsvariable PATH aufgel\u00f6st werden kann. # Control Panel - Buttons CPButAbout=\u00dcber... @@ -344,6 +351,7 @@ CPButSettings=Einstellungen... CPButView=Anzeigen... CPButCertificates=Zertifikate... +CPButPolicy=Im\u00a0Richtlinieneditor\u00a0bearbeiten... # Control Panel - Headers CPHead=IcedTea-Web Systemsteuerung @@ -356,6 +364,7 @@ CPHeadDesktopIntegration=\u00a0Desktopintegration\u00a0 CPHeadSecurity=\u00a0Sicherheitseinstellungen\u00a0 CPHeadJVMSettings=\u00a0JVM\u00a0Einstellungen\u00a0 +CPHeadPolicy=\u00a0Benutzerdefinierte\u00a0Richtlinieneinstellungen\u00a0 # Control Panel - Tabs CPTabAbout=\u00dcber IcedTea-Web @@ -368,6 +377,7 @@ CPTabRuntimes=Laufzeitumgebungen CPTabSecurity=Sicherheit CPTabJVMSettings=JVM Einstellungen +CPTabPolicy=Richtlinieneinstellungen # Control Panel - AboutPanel CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs wird zur Zeit nicht unterst\u00fctzt.
@@ -484,7 +494,7 @@ CLCheckDescription=Zeigt alle Eigenschaften an, die definiert wurden, aber durch IcedTea-Web nicht\nerkannt werden. CLHelpDescription=Das Werkzeug itweb-settings erlaubt einem Benutzer die Konfiguration zu \u00e4ndern,\nanzuzeigen und zu pr\u00fcfen. Um die grafische Benutzeroberfl\u00e4che zu nutzen, d\u00fcrfen\nkeine Argumente angegeben werden. Um den Befehlszeilenmodus zu nutzen, m\u00fcssen\ngeeignete Befehle und Parameter angeben werden.\nF\u00fcr Hilfe mit einem bestimmten Befehl, versuche: {0} Befehl help -# splash screen related +# splash screen related SPLASHerror=Um Details zu erhalten, hier klicken. Schwerwiegende Ausnahme aufgetreten. SPLASH_ERROR=FEHLER SPLASHtitle=Titel diff -r 497032a7105c -r 84032d1e6f93 netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Fri Jan 31 15:17:16 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Sat Feb 01 01:00:00 2014 +0000 @@ -151,6 +151,10 @@ RCantReplaceSM=Wymiana SecurityManager jest niedozwolona. RCantCreateFile=Nie mo\u017cna utworzy\u0107 pliku \u201e{0}\u201d RCantDeleteFile=Nie mo\u017cna usun\u0105\u0107 pliku \u201e{0}\u201d +RCantOpenFile=Nie mo\u017cna otworzy\u0107 pliku \u201e{0}\u201d +RCantWriteFile=Nie mo\u017cna zapisa\u0107 pliku \u201e{0}\u201d +RFileReadOnly=Otwieranie pliku w trybie wy\u0142\u0105cznie do odczytu +RExpectedFile=Oczekiwano \u201e{0}\u201d bycie plikiem, lecz nie by\u0142o RRemoveRPermFailed=Brak powodzenia przy usuwaniu praw odczytu z pliku \u201e{0}\u201d RRemoveWPermFailed=Brak powodzenia przy usuwaniu praw zapisu z pliku \u201e{0}\u201d RRemoveXPermFailed=Brak powodzenia przy usuwaniu praw wykonawczych z pliku \u201e{0}\u201d @@ -334,9 +338,12 @@ CPJVMrtJar=Wybrana \u015bcie\u017cka zawiera lib/rt.jar. CPJVMPluginAllowTTValidation=Sprawd\u017a JRE bezzw\u0142ocznie CPJVMNotokMessage1=Wprowadzono nieprawid\u0142ow\u0105 warto\u015b\u0107 JDK ({0}) z nast\u0119puj\u0105cym komunikatem o b\u0142\u0119dzie: -CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3trych sprawdzan\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. +CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3rych sprawdzian\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. CPJVMconfirmInvalidJdkTitle=Nieprawid\u0142owy JDK CPJVMconfirmReset=Przywr\u00f3ci\u0107 stan domy\u015blny? +CPPolicyDetail=Przegl\u0105daj i edytuj plik u\u017cytkownika wytycznej Java. Pozwala na udzielanie lub odmawianie praw applet-om, niezale\u017cnie od standardowych regu\u0142 bezpiecze\u0144stwa piaskownicy. +CPPolicyTooltip=Otwiera \u201e{0}\u201d w edytorze wytycznej (policytool) +CPPolicyEditorNotFound=Nie znaleziono systemowego edytora plik\u00f3w wytycznej. Sprawd\u017a, czy zmienna \u015brodowiskowa \u201ePATH\u201d rozwi\u0105zuje lokalizacj\u0119 \u201epolicytool\u201d. # Control Panel - Buttons CPButAbout=O... @@ -344,6 +351,7 @@ CPButSettings=Ustawienia... CPButView=Przegl\u0105daj... CPButCertificates=Certyfikaty... +CPButPolicy=Podgl\u0105d/Edytuj w edytorze wytycznej... # Control Panel - Headers CPHead=Panel sterowania IcedTea-Web @@ -356,6 +364,7 @@ CPHeadDesktopIntegration=\u00a0Integracja\u00a0z\u00a0pulpitem\u00a0 CPHeadSecurity=\u00a0Ustawienia\u00a0bezpiecze\u0144stwa\u00a0 CPHeadJVMSettings=\u00a0Ustawienia\u00a0maszyny\u00a0wirtualnej\u00a0Java\u00a0(JVM)\u00a0 +CPHeadPolicy=\u00a0Dostosowania\u00a0wytycznej\u00a0 # Control Panel - Tabs CPTabAbout=O IcedTea-Web @@ -368,6 +377,7 @@ CPTabRuntimes=\u015arodowiska uruchomieniowe CPTabSecurity=Bezpiecze\u0144stwo CPTabJVMSettings=Ustawienia JVM +CPTabPolicy=Ustawienia wytycznej # Control Panel - AboutPanel CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie nieobs\u0142ugiwane.
From bugzilla-daemon at icedtea.classpath.org Tue Feb 4 02:32:26 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 04 Feb 2014 10:32:26 +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 Bug 1284 depends on bug 1661, which changed state. Bug 1661 Summary: [IcedTea7] Cleanup SYSTEM_* options and allow them to be set false http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1661 What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED -- 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/20140204/79b9b85c/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Feb 4 02:32:23 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 04 Feb 2014 10:32:23 +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|ASSIGNED |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/20140204/4b032cca/attachment.html From ptisnovs at icedtea.classpath.org Tue Feb 4 03:23:30 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 04 Feb 2014 11:23:30 +0000 Subject: /hg/gfx-test: Added new tests, updated (c) year, improved javado... Message-ID: changeset 1d17438ec9cb in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=1d17438ec9cb author: Pavel Tisnovsky date: Tue Feb 04 12:27:47 2014 +0100 Added new tests, updated (c) year, improved javadoc etc. diffstat: ChangeLog | 7 + src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java | 82 +++++----- src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java | 5 +- src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java | 25 +++ 4 files changed, 75 insertions(+), 44 deletions(-) diffs (450 lines): diff -r 21d3f15459c9 -r 1d17438ec9cb ChangeLog --- a/ChangeLog Mon Feb 03 13:49:34 2014 +0100 +++ b/ChangeLog Tue Feb 04 12:27:47 2014 +0100 @@ -1,3 +1,10 @@ +2014-02-04 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: + * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java: + * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: + Added new tests, updated (c) year, improved javadoc etc. + 2014-02-03 Pavel Tisnovsky * src/org/gfxtest/framework/CommonCAGOperations.java: diff -r 21d3f15459c9 -r 1d17438ec9cb src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Mon Feb 03 13:49:34 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java Tue Feb 04 12:27:47 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. @@ -69,7 +69,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using stroke. * * @param image @@ -92,7 +92,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using stroke. * * @param image @@ -115,7 +115,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape + * constructed from two overlapping circles using inverse subtract operator. The shape * is rendered using stroke. * * @param image @@ -138,7 +138,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using stroke. * * @param image @@ -161,7 +161,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using stroke. * * @param image @@ -184,7 +184,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using wide stroke. * * @param image @@ -209,7 +209,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using wide stroke. * * @param image @@ -234,7 +234,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape + * constructed from two overlapping circles using inverse subtract operator. The shape * is rendered using wide stroke. * * @param image @@ -259,7 +259,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using wide stroke. * * @param image @@ -284,7 +284,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using wide stroke. * * @param image @@ -309,7 +309,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using extra wide stroke. * * @param image @@ -334,7 +334,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using extra wide stroke. * * @param image @@ -359,7 +359,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape + * constructed from two overlapping circles using inverse subtract operator. The shape * is rendered using extra wide stroke. * * @param image @@ -384,7 +384,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using extra wide stroke. * * @param image @@ -409,7 +409,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using extra wide stroke. * * @param image @@ -434,7 +434,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using color paint (fill). * * @param image @@ -459,7 +459,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using color paint (fill). * * @param image @@ -484,7 +484,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using color paint (fill). * * @param image @@ -509,7 +509,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using color paint (fill). * * @param image @@ -534,7 +534,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using color paint (fill). * * @param image @@ -559,7 +559,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using horizontal gradient paint (fill). * * @param image @@ -584,7 +584,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is rendered + * constructed from two overlapping circles using subtract operator. The shape is rendered * using horizontal gradient paint (fill). * * @param image @@ -609,7 +609,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is rendered + * constructed from two overlapping circles using subtract operator. The shape is rendered * using horizontal gradient paint (fill). * * @param image @@ -634,7 +634,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is rendered + * constructed from two overlapping circles using intersect operator. The shape is rendered * using horizontal gradient paint (fill). * * @param image @@ -659,7 +659,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using horizontal gradient paint (fill). * * @param image @@ -684,7 +684,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using vertical gradient paint (fill). * * @param image @@ -709,7 +709,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using vertical gradient paint (fill). * * @param image @@ -734,7 +734,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape + * constructed from two overlapping circles using inverse subtract operator. The shape * is rendered using vertical gradient paint (fill). * * @param image @@ -759,7 +759,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is rendered + * constructed from two overlapping circles using intersect operator. The shape is rendered * using vertical gradient paint (fill). * * @param image @@ -784,7 +784,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using vertical gradient paint (fill). * * @param image @@ -809,7 +809,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is rendered + * constructed from two overlapping circles using subtract operator. The shape is rendered * using diagonal gradient paint (fill). * * @param image @@ -834,7 +834,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using subtract operator. The shape is + * constructed from two overlapping circles using subtract operator. The shape is * rendered using diagonal gradient paint (fill). * * @param image @@ -859,7 +859,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using diagonal gradient paint (fill). * * @param image @@ -884,7 +884,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using diagonal gradient paint (fill). * * @param image @@ -909,7 +909,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using diagonal gradient paint (fill). * * @param image @@ -934,7 +934,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using radial gradient paint (fill). * * @param image @@ -959,7 +959,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using union operator. The shape is rendered + * constructed from two overlapping circles using union operator. The shape is rendered * using radial gradient paint (fill). * * @param image @@ -984,7 +984,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using inverse subtract operator. The shape + * constructed from two overlapping circles using inverse subtract operator. The shape * is rendered using radial gradient paint (fill). * * @param image @@ -1009,7 +1009,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using intersect operator. The shape is + * constructed from two overlapping circles using intersect operator. The shape is * rendered using radial gradient paint (fill). * * @param image @@ -1034,7 +1034,7 @@ /** * Checks the process of creating and rendering new geometric shape - * constructed from two circles using XOR operator. The shape is rendered + * constructed from two overlapping circles using XOR operator. The shape is rendered * using radial gradient paint (fill). * * @param image diff -r 21d3f15459c9 -r 1d17438ec9cb src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Mon Feb 03 13:49:34 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingRectangles.java Tue Feb 04 12:27:47 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. @@ -36,7 +36,7 @@ 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 org.gfxtest.testsuites; @@ -55,7 +55,6 @@ * by performing boolean operations on existing ones. This process is often * called Constructive area geometry (CAG). All CAG operations - union, * intersection, subtraction and XOR - is processed on two overlapping Rectangles. - * Rectangles which are the basis of the areas are overlapping. * * @author Pavel Tisnovsky */ diff -r 21d3f15459c9 -r 1d17438ec9cb src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Mon Feb 03 13:49:34 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Tue Feb 04 12:27:47 2014 +0100 @@ -934,6 +934,31 @@ /** * Checks the process of creating and rendering new geometric shape + * constructed from two touching circles using union operator. The shape is rendered + * using diagonal gradient 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 testUnionDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(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 touching circles using subtract operator. The shape is rendered * using diagonal gradient paint (fill). * From ptisnovs at icedtea.classpath.org Tue Feb 4 03:45:06 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 04 Feb 2014 11:45:06 +0000 Subject: /hg/rhino-tests: Enhancement of the test SimpleBindingsClassTest. Message-ID: changeset ccbc43e0fc52 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ccbc43e0fc52 author: Pavel Tisnovsky date: Tue Feb 04 12:49:25 2014 +0100 Enhancement of the test SimpleBindingsClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/SimpleBindingsClassTest.java | 64 +++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 0 deletions(-) diffs (114 lines): diff -r a700722dcd30 -r ccbc43e0fc52 ChangeLog --- a/ChangeLog Mon Feb 03 13:41:42 2014 +0100 +++ b/ChangeLog Tue Feb 04 12:49:25 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-04 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Enhancement of the test SimpleBindingsClassTest. + 2014-02-03 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: diff -r a700722dcd30 -r ccbc43e0fc52 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Mon Feb 03 13:41:42 2014 +0100 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Tue Feb 04 12:49:25 2014 +0100 @@ -1826,6 +1826,14 @@ } try { + this.simpleBindingsClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleBindingsClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1834,6 +1842,14 @@ } try { + this.simpleBindingsClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.simpleBindingsClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1842,6 +1858,22 @@ } try { + this.simpleBindingsClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.simpleBindingsClass.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.simpleBindingsClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1890,6 +1922,30 @@ } try { + this.simpleBindingsClass.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.simpleBindingsClass.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.simpleBindingsClass.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.simpleBindingsClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1906,6 +1962,14 @@ } try { + this.simpleBindingsClass.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.simpleBindingsClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From bugzilla-daemon at icedtea.classpath.org Tue Feb 4 06:54:32 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 04 Feb 2014 14:54:32 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #6 from Andrew Azores --- Sorry, that filepath for the policy file should actually be: $HOME/.icedtea/security/java.policy -- 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/20140204/0ae781c7/attachment.html From andrew at icedtea.classpath.org Tue Feb 4 07:30:47 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Tue, 04 Feb 2014 15:30:47 +0000 Subject: /hg/icedtea6-hg: 5 new changesets Message-ID: changeset 29333c29963d in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?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-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?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. changeset 963a9ab43d7f in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?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. changeset 8c338e95fea0 in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=8c338e95fea0 author: Andrew John Hughes date: Sat Feb 01 15:57:33 2014 +0000 Start work on next release, b31. 2014-02-01 Andrew John Hughes * Makefile.am: (OPENJDK_VERSION): Bump to next release, b31. changeset 2fba937157de in /hg/icedtea6-hg details: http://icedtea.classpath.org/hg/icedtea6-hg?cmd=changeset;node=2fba937157de author: Andrew John Hughes date: Tue Feb 04 15:30:30 2014 +0000 Sync linker-libs-order.patch with upstream. 2014-02-01 Andrew John Hughes * patches/linker-libs-order.patch: Regenerate, removing upstreamed fragment. diffstat: ChangeLog | 29 +++++++++++++++++ Makefile.am | 2 +- NEWS | 51 ++++++++++++++++++++++++++++++ acinclude.m4 | 3 +- configure.ac | 5 +-- patches/alternative_krb5_cache_fixup.patch | 18 ---------- patches/linker-libs-order.patch | 44 +++++++++---------------- 7 files changed, 100 insertions(+), 52 deletions(-) diffs (231 lines): diff -r 94c0b31c2a43 -r 2fba937157de ChangeLog --- a/ChangeLog Mon Jan 20 18:42:31 2014 +0000 +++ b/ChangeLog Tue Feb 04 15:30:30 2014 +0000 @@ -1,3 +1,32 @@ +2014-02-01 Andrew John Hughes + + * patches/linker-libs-order.patch: + Regenerate, removing upstreamed fragment. + +2014-02-01 Andrew John Hughes + + * Makefile.am: + (OPENJDK_VERSION): Bump to next release, b31. + +2014-01-30 Andrew John Hughes + + * NEWS: Add 1.11.15 release notes. + +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 2fba937157de Makefile.am --- a/Makefile.am Mon Jan 20 18:42:31 2014 +0000 +++ b/Makefile.am Tue Feb 04 15:30:30 2014 +0000 @@ -2,7 +2,7 @@ OPENJDK_DATE = 21_jan_2014 OPENJDK_SHA256SUM = ebd9fdf39c8590cd620cb78c481ca233f5919f2819237b5d2b440666f1dd3475 -OPENJDK_VERSION = b30 +OPENJDK_VERSION = b31 OPENJDK_URL = https://java.net/downloads/openjdk6/ CACAO_VERSION = 68fe50ac34ec diff -r 94c0b31c2a43 -r 2fba937157de NEWS --- a/NEWS Mon Jan 20 18:42:31 2014 +0000 +++ b/NEWS Tue Feb 04 15:30:30 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 diff -r 94c0b31c2a43 -r 2fba937157de acinclude.m4 --- a/acinclude.m4 Mon Jan 20 18:42:31 2014 +0000 +++ b/acinclude.m4 Tue Feb 04 15:30:30 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 2fba937157de configure.ac --- a/configure.ac Mon Jan 20 18:42:31 2014 +0000 +++ b/configure.ac Tue Feb 04 15:30:30 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 2fba937157de 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 Tue Feb 04 15:30:30 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 diff -r 94c0b31c2a43 -r 2fba937157de patches/linker-libs-order.patch --- a/patches/linker-libs-order.patch Mon Jan 20 18:42:31 2014 +0000 +++ b/patches/linker-libs-order.patch Tue Feb 04 15:30:30 2014 +0000 @@ -1,7 +1,19 @@ -diff -durN openjdk-orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk ---- openjdk-orig/jdk/make/common/shared/Sanity.gmk 2008-10-27 00:25:33.000000000 +0000 -+++ openjdk/jdk/make/common/shared/Sanity.gmk 2008-10-28 21:42:16.000000000 +0000 -@@ -1397,7 +1397,7 @@ +diff -Nru openjdk.orig/jdk/make/com/sun/java/pack/Makefile openjdk/jdk/make/com/sun/java/pack/Makefile +--- openjdk.orig/jdk/make/com/sun/java/pack/Makefile 2013-08-21 20:32:57.128216515 +0100 ++++ openjdk/jdk/make/com/sun/java/pack/Makefile 2014-02-01 15:58:10.921834941 +0000 +@@ -144,7 +144,7 @@ + + $(UNPACK_EXE): $(UNPACK_EXE_FILES_o) winres + $(prep-target) +- $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) ++ $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(OTHER_LDLIBS) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) + $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) + + +diff -Nru openjdk.orig/jdk/make/common/shared/Sanity.gmk openjdk/jdk/make/common/shared/Sanity.gmk +--- openjdk.orig/jdk/make/common/shared/Sanity.gmk 2014-02-01 15:43:22.344232267 +0000 ++++ openjdk/jdk/make/common/shared/Sanity.gmk 2014-02-01 15:58:10.921834941 +0000 +@@ -1344,7 +1344,7 @@ ifdef ALSA_VERSION_CHECK $(ALSA_VERSION_CHECK): $(ALSA_VERSION_CHECK).c @$(prep-target) @@ -10,27 +22,3 @@ $(ALSA_VERSION_CHECK).c: @$(prep-target) -diff -durN openjdk-orig/jdk/make/javax/sound/jsoundalsa/Makefile openjdk/jdk/make/javax/sound/jsoundalsa/Makefile ---- openjdk-orig/jdk/make/javax/sound/jsoundalsa/Makefile 2008-08-28 09:10:50.000000000 +0100 -+++ openjdk/jdk/make/javax/sound/jsoundalsa/Makefile 2008-10-28 21:55:27.000000000 +0000 -@@ -65,7 +65,7 @@ - $(MIDIFILES_export) \ - $(PORTFILES_export) - --LDFLAGS += -lasound -+OTHER_LDLIBS += -lasound - - CPPFLAGS += \ - -DUSE_DAUDIO=TRUE \ -diff -durN openjdk-orig/jdk/make/com/sun/java/pack/Makefile openjdk/jdk/make/com/sun/java/pack/Makefile ---- openjdk-orig/jdk/make/com/sun/java/pack/Makefile 2008-10-27 00:25:30.000000000 +0000 -+++ openjdk/jdk/make/com/sun/java/pack/Makefile 2008-10-28 23:27:55.000000000 +0000 -@@ -142,7 +141,7 @@ - - $(UNPACK_EXE): $(UNPACK_EXE_FILES_o) winres - $(prep-target) -- $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) -+ $(LINKER) $(LDDFLAGS) $(UNPACK_EXE_FILES_o) $(RES) $(OTHER_LDLIBS) $(LIBCXX) $(LDOUTPUT)$(TEMPDIR)/unpack200$(EXE_SUFFIX) - $(CP) $(TEMPDIR)/unpack200$(EXE_SUFFIX) $(UNPACK_EXE) - - From aazores at redhat.com Tue Feb 4 12:28:29 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 04 Feb 2014 15:28:29 -0500 Subject: [rfc][icedtea-web] Code cleanup patches In-Reply-To: <52F08796.5010104@gmx.de> References: <52EFFCD3.1030509@redhat.com> <52F08796.5010104@gmx.de> Message-ID: <52F14D6D.4030705@redhat.com> On 02/04/2014 01:24 AM, Jacob Wisor wrote: > On 02/03/2014 09:32 PM, Andrew Azores wrote: >> Hi, >> >> The larger two of the three attached patches do a few simple things: >> 1) make variables/parameters/fields final, where applicable. I feel >> this makes >> it more clear which variables are used eg as accumulators or will be >> returned by >> the method, etc. This also allows the removal of some local variables >> which were >> created simply to have "final versions" of other variables, in order >> for them to >> be captured by anonymous inner classes for example. >> 2) prefix fields with "this" in very long methods. In shorter methods >> it can >> remain clear that fields are fields since no declaration for that >> name can be >> seen, but in very long methods, it can become more confusing. >> 3) fix formatting. Eg remove useless comments, remove whitespace from >> "empty" >> lines, remove trailing whitespace > > Looks good to me. > > Just on nit: > > 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 > [...] > - tracker.addResource(jar.getLocation(), > - jar.getVersion(), file.getDownloadOptions(), > + this. tracker.addResource(jar.getLocation(), > + jar.getVersion(), this.file.getDownloadOptions(), > > Please remove the space between this. and tracker. Ah, nice catch :) > > You may also want to check for "){" malformed block openings and > replace them with ") {". Yea, might as well. And we should probably get stricter on this kind of thing during review, too. > > Most of the exception parameters of catch clauses do not need to be > explicitly marked final because they are never assigned to hence they > become /effectively/ /final/. The OpenJDK compiler does take this into > account when generating byte code indeed. But, as I understand the > purpose of these patches was to increase readability. > > Jacob Pretty much just for readability's sake, yes. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: classloader_cleanup.patch Type: text/x-patch Size: 84853 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/a9ec4c5c/classloader_cleanup-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: classloader_cleanup-1.4.patch Type: text/x-patch Size: 86218 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/a9ec4c5c/classloader_cleanup-1.4-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extensionjnlpsinapplet_makefile_ls.patch Type: text/x-patch Size: 462 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/a9ec4c5c/extensionjnlpsinapplet_makefile_ls-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: securitydialogmessagehandler_cleanup.patch Type: text/x-patch Size: 8375 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/a9ec4c5c/securitydialogmessagehandler_cleanup-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: securitydialogmessagehandler_cleanup-1.4.patch Type: text/x-patch Size: 7555 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140204/a9ec4c5c/securitydialogmessagehandler_cleanup-1.4-0001.patch From gitne at icedtea.classpath.org Tue Feb 4 15:01:55 2014 From: gitne at icedtea.classpath.org (gitne at icedtea.classpath.org) Date: Tue, 04 Feb 2014 23:01:55 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset c2906456d013 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=c2906456d013 author: Jacob Wisor date: Tue Feb 04 23:56:30 2014 +0100 Added missing DE localized messages changeset 09bd9dee7256 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=09bd9dee7256 author: Jacob Wisor date: Tue Feb 04 23:57:56 2014 +0100 Added missing PL localized messages diffstat: ChangeLog | 16 +++++++++++ netx/net/sourceforge/jnlp/resources/Messages_de.properties | 20 ++++++++++--- netx/net/sourceforge/jnlp/resources/Messages_pl.properties | 12 +++++++- 3 files changed, 42 insertions(+), 6 deletions(-) diffs (154 lines): diff -r 9f89ce715abc -r 09bd9dee7256 ChangeLog --- a/ChangeLog Fri Jan 31 09:33:44 2014 +0100 +++ b/ChangeLog Tue Feb 04 23:57:56 2014 +0100 @@ -1,3 +1,19 @@ +2014-02-04 Jacob Wisor + + Added missing PL localized messages + * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + +2014-02-04 Jacob Wisor + + Added missing DE localized messages + * netx/net/sourceforge/jnlp/resources/Messages_de.properties: added + RCantOpenFile RCantWriteFile RFileReadOnly RExpectedFile CPPolicyDetail + CPPolicyTooltip CPPolicyEditorNotFound CPButPolicy CPHeadPolicy + CPTabPolicy. Modified SSigUnverified SSigVerified SSignatureError + 2014-01-31 Jacob Wisor * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: diff -r 9f89ce715abc -r 09bd9dee7256 netx/net/sourceforge/jnlp/resources/Messages_de.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_de.properties Fri Jan 31 09:33:44 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_de.properties Tue Feb 04 23:57:56 2014 +0100 @@ -158,6 +158,10 @@ RCantReplaceSM=Wechseln des SecurityManager ist nicht zugelassen. RCantCreateFile=Kann Datei {0} nicht erstellen RCantDeleteFile=Kann Datei {0} nicht l\u00f6schen +RCantOpenFile=Konnte die Datei \u201e{0}\u201c nicht \u00f6ffnen +RCantWriteFile=Konnte in die Datei \u201e{0}\u201c nicht schreiben +RFileReadOnly=\u00d6ffnen der Datei im Schreibschutzmodus +RExpectedFile=Erwartete von \u201e{0}\u201c eine Datei zu sein, war es aber nicht RRemoveRPermFailed=Entfernen der Leseberechtigung f\u00fcr Datei {0} schlug fehl RRemoveWPermFailed=Entfernen der Schreibberechtigungen f\u00fcr Datei {0} schlug fehl RRemoveXPermFailed=Entfernen der Ausf\u00fchrberechtigungen f\u00fcr Datei {0} schlug fehl @@ -218,9 +222,9 @@ SFileReadAccess=Die Anwendung hat Lesezugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? SFileWriteAccess=Die Anwendung hat Schreibzugriff auf {0} angefordert. Soll diese Aktion zugelassen werden? SDesktopShortcut=Die Anwendung hat die Berechtigung eine Verkn\u00fcpfung auf dem Desktop zu erstellen angefordert. Soll diese Aktion zugelassen werden? -SSigUnverified=Die digitale Signatur der Anwendung konnte nicht verifiziert werden. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? -SSigVerified=Die digitale Signatur der Anwendung wurde verifiziert. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? -SSignatureError=Die digitale Signatur der Anwendung hat einen Fehler. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? +SSigUnverified=Die digitale Signatur der Anwendung kann nicht verifiziert werden. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. +SSigVerified=Die digitale Signatur der Anwendung wurde verifiziert. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. +SSignatureError=Die digitale Signatur der Anwendung hat einen Fehler. Soll die Anwendung zur Ausf\u00fchrung gebracht werden? Sie erh\u00e4lt unbeschr\u00e4nkten Zugriff auf den Computer. SUntrustedSource=Die digitale Signatur konnte nicht durch eine vertrauensw\u00fcrdige Quelle verifiziert werden. Die Anwendung sollte nur zur Ausgef\u00fchrung gebracht werden, wenn der Ursprung der Anwendung vertrauensw\u00fcrdig ist. SWarnFullPermissionsIgnorePolicy=Dem ausgef\u00fchrten Code werden volle Berechtigungen erteilt, wobei jedwede Java-Richtlinien, die eingerichtet sein k\u00f6nnten, ignoriert werden. STrustedSource=Die digitale Signatur wurde durch eine vertrauensw\u00fcrdige Quelle best\u00e4tigt. @@ -335,7 +339,7 @@ CPJVMgijFound=Warnung, gij wurde erkannt CPJVMstrangeProcess=Der Pfad hatte einen ausf\u00fchrbaren Prozess, aber dies wurde nicht erkannt. Bitte die Java-Version anhand der Konsolenausgabe \u00fcberpr\u00fcfen. CPJVMnotDir=Fehler: Der gew\u00e4hlte Pfad ist kein Verzeichnis. -CPJVMisDir=Der gew\u00e4hlte Pfad is ein Verzeichnis. +CPJVMisDir=Der gew\u00e4hlte Pfad ist ein Verzeichnis. CPJVMnoJava=Fehler: Das gew\u00e4hlte Verzeichnis enth\u00e4lt bin/java nicht. CPJVMjava=Das gew\u00e4hlte Verzeichnis enth\u00e4lt bin/java. CPJVMnoRtJar=Fehler: Das gew\u00e4hlte Verzeichnis enth\u00e4lt lib/rt.jar nicht. @@ -345,6 +349,9 @@ CPJVMNotokMessage2=M\u00f6gliche Gr\u00fcnde f\u00fcr diese Meldung sind:
* Einige Pr\u00fcftests wurden nicht bestanden
* Es wurde kein OpenJDK erkannt
Wegen eines ungeeigneten JDKs wird IcedTea-Web wahrscheinlich nicht starten k\u00f6nnen.
Die Eigenschaft {0} in der Konfigurationsdatei {1} m\u00fcsste angepasst oder entfernt werden.
Es wird empfohlen nach OpenJDK auf diesem System zu suchen. CPJVMconfirmInvalidJdkTitle=Ungeeignetes JDK CPJVMconfirmReset=Auf Standard zur\u00fccksetzen? +CPPolicyDetail=Die Java-Richtliniendatei des aktuellen Benutzers anschauen und bearbeiten. Dies erlaubt Laufzeitberechtigungen an Applets zu gew\u00e4hren oder abzulehnen, unabh\u00e4ngig von den Sandbox-Standardsicherheitsregeln. +CPPolicyTooltip=\u00d6ffnet \u201e{0}\u201c im Richtlinieneditor (policytool) +CPPolicyEditorNotFound=Konnte keinen Richtlinieneditor finden. Es sollte gepr\u00fcft werden, dass policytool \u00fcber die Umgebungsvariable PATH aufgel\u00f6st werden kann. # Control Panel - Buttons CPButAbout=\u00dcber... @@ -352,6 +359,7 @@ CPButSettings=Einstellungen... CPButView=Anzeigen... CPButCertificates=Zertifikate... +CPButPolicy=Im\u00a0Richtlinieneditor\u00a0bearbeiten... # Control Panel - Headers CPHead=IcedTea-Web Systemsteuerung @@ -364,6 +372,7 @@ CPHeadDesktopIntegration=\u00a0Desktopintegration\u00a0 CPHeadSecurity=\u00a0Sicherheitseinstellungen\u00a0 CPHeadJVMSettings=\u00a0JVM\u00a0Einstellungen\u00a0 +CPHeadPolicy=\u00a0Benutzerdefinierte\u00a0Richtlinieneinstellungen\u00a0 # Control Panel - Tabs CPTabAbout=\u00dcber IcedTea-Web @@ -376,6 +385,7 @@ CPTabRuntimes=Laufzeitumgebungen CPTabSecurity=Sicherheit CPTabJVMSettings=JVM Einstellungen +CPTabPolicy=Richtlinieneinstellungen # Control Panel - AboutPanel CPAboutInfo=Diese Systemsteuerung dient der Einstellung von deployment.properties.
Nicht alle Optionen haben eine Wirkung, bis Sie implementiert wurden.
Die Verwendung mehrerer JREs wird zur Zeit nicht unterst\u00fctzt.
@@ -491,7 +501,7 @@ CLCheckDescription=Zeigt alle Eigenschaften an, die definiert wurden, aber durch IcedTea-Web nicht\nerkannt werden. CLHelpDescription=Das Werkzeug itweb-settings erlaubt einem Benutzer die Konfiguration zu \u00e4ndern,\nanzuzeigen und zu pr\u00fcfen. Um die grafische Benutzeroberfl\u00e4che zu nutzen, d\u00fcrfen\nkeine Argumente angegeben werden. Um den Befehlszeilenmodus zu nutzen, m\u00fcssen\ngeeignete Befehle und Parameter angeben werden.\nF\u00fcr Hilfe mit einem bestimmten Befehl, versuche: {0} Befehl help -# splash screen related +# splash screen related SPLASHerror=Um Details zu erhalten, hier klicken. Schwerwiegende Ausnahme aufgetreten. SPLASH_ERROR=FEHLER SPLASHtitle=Titel diff -r 9f89ce715abc -r 09bd9dee7256 netx/net/sourceforge/jnlp/resources/Messages_pl.properties --- a/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Fri Jan 31 09:33:44 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages_pl.properties Tue Feb 04 23:57:56 2014 +0100 @@ -158,6 +158,10 @@ RCantReplaceSM=Wymiana SecurityManager jest niedozwolona. RCantCreateFile=Nie mo\u017cna utworzy\u0107 pliku \u201e{0}\u201d RCantDeleteFile=Nie mo\u017cna usun\u0105\u0107 pliku \u201e{0}\u201d +RCantOpenFile=Nie mo\u017cna otworzy\u0107 pliku \u201e{0}\u201d +RCantWriteFile=Nie mo\u017cna zapisa\u0107 pliku \u201e{0}\u201d +RFileReadOnly=Otwieranie pliku w trybie wy\u0142\u0105cznie do odczytu +RExpectedFile=Oczekiwano \u201e{0}\u201d bycie plikiem, lecz nie by\u0142o RRemoveRPermFailed=Brak powodzenia przy usuwaniu praw odczytu z pliku \u201e{0}\u201d RRemoveWPermFailed=Brak powodzenia przy usuwaniu praw zapisu z pliku \u201e{0}\u201d RRemoveXPermFailed=Brak powodzenia przy usuwaniu praw wykonawczych z pliku \u201e{0}\u201d @@ -342,9 +346,12 @@ CPJVMrtJar=Wybrana \u015bcie\u017cka zawiera lib/rt.jar. CPJVMPluginAllowTTValidation=Sprawd\u017a JRE bezzw\u0142ocznie CPJVMNotokMessage1=Wprowadzono nieprawid\u0142ow\u0105 warto\u015b\u0107 JDK ({0}) z nast\u0119puj\u0105cym komunikatem o b\u0142\u0119dzie: -CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3trych sprawdzan\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. +CPJVMNotokMessage2=Przyczyn\u0105 tego komunikatu mog\u0105 by\u0107:
* Nie zaliczono niekt\u00f3rych sprawdzian\u00f3w
* Wykryto inny ni\u017c OpenJDK
Ze wzgl\u0119du na nieprawid\u0142owy JDK IcedTea-Web prawdopodobnie nie b\u0119dzie w stanie wystartowa\u0107.
Trzeba b\u0119dzie dostosowa\u0107 lub usun\u0105\u0107 w\u0142a\u015bciwo\u015b\u0107 \u201e{0}\u201d w pliku konfiguracyjnym \u201e{1}\u201d.
Przeszukaj system za OpenJDK. CPJVMconfirmInvalidJdkTitle=Nieprawid\u0142owy JDK CPJVMconfirmReset=Przywr\u00f3ci\u0107 stan domy\u015blny? +CPPolicyDetail=Przegl\u0105daj i edytuj plik u\u017cytkownika wytycznej Java. Pozwala na udzielanie lub odmawianie praw applet-om, niezale\u017cnie od standardowych regu\u0142 bezpiecze\u0144stwa piaskownicy. +CPPolicyTooltip=Otwiera \u201e{0}\u201d w edytorze wytycznej (policytool) +CPPolicyEditorNotFound=Nie znaleziono systemowego edytora plik\u00f3w wytycznej. Sprawd\u017a, czy zmienna \u015brodowiskowa \u201ePATH\u201d rozwi\u0105zuje lokalizacj\u0119 \u201epolicytool\u201d. # Control Panel - Buttons CPButAbout=O... @@ -352,6 +359,7 @@ CPButSettings=Ustawienia... CPButView=Przegl\u0105daj... CPButCertificates=Certyfikaty... +CPButPolicy=Podgl\u0105d/Edytuj w edytorze wytycznej... # Control Panel - Headers CPHead=Panel sterowania IcedTea-Web @@ -364,6 +372,7 @@ CPHeadDesktopIntegration=\u00a0Integracja\u00a0z\u00a0pulpitem\u00a0 CPHeadSecurity=\u00a0Ustawienia\u00a0bezpiecze\u0144stwa\u00a0 CPHeadJVMSettings=\u00a0Ustawienia\u00a0maszyny\u00a0wirtualnej\u00a0Java\u00a0(JVM)\u00a0 +CPHeadPolicy=\u00a0Dostosowania\u00a0wytycznej\u00a0 # Control Panel - Tabs CPTabAbout=O IcedTea-Web @@ -376,6 +385,7 @@ CPTabRuntimes=\u015arodowiska uruchomieniowe CPTabSecurity=Bezpiecze\u0144stwo CPTabJVMSettings=Ustawienia JVM +CPTabPolicy=Ustawienia wytycznej # Control Panel - AboutPanel CPAboutInfo=Ten panel sterowania s\u0142u\u017cy do ustawiania pliku deployments.properties.
Nie wszystkie opcje maj\u0105 efekt, dop\u00f3ki nie zostan\u0105 obj\u0119te implementacj\u0105.
Stosowanie wielu \u015brodowisk uruchomieniowych Java (JRE) jest obecnie nieobs\u0142ugiwane.
From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 02:36:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 10:36:42 +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 #10 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=ce4dd5152559 author: andrew date: Wed Feb 05 10:32:38 2014 +0000 PR1661: Cleanup COMPILE_AGAINST_SYSCALLS 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/20140205/816b88d2/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 02:36:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 10:36:50 +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 #11 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=f0e170c48eca author: andrew date: Wed Feb 05 10:35:40 2014 +0000 PR1661: Cleanup COMPRESS_JARS 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/20140205/b99f283b/attachment.html From ptisnovs at icedtea.classpath.org Wed Feb 5 02:53:52 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 05 Feb 2014 10:53:52 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBitBltAffineIdentityTr... Message-ID: changeset 2429720ddf18 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=2429720ddf18 author: Pavel Tisnovsky date: Wed Feb 05 11:58:06 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 1d17438ec9cb -r 2429720ddf18 ChangeLog --- a/ChangeLog Tue Feb 04 12:27:47 2014 +0100 +++ b/ChangeLog Wed Feb 05 11:58:06 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-05 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Ten new tests added into BitBitBltAffineIdentityTransformOp.java: + 2014-02-04 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoOverlappingCircles.java: diff -r 1d17438ec9cb -r 2429720ddf18 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Tue Feb 04 12:27:47 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Wed Feb 05 11:58:06 2014 +0100 @@ -3095,6 +3095,146 @@ } /** + * 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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * 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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGB(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_ARGB_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 testBitBltDiagonalCheckerBufferedImageTypeIntARGBPreIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntARGBPre(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp2); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Wed Feb 5 02:57:14 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 05 Feb 2014 10:57:14 +0000 Subject: /hg/rhino-tests: Added new testGetResourceNegativeTest case into Message-ID: changeset 90ec2e72a315 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=90ec2e72a315 author: Pavel Tisnovsky date: Wed Feb 05 12:01:34 2014 +0100 Added new testGetResourceNegativeTest case into ScriptExceptionClassTest. diffstat: ChangeLog | 6 + src/org/RhinoTests/ScriptExceptionClassTest.java | 216 +++++++++++++++++++++++ 2 files changed, 222 insertions(+), 0 deletions(-) diffs (246 lines): diff -r ccbc43e0fc52 -r 90ec2e72a315 ChangeLog --- a/ChangeLog Tue Feb 04 12:49:25 2014 +0100 +++ b/ChangeLog Wed Feb 05 12:01:34 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-05 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Added new testGetResourceNegativeTest case into + ScriptExceptionClassTest. + 2014-02-04 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r ccbc43e0fc52 -r 90ec2e72a315 src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Tue Feb 04 12:49:25 2014 +0100 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Wed Feb 05 12:01:34 2014 +0100 @@ -1462,6 +1462,214 @@ } try { + this.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.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.scriptExceptionClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1796,6 +2004,14 @@ } /** + * Test for method javax.script.ScriptException.getClass().getResourceNegativeTest() + */ + protected void testGetResourceNegativeTest() { + Object resource = this.scriptExceptionClass.getResource("unknown"); + assertNull(resource, "getResource() does not return null"); + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptException */ @SuppressWarnings("cast") From jvanek at icedtea.classpath.org Wed Feb 5 03:56:40 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 05 Feb 2014 11:56:40 +0000 Subject: /hg/release/icedtea-web-1.4: 4 new changesets Message-ID: changeset 1ae3613c82f2 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=1ae3613c82f2 author: Jiri Vanek date: Tue Feb 04 12:53:11 2014 +0100 Added salt to plugin-java pipes' directory (fixing RH1010958) * plugin/icedteanp/IcedTeaNPPlugin.cc: (cleanUpDir) new utility method to clean up pipes directory. (start_jvm_if_needed) is now returning error status and creating salt in directory name. changeset 9b2e5d0cbd6f in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=9b2e5d0cbd6f author: Jiri Vanek date: Tue Feb 04 12:59:00 2014 +0100 configure.ac adapted to be 1.4.2 changeset 7ce16491687c in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=7ce16491687c author: Jiri Vanek date: Tue Feb 04 12:59:18 2014 +0100 Added tag icedtea-web-1.4.2 for changeset 9b2e5d0cbd6f changeset 50e472e1275f in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=50e472e1275f author: Jiri Vanek date: Wed Feb 05 12:56:23 2014 +0100 Prepared for 1.4.3 diffstat: .hgtags | 1 + ChangeLog | 7 +++ NEWS | 5 +- configure.ac | 2 +- plugin/icedteanp/IcedTeaNPPlugin.cc | 81 ++++++++++++++++++++++-------------- 5 files changed, 62 insertions(+), 34 deletions(-) diffs (220 lines): diff -r 84032d1e6f93 -r 50e472e1275f .hgtags --- a/.hgtags Sat Feb 01 01:00:00 2014 +0000 +++ b/.hgtags Wed Feb 05 12:56:23 2014 +0100 @@ -8,3 +8,4 @@ 0000000000000000000000000000000000000000 icedtea-web-1.4 7417aafce17fc2d1d11895b190a8f9a09abf228d icedtea-web-1.4 517457d5f6051fb4b9eec08664966edd294fce54 icedtea-web-1.4.1 +9b2e5d0cbd6f4339d3628b7be78fc1a3f105a501 icedtea-web-1.4.2 diff -r 84032d1e6f93 -r 50e472e1275f ChangeLog --- a/ChangeLog Sat Feb 01 01:00:00 2014 +0000 +++ b/ChangeLog Wed Feb 05 12:56:23 2014 +0100 @@ -1,3 +1,10 @@ +2014-02-04 Jiri Vanek + + Added salt to plugin-java pipes' directory (fixing RH1010958) + * plugin/icedteanp/IcedTeaNPPlugin.cc: (cleanUpDir) new utility method + to clean up pipes directory. (start_jvm_if_needed) is now returning + error status and creating salt in directory name. + 2014-02-01 Jacob Wisor Added missing DE localized messages diff -r 84032d1e6f93 -r 50e472e1275f NEWS --- a/NEWS Sat Feb 01 01:00:00 2014 +0000 +++ b/NEWS Wed Feb 05 12:56:23 2014 +0100 @@ -8,7 +8,9 @@ CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -New in release 1.4.2 (2013-MM-DD): +New in release 1.4.3 (YYYY-MM-DD): + +New in release 1.4.2 (2014-02-05): * 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 @@ -16,6 +18,7 @@ - PR1271: icedtea-web does not handle 'javascript:'-protocol URLs - RH976833: Multiple applets on one page cause deadlock - Enabled javaconsole + - RH1010958: insecure temporary file use flaw in LiveConnect implementation New in release 1.4.1 (2013-09-19): * Improved and cleaned Temporary internet files panel diff -r 84032d1e6f93 -r 50e472e1275f configure.ac --- a/configure.ac Sat Feb 01 01:00:00 2014 +0000 +++ b/configure.ac Wed Feb 05 12:56:23 2014 +0100 @@ -1,4 +1,4 @@ -AC_INIT([icedtea-web],[1.4.2pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) +AC_INIT([icedtea-web],[1.4.3pre],[distro-pkg-dev at openjdk.java.net], [icedtea-web], [http://icedtea.classpath.org/wiki/IcedTea-Web]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile netx.manifest]) diff -r 84032d1e6f93 -r 50e472e1275f plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Sat Feb 01 01:00:00 2014 +0000 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Feb 05 12:56:23 2014 +0100 @@ -38,6 +38,9 @@ // System includes. #include +#include +#include +#include #include #include #include @@ -120,6 +123,7 @@ // Data directory for plugin. static std::string data_directory; +static DIR *data_directory_descriptor; // Fully-qualified appletviewer default executable and rt.jar static const char* appletviewer_default_executable = ICEDTEA_WEB_JRE "/bin/java"; @@ -193,7 +197,7 @@ NPError get_cookie_info(const char* siteAddr, char** cookieString, uint32_t* len); NPError get_proxy_info(const char* siteAddr, char** proxy, uint32_t* len); void consume_message(gchar* message); -void start_jvm_if_needed(); +NPError start_jvm_if_needed(); static void appletviewer_monitor(GPid pid, gint status, gpointer data); void plugin_send_initialization_message(char* instance, gulong handle, int width, int height, @@ -268,7 +272,21 @@ return appletviewer_default_rtjar; } - +static void cleanUpDir(){ + //free data_directory descriptor + if (data_directory_descriptor != NULL) { + closedir(data_directory_descriptor); + } + //clean up pipes directory + PLUGIN_DEBUG ("Removing runtime directory %s \n", data_directory.c_str()); + int removed = rmdir(data_directory.c_str()); + if (removed != 0) { + PLUGIN_ERROR ("Failed to remove runtime directory %s, because of %s \n", data_directory.c_str(), strerror(errno)); + } else { + PLUGIN_DEBUG ("Removed runtime directory %s \n", data_directory.c_str()); + } + data_directory_descriptor = NULL; +} /* * Find first member in GHashTable* depending on version of glib */ @@ -333,6 +351,7 @@ gchar* cookie_info = NULL; NPObject* npPluginObj = NULL; + NPError startup_error = NPERR_NO_ERROR; if (!instance) { @@ -351,7 +370,7 @@ } // start the jvm if needed - start_jvm_if_needed(); + startup_error = start_jvm_if_needed(); // Initialize data->instance_id. // @@ -423,7 +442,7 @@ } // Starts the JVM if it is not already running -void start_jvm_if_needed() +NPError start_jvm_if_needed() { // This is asynchronized function. It must @@ -438,7 +457,7 @@ if (jvm_up) { PLUGIN_DEBUG("JVM is up. Returning.\n"); - return; + return NPERR_NO_ERROR; } PLUGIN_DEBUG("No JVM is running. Attempting to start one...\n"); @@ -606,10 +625,12 @@ g_free (in_pipe_name); in_pipe_name = NULL; + cleanUpDir(); done: // Now other threads may re-enter.. unlock the mutex g_mutex_unlock(vm_start_mutex); + return np_error; } @@ -1887,35 +1908,29 @@ // necessary. data_directory = IcedTeaPluginUtilities::getRuntimePath() + "/icedteaplugin-"; - if (getenv("USER") != NULL) - data_directory += getenv("USER"); + if (getenv("USER") != NULL) { + data_directory = data_directory + getenv("USER") + "-"; + } + data_directory += "XXXXXX"; + // Now create a icedteaplugin subdir + char fileNameX[data_directory.length()+1]; + std::strcpy (fileNameX, data_directory.c_str()); + char * fileName = mkdtemp(fileNameX); + if (fileName == NULL) { + PLUGIN_ERROR ("Failed to create data directory %s, %s\n", + data_directory.c_str(), + strerror (errno)); + return NPERR_GENERIC_ERROR; + } + data_directory = std::string(fileName); - // Now create a icedteaplugin subdir - if (!g_file_test (data_directory.c_str(), - (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) - { - int file_error = 0; - - file_error = g_mkdir (data_directory.c_str(), 0700); - if (file_error != 0) - { - PLUGIN_ERROR ("Failed to create data directory", - data_directory.c_str(), - strerror (errno)); - return NPERR_GENERIC_ERROR; - } - } - - - // If data directory doesn't exist by this point, bail - if (!g_file_test (data_directory.c_str(), - (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) - { - PLUGIN_ERROR ("Temp directory does not exist: ", - data_directory.c_str(), - strerror (errno)); + //open uniques icedteaplugin subdir for one single run + data_directory_descriptor = opendir(data_directory.c_str()); + if (data_directory_descriptor == NULL) { + PLUGIN_ERROR ("Failed to open data directory %s %s\n", + data_directory.c_str(), strerror (errno)); return NPERR_GENERIC_ERROR; - } + } // Set appletviewer_executable. PLUGIN_DEBUG("Executing java at %s\n", get_plugin_executable().c_str()); @@ -2098,6 +2113,8 @@ delete plugin_to_java_bus; //delete internal_bus; + cleanUpDir(); + PLUGIN_DEBUG ("NP_Shutdown return\n"); return NPERR_NO_ERROR; From jvanek at icedtea.classpath.org Wed Feb 5 04:10:28 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:10:28 +0000 Subject: /hg/icedtea-web: Added salt to plugin-java pipes' directory (fix... Message-ID: changeset 228e3652214a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=228e3652214a author: Jiri Vanek date: Wed Feb 05 13:10:13 2014 +0100 Added salt to plugin-java pipes' directory (fixing RH1010958) diffstat: ChangeLog | 9 +++ NEWS | 1 + plugin/icedteanp/IcedTeaNPPlugin.cc | 84 ++++++++++++++++++++++-------------- plugin/icedteanp/IcedTeaNPPlugin.h | 2 +- 4 files changed, 63 insertions(+), 33 deletions(-) diffs (206 lines): diff -r 09bd9dee7256 -r 228e3652214a ChangeLog --- a/ChangeLog Tue Feb 04 23:57:56 2014 +0100 +++ b/ChangeLog Wed Feb 05 13:10:13 2014 +0100 @@ -1,3 +1,12 @@ +2014-02-05 Jiri Vanek + + Added salt to plugin-java pipes' directory (fixing RH1010958) + * plugin/icedteanp/IcedTeaNPPlugin.cc: (cleanUpDir) new utility method + to clean up pipes directory. (start_jvm_if_needed) is now returning + error status and creating salt in directory name. (initialize_data_directory) + now add salt to the name. + * plugin/icedteanp/IcedTeaNPPlugin.h: changed declaration of (start_jvm_if_needed) + 2014-02-04 Jacob Wisor Added missing PL localized messages diff -r 09bd9dee7256 -r 228e3652214a NEWS --- a/NEWS Tue Feb 04 23:57:56 2014 +0100 +++ b/NEWS Wed Feb 05 13:10:13 2014 +0100 @@ -34,6 +34,7 @@ - RH976833: Multiple applets on one page cause deadlock - Pipes moved into XDG_RUNTIME_DIR - Added debug to file + - RH1010958: insecure temporary file use flaw in LiveConnect implementation * Common - PR1474: Can't get javaws to use SOCKS proxy * Security Updates diff -r 09bd9dee7256 -r 228e3652214a plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Tue Feb 04 23:57:56 2014 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Feb 05 13:10:13 2014 +0100 @@ -38,6 +38,9 @@ // System includes. #include +#include +#include +#include #include #include #include @@ -121,6 +124,7 @@ // Data directory for plugin. static std::string data_directory; +static DIR *data_directory_descriptor; // Fully-qualified appletviewer default executable and rt.jar static const char* appletviewer_default_executable = ICEDTEA_WEB_JRE "/bin/java"; @@ -285,7 +289,21 @@ return appletviewer_default_rtjar; } - +static void cleanUpDir(){ + //free data_directory descriptor + if (data_directory_descriptor != NULL) { + closedir(data_directory_descriptor); + } + //clean up pipes directory + PLUGIN_DEBUG ("Removing runtime directory %s \n", data_directory.c_str()); + int removed = rmdir(data_directory.c_str()); + if (removed != 0) { + PLUGIN_ERROR ("Failed to remove runtime directory %s, because of %s \n", data_directory.c_str(), strerror(errno)); + } else { + PLUGIN_DEBUG ("Removed runtime directory %s \n", data_directory.c_str()); + } + data_directory_descriptor = NULL; +} /* * Find first member in GHashTable* depending on version of glib */ @@ -356,7 +374,7 @@ } // start the jvm if needed - start_jvm_if_needed(); + NPError startup_error = start_jvm_if_needed(); // Initialize data->instance_id. // @@ -421,7 +439,7 @@ } // Starts the JVM if it is not already running -void start_jvm_if_needed() +NPError start_jvm_if_needed() { // This is asynchronized function. It must @@ -436,7 +454,7 @@ if (jvm_up) { PLUGIN_DEBUG("JVM is up. Returning.\n"); - return; + return NPERR_NO_ERROR; } PLUGIN_DEBUG("No JVM is running. Attempting to start one...\n"); @@ -681,11 +699,13 @@ g_free (in_pipe_name); in_pipe_name = NULL; + cleanUpDir(); done: IcedTeaPluginUtilities::printDebugStatus(); // Now other threads may re-enter.. unlock the mutex g_mutex_unlock(vm_start_mutex); + return np_error; } @@ -1910,35 +1930,29 @@ { data_directory = IcedTeaPluginUtilities::getRuntimePath() + "/icedteaplugin-"; - if (getenv("USER") != NULL) - data_directory += getenv("USER"); - + if (getenv("USER") != NULL) { + data_directory = data_directory + getenv("USER") + "-"; + } + data_directory += "XXXXXX"; // Now create a icedteaplugin subdir - if (!g_file_test (data_directory.c_str(), - (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) - { - int file_error = 0; - - file_error = g_mkdir (data_directory.c_str(), 0700); - if (file_error != 0) - { - PLUGIN_ERROR ("Failed to create data directory %s, %s\n", - data_directory.c_str(), - strerror (errno)); - return NPERR_GENERIC_ERROR; - } - } - - - // If data directory doesn't exist by this point, bail - if (!g_file_test (data_directory.c_str(), - (GFileTest) (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) - { - PLUGIN_ERROR ("Temp directory does not exist %s, %s \n", + char fileName[data_directory.length()+1]; + std::strcpy (fileName, data_directory.c_str()); + fileName = mkdtemp(fileName); + if (fileName == NULL) { + PLUGIN_ERROR ("Failed to create data directory %s, %s\n", data_directory.c_str(), strerror (errno)); return NPERR_GENERIC_ERROR; } + data_directory = std::string(fileName); + + //open uniques icedteaplugin subdir for one single run + data_directory_descriptor = opendir(data_directory.c_str()); + if (data_directory_descriptor == NULL) { + PLUGIN_ERROR ("Failed to open data directory %s %s\n", + data_directory.c_str(), strerror (errno)); + return NPERR_GENERIC_ERROR; + } return NPERR_NO_ERROR; } @@ -2009,10 +2023,14 @@ if (initialized) return NPERR_NO_ERROR; - NPError np_error = NPERR_NO_ERROR; - - initialize_data_directory(); - + // create directory for pipes + NPError np_error = initialize_data_directory(); + if (np_error != NPERR_NO_ERROR) + { + PLUGIN_ERROR("Unable create data directory %s\n"); + return np_error; + } + // Set appletviewer_executable. PLUGIN_DEBUG("Executing java at %s\n", get_plugin_executable().c_str()); np_error = plugin_test_appletviewer (); @@ -2221,6 +2239,8 @@ delete plugin_to_java_bus; //delete internal_bus; + cleanUpDir(); + PLUGIN_DEBUG ("NP_Shutdown return\n"); if (plugin_debug_to_file){ diff -r 09bd9dee7256 -r 228e3652214a plugin/icedteanp/IcedTeaNPPlugin.h --- a/plugin/icedteanp/IcedTeaNPPlugin.h Tue Feb 04 23:57:56 2014 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.h Wed Feb 05 13:10:13 2014 +0100 @@ -104,7 +104,7 @@ void plugin_data_destroy (NPP instance); NPError initialize_data_directory(); -void start_jvm_if_needed(); +NPError start_jvm_if_needed(); // Condition on which the queue processor waits extern pthread_cond_t cond_message_available; From andrew at icedtea.classpath.org Wed Feb 5 04:20:02 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:20:02 +0000 Subject: /hg/icedtea7: Bring in S8008509, PR1659, PR1661 & PR1664 togethe... Message-ID: changeset e46a1e7c6441 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=e46a1e7c6441 author: Andrew John Hughes date: Wed Feb 05 12:19:45 2014 +0000 Bring in S8008509, PR1659, PR1661 & PR1664 together with fixes for the PPC port, including S8019929. 2014-02-05 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Sync to HEAD. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Use updated SYSTEM_* variables and always set them. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Set ENABLE_SYSTEM_LCMS to true, not yes. (IT_CHECK_FOR_ZLIB): Likewise for ENABLE_SYSTEM_ZLIB. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_PNG): Likewise for ENABLE_SYSTEM_PNG. (IT_CHECK_FOR_GIF): Likewise for ENABLE_SYSTEM_GIF. (IT_CHECK_FOR_KERBEROS): Likewise for ENABLE_SYSTEM_KERBEROS. (IT_CHECK_FOR_GTK): Likewise for ENABLE_SYSTEM_GTK. (IT_CHECK_FOR_GIO): Likewise for ENABLE_SYSTEM_GIO. (IT_CHECK_FOR_FONTCONFIG): Likewise for ENABLE_SYSTEM_FONTCONFIG. (IT_CHECK_FOR_SYSCALLS): Likewise for ENABLE_SYSCALL_COMPILATION. (IT_CHECK_FOR_PCSC): Likewise for ENABLE_SYSTEM_PCSC. (IT_ENABLE_JAR_COMPRESSION): Use standard capitalisation and set to true rather than yes. Call AC_SUBST on ENABLE_JAR_COMPRESSION. * hotspot.map: Sync to HEAD. diffstat: ChangeLog | 26 ++++++++++++ Makefile.am | 120 +++++++++++++++++----------------------------------------- NEWS | 21 ++++++++++ acinclude.m4 | 44 +++++++++++++------- hotspot.map | 2 +- 5 files changed, 112 insertions(+), 101 deletions(-) diffs (389 lines): diff -r 2cf17e5380f2 -r e46a1e7c6441 ChangeLog --- a/ChangeLog Fri Jan 31 21:39:59 2014 +0000 +++ b/ChangeLog Wed Feb 05 12:19:45 2014 +0000 @@ -1,3 +1,29 @@ +2014-02-05 Andrew John Hughes + + * Makefile.am: + (JDK_CHANGESET): Sync to HEAD. + (JDK_SHA256SUM): Likewise. + (ICEDTEA_ENV): Use updated SYSTEM_* variables + and always set them. + * NEWS: Updated. + * acinclude.m4: + (IT_CHECK_FOR_LCMS): Set ENABLE_SYSTEM_LCMS to true, + not yes. + (IT_CHECK_FOR_ZLIB): Likewise for ENABLE_SYSTEM_ZLIB. + (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. + (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. + (IT_CHECK_FOR_PNG): Likewise for ENABLE_SYSTEM_PNG. + (IT_CHECK_FOR_GIF): Likewise for ENABLE_SYSTEM_GIF. + (IT_CHECK_FOR_KERBEROS): Likewise for ENABLE_SYSTEM_KERBEROS. + (IT_CHECK_FOR_GTK): Likewise for ENABLE_SYSTEM_GTK. + (IT_CHECK_FOR_GIO): Likewise for ENABLE_SYSTEM_GIO. + (IT_CHECK_FOR_FONTCONFIG): Likewise for ENABLE_SYSTEM_FONTCONFIG. + (IT_CHECK_FOR_SYSCALLS): Likewise for ENABLE_SYSCALL_COMPILATION. + (IT_CHECK_FOR_PCSC): Likewise for ENABLE_SYSTEM_PCSC. + (IT_ENABLE_JAR_COMPRESSION): Use standard capitalisation and + set to true rather than yes. Call AC_SUBST on ENABLE_JAR_COMPRESSION. + * hotspot.map: Sync to HEAD. + 2014-01-31 Andrew John Hughes * patches/boot/jaxp-dependency.patch: diff -r 2cf17e5380f2 -r e46a1e7c6441 Makefile.am --- a/Makefile.am Fri Jan 31 21:39:59 2014 +0000 +++ b/Makefile.am Wed Feb 05 12:19:45 2014 +0000 @@ -7,14 +7,14 @@ CORBA_CHANGESET = 47343904e95d JAXP_CHANGESET = 74093b75ddd4 JAXWS_CHANGESET = 3f7212cae6eb -JDK_CHANGESET = 62781eb5cd06 +JDK_CHANGESET = 7d5b758810c2 LANGTOOLS_CHANGESET = 0d89cc5766d7 OPENJDK_CHANGESET = ba9872fc05cc CORBA_SHA256SUM = 78298de3f81eab8c6875f802d76789ad615920a4278f5665eea79045ee0da638 JAXP_SHA256SUM = 5fc990186c57ed95ad3f9fb4783e874085f1fc624afb81899354c0df04cad73e JAXWS_SHA256SUM = d31d69e23ccf362c569d714d3ba10236e5c2735ec1b156cdba75359b3f1e9e51 -JDK_SHA256SUM = b6f726345f15b7cca18fa74507469bc6bd1ab413211f47a7eaf41e887512a80d +JDK_SHA256SUM = 6c9615bad9788034df920514437ccfca7db44e06761cfc2b21d367f55938bcb2 LANGTOOLS_SHA256SUM = b1ffddcca4bf3a68b95a410002235d062469362193aadf2b886e9a06092a8d35 OPENJDK_SHA256SUM = 0c451d9f107ac425d1b1d0f283f12a268ec1ec1e6d13d266a53723896d1cb578 @@ -479,13 +479,45 @@ STATIC_CXX="false" \ BUILD_GCC="$(CC)" \ BUILD_CXX="$(CXX)" \ - USE_SYSTEM_CUPS="true" \ + SYSTEM_CUPS="true" \ CUPS_LIBS="${CUPS_LIBS}" \ CUPS_CFLAGS="${CUPS_CFLAGS}" \ STRIP_POLICY=no_strip \ JAVAC_WARNINGS_FATAL="$(WERROR_STATUS)" \ COMPILER_WARNINGS_FATAL="$(WERROR_STATUS)" \ - UNLIMITED_CRYPTO="true" + UNLIMITED_CRYPTO="true" \ + SYSTEM_ZLIB="${ENABLE_SYSTEM_ZLIB}" \ + ZLIB_LIBS="${ZLIB_LIBS}" \ + ZLIB_CFLAGS="${ZLIB_CFLAGS}" \ + SYSTEM_LCMS="${ENABLE_SYSTEM_LCMS}" \ + LCMS_LIBS="${LCMS2_LIBS}" \ + LCMS_CFLAGS="${LCMS2_CFLAGS}" \ + SYSTEM_JPEG="${ENABLE_SYSTEM_JPEG}" \ + JPEG_LIBS="${JPEG_LIBS}" \ + JPEG_CFLAGS="${JPEG_CFLAGS}" \ + SYSTEM_PNG="${ENABLE_SYSTEM_PNG}" \ + PNG_LIBS="${PNG_LIBS}" \ + PNG_CFLAGS="${PNG_CFLAGS}" \ + SYSTEM_GIF="${ENABLE_SYSTEM_GIF}" \ + GIF_LIBS="${GIF_LIBS}" \ + GIF_CFLAGS="${GIF_CFLAGS}" \ + SYSTEM_GTK="${ENABLE_SYSTEM_GTK}" \ + GTK_LIBS="${GTK_LIBS}" \ + GTK_CFLAGS="${GTK_CFLAGS}" \ + SYSTEM_GIO="${ENABLE_SYSTEM_GIO}" \ + GIO_LIBS="${GIO_LIBS}" \ + GIO_CFLAGS="${GIO_CFLAGS}" \ + SYSTEM_FONTCONFIG="${ENABLE_SYSTEM_FONTCONFIG}" \ + FONTCONFIG_LIBS="${FONTCONFIG_LIBS}" \ + FONTCONFIG_CFLAGS="${FONTCONFIG_CFLAGS}" \ + COMPILE_AGAINST_SYSCALLS="${ENABLE_SYSCALL_COMPILATION}" \ + SYSTEM_KRB5="${ENABLE_SYSTEM_KERBEROS}" \ + KRB5_LIBS="${KRB5_LIBS}" \ + KRB5_CFLAGS="${KRB5_CFLAGS}" \ + SYSTEM_PCSC="${ENABLE_SYSTEM_PCSC}" \ + PCSC_LIBS="${PCSC_LIBS}" \ + PCSC_CFLAGS="${PCSC_CFLAGS}" \ + COMPRESS_JARS="${ENABLE_JAR_COMPRESSION}" if ENABLE_CACAO ICEDTEA_ENV += \ @@ -523,86 +555,6 @@ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif -if USE_SYSTEM_ZLIB -ICEDTEA_ENV += \ - SYSTEM_ZLIB="true" \ - ZLIB_LIBS="${ZLIB_LIBS}" \ - ZLIB_CFLAGS="${ZLIB_CFLAGS}" -endif - -if USE_SYSTEM_LCMS -ICEDTEA_ENV += \ - USE_SYSTEM_LCMS="true" \ - LCMS_LIBS="${LCMS2_LIBS}" \ - LCMS_CFLAGS="${LCMS2_CFLAGS}" -endif - -if USE_SYSTEM_JPEG -ICEDTEA_ENV += \ - USE_SYSTEM_JPEG="true" \ - JPEG_LIBS="${JPEG_LIBS}" \ - JPEG_CFLAGS="${JPEG_CFLAGS}" -endif - -if USE_SYSTEM_PNG -ICEDTEA_ENV += \ - USE_SYSTEM_PNG="true" \ - PNG_LIBS="${PNG_LIBS}" \ - PNG_CFLAGS="${PNG_CFLAGS}" -endif - -if USE_SYSTEM_GIF -ICEDTEA_ENV += \ - USE_SYSTEM_GIF="true" \ - GIF_LIBS="${GIF_LIBS}" \ - GIF_CFLAGS="${GIF_CFLAGS}" -endif - -if USE_SYSTEM_GTK -ICEDTEA_ENV += \ - USE_SYSTEM_GTK="true" \ - GTK_LIBS="${GTK_LIBS}" \ - GTK_CFLAGS="${GTK_CFLAGS}" -endif - -if USE_SYSTEM_GIO -ICEDTEA_ENV += \ - USE_SYSTEM_GIO="true" \ - GIO_LIBS="${GIO_LIBS}" \ - GIO_CFLAGS="${GIO_CFLAGS}" -endif - -if USE_SYSTEM_FONTCONFIG -ICEDTEA_ENV += \ - USE_SYSTEM_FONTCONFIG="true" \ - FONTCONFIG_LIBS="${FONTCONFIG_LIBS}" \ - FONTCONFIG_CFLAGS="${FONTCONFIG_CFLAGS}" -endif - -if USE_SYSCALL_COMPILATION -ICEDTEA_ENV += \ - COMPILE_AGAINST_SYSCALLS="true" -endif - -if ENABLE_JAR_COMPRESSION -ICEDTEA_ENV += \ - COMPRESS_JARS="true" -endif - -if USE_SYSTEM_KERBEROS -ICEDTEA_ENV += \ - SYSTEM_KRB5="true" \ - KRB5_LIBS="${KRB5_LIBS}" \ - 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 2cf17e5380f2 -r e46a1e7c6441 NEWS --- a/NEWS Fri Jan 31 21:39:59 2014 +0000 +++ b/NEWS Wed Feb 05 12:19:45 2014 +0000 @@ -302,6 +302,7 @@ - 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. + - S8019929: PPC64 (part 107): Extend ELF-decoder to support PPC64 function descriptor tables - Several NIO fixes for AIX to pass JCK tests - shared assembler: fix DelayedConstant. - shared: Basic non-functional fixes needed for the ppc port. @@ -343,6 +344,7 @@ - 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 + - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change - S8014307: Memory leak ... security/jgss/wrapper/GSSLibStub.c * Bug fixes - Fix implicit function declarations @@ -355,6 +357,25 @@ - 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) + - PR1659: OpenJDK 7 returns incorrect TrueType font metrics when bold style is set + - PR1661: Cleanup COMPILE_AGAINST_SYSCALLS option and allow it to be set false + - PR1661: Cleanup COMPRESS_JARS option and allow it to be set false + - PR1661: Cleanup SYSTEM_CUPS option and allow it to be set false + - PR1661: Cleanup SYSTEM_FONTCONFIG option and allow it to be set false + - PR1661: Cleanup SYSTEM_GIF option and allow it to be set false + - PR1661: Cleanup SYSTEM_GIO option and allow it to be set false + - PR1661: Cleanup SYSTEM_GTK option and allow it to be set false + - PR1661: Cleanup SYSTEM_JPEG option and allow it to be set false + - PR1661: Cleanup SYSTEM_LCMS option and allow it to be set false + - PR1661: Cleanup SYSTEM_PCSC option and allow it to be set false + - PR1661: Cleanup SYSTEM_PNG option and allow it to be set false + - PR1664: Ensure all SYSTEM_* options are in jdk_generic_profile.sh + - Link against $(LIBDL) if SYSTEM_CUPS is not true + - Only get CFLAGS/LIBS for libpcsclite if installed + - Add lost #endif + - Add new files from 8019229 + - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp + - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim diff -r 2cf17e5380f2 -r e46a1e7c6441 acinclude.m4 --- a/acinclude.m4 Fri Jan 31 21:39:59 2014 +0000 +++ b/acinclude.m4 Wed Feb 05 12:19:45 2014 +0000 @@ -1955,8 +1955,9 @@ fi AC_SUBST(LCMS2_CFLAGS) AC_SUBST(LCMS2_LIBS) + ENABLE_SYSTEM_LCMS=true fi - AM_CONDITIONAL(USE_SYSTEM_LCMS, test x"${ENABLE_SYSTEM_LCMS}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_LCMS, test x"${ENABLE_SYSTEM_LCMS}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_LCMS) ]) @@ -1981,8 +1982,9 @@ fi AC_SUBST(ZLIB_CFLAGS) AC_SUBST(ZLIB_LIBS) + ENABLE_SYSTEM_ZLIB=true fi - AM_CONDITIONAL(USE_SYSTEM_ZLIB, test x"${ENABLE_SYSTEM_ZLIB}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_ZLIB, test x"${ENABLE_SYSTEM_ZLIB}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_ZLIB) ]) @@ -2006,8 +2008,9 @@ , [AC_MSG_ERROR([Could not find JPEG header; install JPEG or build with --disable-system-jpeg to use the in-tree copy.])]) JPEG_LIBS="-ljpeg" AC_SUBST(JPEG_LIBS) + ENABLE_SYSTEM_JPEG=true fi - AM_CONDITIONAL(USE_SYSTEM_JPEG, test x"${ENABLE_SYSTEM_JPEG}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_JPEG, test x"${ENABLE_SYSTEM_JPEG}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_JPEG) ]) @@ -2032,8 +2035,9 @@ fi AC_SUBST(PNG_CFLAGS) AC_SUBST(PNG_LIBS) + ENABLE_SYSTEM_PNG=true fi - AM_CONDITIONAL(USE_SYSTEM_PNG, test x"${ENABLE_SYSTEM_PNG}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_PNG, test x"${ENABLE_SYSTEM_PNG}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_PNG) ]) @@ -2057,8 +2061,9 @@ , [AC_MSG_ERROR([Could not find GIF header; install GIF or build with --disable-system-gif to use the in-tree copy.])]) GIF_LIBS="-lgif" AC_SUBST(GIF_LIBS) + ENABLE_SYSTEM_GIF=true fi - AM_CONDITIONAL(USE_SYSTEM_GIF, test x"${ENABLE_SYSTEM_GIF}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_GIF, test x"${ENABLE_SYSTEM_GIF}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_GIF) ]) @@ -2083,8 +2088,9 @@ , [AC_MSG_ERROR([Could not find Kerberos header; install Kerberos or build with --disable-system-kerberos to use the default cache location.])]) KRB5_LIBS="-lkrb5" AC_SUBST(KRB5_LIBS) + ENABLE_SYSTEM_KERBEROS=true fi - AM_CONDITIONAL(USE_SYSTEM_KERBEROS, test x"${ENABLE_SYSTEM_KERBEROS}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_KERBEROS, test x"${ENABLE_SYSTEM_KERBEROS}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_KERBEROS) ]) @@ -2109,8 +2115,9 @@ fi AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) + ENABLE_SYSTEM_GTK=true fi - AM_CONDITIONAL(USE_SYSTEM_GTK, test x"${ENABLE_SYSTEM_GTK}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_GTK, test x"${ENABLE_SYSTEM_GTK}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_GTK) ]) @@ -2135,8 +2142,9 @@ fi AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) + ENABLE_SYSTEM_GIO=true fi - AM_CONDITIONAL(USE_SYSTEM_GIO, test x"${ENABLE_SYSTEM_GIO}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_GIO, test x"${ENABLE_SYSTEM_GIO}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_GIO) ]) @@ -2161,8 +2169,9 @@ fi AC_SUBST(FONTCONFIG_CFLAGS) AC_SUBST(FONTCONFIG_LIBS) + ENABLE_SYSTEM_FONTCONFIG=true fi - AM_CONDITIONAL(USE_SYSTEM_FONTCONFIG, test x"${ENABLE_SYSTEM_FONTCONFIG}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_FONTCONFIG, test x"${ENABLE_SYSTEM_FONTCONFIG}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_FONTCONFIG) ]) @@ -2195,8 +2204,9 @@ [AC_MSG_ERROR([Could not find required syscalls; check config.log and use --disable-compile-against-syscalls if necessary.])]) AC_CHECK_HEADERS([sys/epoll.h attr/xattr.h], , [AC_MSG_ERROR([Could not find required system headers; install the appropriate files from glibc-headers, libc6-dev and/or libattr-devel, libattr1-dev or use --disable-compile-against-syscalls if necessary.])]) + ENABLE_SYSCALL_COMPILATION=true fi - AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xyes") + AM_CONDITIONAL(USE_SYSCALL_COMPILATION, test x"${ENABLE_SYSCALL_COMPILATION}" = "xtrue") AC_SUBST(ENABLE_SYSCALL_COMPILATION) ]) @@ -2221,8 +2231,9 @@ fi AC_SUBST(PCSC_CFLAGS) AC_SUBST(PCSC_LIBS) + ENABLE_SYSTEM_PCSC=true fi - AM_CONDITIONAL(USE_SYSTEM_PCSC, test x"${ENABLE_SYSTEM_PCSC}" = "xyes") + AM_CONDITIONAL(USE_SYSTEM_PCSC, test x"${ENABLE_SYSTEM_PCSC}" = "xtrue") AC_SUBST(ENABLE_SYSTEM_PCSC) ]) @@ -2467,18 +2478,19 @@ [ case "${enableval}" in no) - enable_jar_compression=no + ENABLE_JAR_COMPRESSION=false ;; *) - enable_jar_compression=yes + ENABLE_JAR_COMPRESSION=true ;; esac ], [ - enable_jar_compression=yes + ENABLE_JAR_COMPRESSION=true ]) - AC_MSG_RESULT([$enable_jar_compression]) - AM_CONDITIONAL([ENABLE_JAR_COMPRESSION], test x"${enable_jar_compression}" = "xyes") + AC_MSG_RESULT([$ENABLE_JAR_COMPRESSION]) + AM_CONDITIONAL([ENABLE_JAR_COMPRESSION], test x"${enable_jar_compression}" = "xtrue") + AC_SUBST(ENABLE_JAR_COMPRESSION) ]) dnl Generic macro to check for a Java constructor diff -r 2cf17e5380f2 -r e46a1e7c6441 hotspot.map --- a/hotspot.map Fri Jan 31 21:39:59 2014 +0000 +++ b/hotspot.map Wed Feb 05 12:19:45 2014 +0000 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot 3e4a750b116a dafaa54797f52ac9632bc090723ddea68003384673e7ca03d5ad26026203f209 +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot bc178be7e9d6 6811d400c0922adc78a7859f1b3e208889f0b4e3f7c4772379070ae7f11516f1 From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 04:20:15 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:20:15 +0000 Subject: [Bug 1664] [IcedTea7] Ensure all SYSTEM_* options are in jdk_generic_profile.sh In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1664 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=e46a1e7c6441 author: Andrew John Hughes date: Wed Feb 05 12:19:45 2014 +0000 Bring in S8008509, PR1659, PR1661 & PR1664 together with fixes for the PPC port, including S8019929. 2014-02-05 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Sync to HEAD. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Use updated SYSTEM_* variables and always set them. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Set ENABLE_SYSTEM_LCMS to true, not yes. (IT_CHECK_FOR_ZLIB): Likewise for ENABLE_SYSTEM_ZLIB. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_PNG): Likewise for ENABLE_SYSTEM_PNG. (IT_CHECK_FOR_GIF): Likewise for ENABLE_SYSTEM_GIF. (IT_CHECK_FOR_KERBEROS): Likewise for ENABLE_SYSTEM_KERBEROS. (IT_CHECK_FOR_GTK): Likewise for ENABLE_SYSTEM_GTK. (IT_CHECK_FOR_GIO): Likewise for ENABLE_SYSTEM_GIO. (IT_CHECK_FOR_FONTCONFIG): Likewise for ENABLE_SYSTEM_FONTCONFIG. (IT_CHECK_FOR_SYSCALLS): Likewise for ENABLE_SYSCALL_COMPILATION. (IT_CHECK_FOR_PCSC): Likewise for ENABLE_SYSTEM_PCSC. (IT_ENABLE_JAR_COMPRESSION): Use standard capitalisation and set to true rather than yes. Call AC_SUBST on ENABLE_JAR_COMPRESSION. * hotspot.map: Sync to HEAD. -- 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/20140205/6b099e03/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 04:20:18 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:20:18 +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 #6 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=e46a1e7c6441 author: Andrew John Hughes date: Wed Feb 05 12:19:45 2014 +0000 Bring in S8008509, PR1659, PR1661 & PR1664 together with fixes for the PPC port, including S8019929. 2014-02-05 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Sync to HEAD. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Use updated SYSTEM_* variables and always set them. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Set ENABLE_SYSTEM_LCMS to true, not yes. (IT_CHECK_FOR_ZLIB): Likewise for ENABLE_SYSTEM_ZLIB. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_PNG): Likewise for ENABLE_SYSTEM_PNG. (IT_CHECK_FOR_GIF): Likewise for ENABLE_SYSTEM_GIF. (IT_CHECK_FOR_KERBEROS): Likewise for ENABLE_SYSTEM_KERBEROS. (IT_CHECK_FOR_GTK): Likewise for ENABLE_SYSTEM_GTK. (IT_CHECK_FOR_GIO): Likewise for ENABLE_SYSTEM_GIO. (IT_CHECK_FOR_FONTCONFIG): Likewise for ENABLE_SYSTEM_FONTCONFIG. (IT_CHECK_FOR_SYSCALLS): Likewise for ENABLE_SYSCALL_COMPILATION. (IT_CHECK_FOR_PCSC): Likewise for ENABLE_SYSTEM_PCSC. (IT_ENABLE_JAR_COMPRESSION): Use standard capitalisation and set to true rather than yes. Call AC_SUBST on ENABLE_JAR_COMPRESSION. * hotspot.map: Sync to HEAD. -- 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/20140205/714361fc/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 04:20:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:20:21 +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 #12 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=e46a1e7c6441 author: Andrew John Hughes date: Wed Feb 05 12:19:45 2014 +0000 Bring in S8008509, PR1659, PR1661 & PR1664 together with fixes for the PPC port, including S8019929. 2014-02-05 Andrew John Hughes * Makefile.am: (JDK_CHANGESET): Sync to HEAD. (JDK_SHA256SUM): Likewise. (ICEDTEA_ENV): Use updated SYSTEM_* variables and always set them. * NEWS: Updated. * acinclude.m4: (IT_CHECK_FOR_LCMS): Set ENABLE_SYSTEM_LCMS to true, not yes. (IT_CHECK_FOR_ZLIB): Likewise for ENABLE_SYSTEM_ZLIB. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_JPEG): Likewise for ENABLE_SYSTEM_JPEG. (IT_CHECK_FOR_PNG): Likewise for ENABLE_SYSTEM_PNG. (IT_CHECK_FOR_GIF): Likewise for ENABLE_SYSTEM_GIF. (IT_CHECK_FOR_KERBEROS): Likewise for ENABLE_SYSTEM_KERBEROS. (IT_CHECK_FOR_GTK): Likewise for ENABLE_SYSTEM_GTK. (IT_CHECK_FOR_GIO): Likewise for ENABLE_SYSTEM_GIO. (IT_CHECK_FOR_FONTCONFIG): Likewise for ENABLE_SYSTEM_FONTCONFIG. (IT_CHECK_FOR_SYSCALLS): Likewise for ENABLE_SYSCALL_COMPILATION. (IT_CHECK_FOR_PCSC): Likewise for ENABLE_SYSTEM_PCSC. (IT_ENABLE_JAR_COMPRESSION): Use standard capitalisation and set to true rather than yes. Call AC_SUBST on ENABLE_JAR_COMPRESSION. * hotspot.map: Sync to HEAD. -- 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/20140205/d154fcb4/attachment.html From jvanek at redhat.com Wed Feb 5 04:19:59 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 05 Feb 2014 13:19:59 +0100 Subject: IcedTea-Web 1.4.2 released! Message-ID: <52F22C6F.9050500@redhat.com> Hi all! Please consider http://icedtea.classpath.org/hg/release/icedtea-web-1.4 as unfrozen) Tarball: ad4fd669f482e5f69a124061229df517 http://icedtea.wildebeest.org/download/source/icedtea-web-1.4.2.tar.gz After extracting, it can be built as per instructions here: http://icedtea.classpath.org/wiki/IcedTea-Web#Building_IcedTea-Web New in release 1.4.2 (2014-02-05): * 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 - Enabled javaconsole - RH1010958: insecure temporary file use flaw in LiveConnect implementation Except above also: - Christmas splashscreen extension - fixed classloading deadlocks - cleaned code from warnings - pipes moved to XDG runtime dir Best regards, J. From jvanek at icedtea.classpath.org Wed Feb 5 04:55:46 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 05 Feb 2014 12:55:46 +0000 Subject: /hg/icedtea-web: Fixed by accident renamed field char fileName t... Message-ID: changeset 1e0507976663 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1e0507976663 author: Jiri Vanek date: Wed Feb 05 13:55:28 2014 +0100 Fixed by accident renamed field char fileName to char fileNameX diffstat: plugin/icedteanp/IcedTeaNPPlugin.cc | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diffs (16 lines): diff -r 228e3652214a -r 1e0507976663 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Feb 05 13:10:13 2014 +0100 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Wed Feb 05 13:55:28 2014 +0100 @@ -1935,9 +1935,9 @@ } data_directory += "XXXXXX"; // Now create a icedteaplugin subdir - char fileName[data_directory.length()+1]; - std::strcpy (fileName, data_directory.c_str()); - fileName = mkdtemp(fileName); + char fileNameX[data_directory.length()+1]; + std::strcpy (fileNameX, data_directory.c_str()); + char * fileName = mkdtemp(fileNameX); if (fileName == NULL) { PLUGIN_ERROR ("Failed to create data directory %s, %s\n", data_directory.c_str(), From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 06:25:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 14:25:58 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 --- Comment #7 from Harald Linden --- @Andrew: Thank you so much! I know this really shouldn't be used as a support forum. Indeed, I've recently switched from oracle-jre to icedtea, it may be that the oracle-jre allowed ignoring restrictions. Anyway, your suggestion works, of course. I've taken the short route and given the codebase https:///* permission java.security.AllPermission; It should be a temporary workaround, it may as well be cringeworthy. I when I have some time, I'll sign the applet with our local CA and create a little proxy service that hosts the signed applet and only gets the session key from the rmm modules. I guess that should be an acceptable long-term solution. -- 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/20140205/6a34c223/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 5 06:57:56 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 05 Feb 2014 14:57:56 +0000 Subject: [Bug 1663] Intel RMM2 console can't read ISO images anymore. In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1663 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #8 from Andrew Azores --- Glad to hear you've worked it out. -- 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/20140205/8afee231/attachment.html From aazores at redhat.com Wed Feb 5 09:24:49 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 05 Feb 2014 12:24:49 -0500 Subject: [rfc][icedtea-web] Code cleanup patches In-Reply-To: <52F14D6D.4030705@redhat.com> References: <52EFFCD3.1030509@redhat.com> <52F08796.5010104@gmx.de> <52F14D6D.4030705@redhat.com> Message-ID: <52F273E1.1030407@redhat.com> On 02/04/2014 03:28 PM, Andrew Azores wrote: > On 02/04/2014 01:24 AM, Jacob Wisor wrote: >> On 02/03/2014 09:32 PM, Andrew Azores wrote: >>> Hi, >>> >>> The larger two of the three attached patches do a few simple things: >>> 1) make variables/parameters/fields final, where applicable. I feel >>> this makes >>> it more clear which variables are used eg as accumulators or will be >>> returned by >>> the method, etc. This also allows the removal of some local >>> variables which were >>> created simply to have "final versions" of other variables, in order >>> for them to >>> be captured by anonymous inner classes for example. >>> 2) prefix fields with "this" in very long methods. In shorter >>> methods it can >>> remain clear that fields are fields since no declaration for that >>> name can be >>> seen, but in very long methods, it can become more confusing. >>> 3) fix formatting. Eg remove useless comments, remove whitespace >>> from "empty" >>> lines, remove trailing whitespace >> >> Looks good to me. >> >> Just on nit: >> >> 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 >> [...] >> - tracker.addResource(jar.getLocation(), >> - jar.getVersion(), file.getDownloadOptions(), >> + this. tracker.addResource(jar.getLocation(), >> + jar.getVersion(), this.file.getDownloadOptions(), >> >> Please remove the space between this. and tracker. > > Ah, nice catch :) > >> >> You may also want to check for "){" malformed block openings and >> replace them with ") {". > > Yea, might as well. And we should probably get stricter on this kind > of thing during review, too. > >> >> Most of the exception parameters of catch clauses do not need to be >> explicitly marked final because they are never assigned to hence they >> become /effectively/ /final/. The OpenJDK compiler does take this >> into account when generating byte code indeed. But, as I understand >> the purpose of these patches was to increase readability. >> >> Jacob > > Pretty much just for readability's sake, yes. > > Thanks, > Huh, apparently my IDE was having some difficulties yesterday. Some of the places where I prefixed a variable identifier with "this." were actually within inner classes and so are actually invalid, but my syntax highlighting was apparently nonfunctional and I wasn't quite paying close enough attention evidently. This occurred three times in JNLPClassLoader. If you apply these patches and find that you can't build, well, this is why ;) I won't bother attaching the fixed patches because they would be identical other than this. Thanks, -- Andrew A From jvanek at redhat.com Wed Feb 5 10:13:08 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 05 Feb 2014 19:13:08 +0100 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation Message-ID: <52F27F34.1010007@redhat.com> Hi! So here is first impelmentation of more complex D-I-D manifest attributes: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html the codebase http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase The classapth matcher is quite complex, as its going to be reused in Application-Library-Allowable-Codebase and Caller-Allowable-Codebase Attribute The patch is divided into three parts implementation and tests of classpath matcher itself the integration int jnlp classlaoder and the reprodcuers for most of the cases. There is a flaw in "specification" http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase It says: *.example.com matches https://example.com, http://example.com I must disagree with this - where the dot disappeared? So in my implmentation *.example.com DON'T matches https://example.com, http://example.com. It macthes only https://a.example.com, http://a.example.com https://a.b.example.com, http://a.b.example.com .... I wrote to oracle, but I got no reply :( Also my current implementation ignores when protocol is file. Thanx! J. -------------- next part -------------- A non-text attachment was scrubbed... Name: classpathAttribute-impl.diff Type: text/x-patch Size: 37955 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/03dead34/classpathAttribute-impl-0001.diff -------------- next part -------------- A non-text attachment was scrubbed... Name: classpathAttribute-integration.patch Type: text/x-patch Size: 30544 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/03dead34/classpathAttribute-integration-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: classpathAttribute-tests.diff Type: text/x-patch Size: 81976 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/03dead34/classpathAttribute-tests-0001.diff From aazores at redhat.com Wed Feb 5 13:00:11 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 05 Feb 2014 16:00:11 -0500 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation In-Reply-To: <52F27F34.1010007@redhat.com> References: <52F27F34.1010007@redhat.com> Message-ID: <52F2A65B.5060305@redhat.com> Comments inline. On 02/05/2014 01:13 PM, Jiri Vanek wrote: > diff -r 1e0507976663 netx/net/sourceforge/jnlp/util/ClasspathMatcher.java > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/netx/net/sourceforge/jnlp/util/ClasspathMatcher.java Wed Feb 05 18:24:20 2014 +0100 > @@ -0,0 +1,372 @@ > +// Copyright (C) 2013 Red Hat, Inc. Should be 2014? Also should this be named ClasspathMatcher? Seems more like CodebaseMatcher... ? Or ManifestAttributeMatcher. > + public static ClasspathMatchers compile(String s) { > + if (s == null) { > + return new ClasspathMatchers(new ArrayList(0)); > + } > + String[] splitted = s.trim().split("\\s+"); > + ArrayList matchers = new ArrayList(splitted.length); > + for (String string : splitted) { > + matchers.add(ClasspathMatcher.compile(string.trim())); > + } Loop body isn't properly indented here. > + public boolean matches(URL s){ > + return or(s); > + } "){" should be ") {" > + > + private boolean or(URL s) { > + for (ClasspathMatcher classpathMatcher : matchers) { > + if (classpathMatcher.match(s)){ > + return true; > + } same > + > + } > + public static final String PROTOCOL_DELIMITER = "://"; > + public static final String PATH_DELIMITER = "/"; > + public static final String PORT_DELIMITER = ":"; > + private final String source; > + private Parts parts; > + > + static class Parts { > + > + String protocol; > + String domain; > + String port; > + String path; > + Pattern protocolRegEx; > + Pattern domainRegEx; > + Pattern portRegEx; > + Pattern pathRegEx; > + > + @Override > + public String toString() { > + return protocol + "://" + domain + ":" + port + "/" + path; > + } Why not use your *_DELIMITER constants here? > + > + private boolean matchPath(String source) { > + if (source.startsWith("/")) { > + source = source.substring(1); > + } > + return generalMatch(source, pathRegEx); > + } PATH_DELIMITER again? > + > + static boolean hasProtocol(final String source) { > + int indexOfProtocolMark = source.indexOf(PROTOCOL_DELIMITER); > + if (indexOfProtocolMark < 0) { > + return false; > + } > + /* > + * Here is small trap > + * We do not know, if protocol is specifed > + * if so, the protocol://blah.blah/blah is already recognized > + * but we must ensure that we have not found eg: > + * blah.blah/blah://in/path - which is perfectly valid url... > + */ > + //the most easy part - dot in url > + int indexofFirstDot = source.indexOf("."); > + if (indexofFirstDot >= 0) { > + if (indexOfProtocolMark < indexofFirstDot) { > + return true; > + } else { > + return false; > + } > + } > + > + //more nasty part - path specified > + String degradedProtocol = source.replace("://", "%%%"); > + int indexofFirstPath = degradedProtocol.indexOf(PATH_DELIMITER); Why isn't the first argument to "replace" also a DELIMITER? Sorry to hammer on this point :( Also why is the parameter here final, and basically nothing else in the class is final? It doesn't seem any more necessary in this method... either use "final" liberally and apply it wherever feasible, or use it only when needed. I'd prefer the liberal use, but it's up to you. Marking this parameter alone as final like this makes it stand out and look like something special is happening with it, but nothing really is. > + public static String sourceToRegExString(String s) { > + //http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase > + if (s.equals("*")) { > + return ".*"; > + } > + if (s.startsWith("*") && s.endsWith("*")) { > + return "^.*\\Q" + s.substring(1, s.length() - 1) + "\\E.*$"; > + } else if (s.endsWith("*")) { > + return "^\\Q" + s.substring(0, s.length() - 1) + "\\E.*$"; > + > + } else if (s.startsWith("*")) { > + return "^.*\\Q" + s.substring(1) + "\\E$"; > + > + } else { > + return "^\\Q" + s + "\\E$"; > + } > + } Oh dear... maybe comments here explaining what these regexes do? > + > + @Test > + public void extractPathTest() { > + Assert.assertEquals("full/path", ClasspathMatcher.extractPath("some.correct.url:5050/full/path")); > + Exception ex = null; > + try { > + ClasspathMatcher.extractPath("some.correct.url:5050"); > + } catch (Exception e) { > + ex = e; > + } > + Assert.assertNotNull(ex); > + ex = null; > + Assert.assertEquals("full/path", ClasspathMatcher.extractPath("some.correct.url/full/path")); > + Assert.assertEquals("full/path", ClasspathMatcher.extractPath("some.url/full/path")); > + Assert.assertEquals("full/path", ClasspathMatcher.extractPath("some:5050/full/path")); > + try { > + ClasspathMatcher.extractPath("some"); > + } catch (Exception e) { > + ex = e; > + } > + Assert.assertNotNull(ex); > + ex = null; > + //correct! > + Assert.assertEquals("//", ClasspathMatcher.extractPath("some.correct.url:5050///")); > + //incorrect, but hard to solve > + Assert.assertEquals("/full/path", ClasspathMatcher.extractPath("some.correct.url:5050://full/path")); > + Assert.assertEquals("/ect.url:5050/full/path", ClasspathMatcher.extractPath("some.corr://ect.url:5050/full/path")); :/ I see you've commented that this case is hard to solve, but this ^ test in particular looks concerning. Is it not worthwhile to do some stricter URL validation so we can avoid this kind of result? Because to me, this input and its result don't really match up very well. Perhaps there's some way you could leverage the standard URL class to do some of the heavy lifting? I'm not sure how it will respond to having a protocol like "some.corr" though - probably just going to throw an exception. But it's probably worth looking into if you haven't already. You could do some checking on the other components of the URL first maybe, and in this case see that the protocol is bad, and then either construct a URL without any protocol, or replace the protocol with dummy data, and then get the path part from the URL instance. I'm not sure how well this approach will work in general though, when you're extracting other parts of the URL, and there are other various malformed pieces. > + > + //total trap url > + @Test > + public void madUrls() throws MalformedURLException { > + String trapUrl1 = "*://:&:://%%20"; > + ClasspathMatcher.Parts p1 = ClasspathMatcher.splitToParts(trapUrl1); > + Assert.assertEquals("*", p1.protocol); > + Assert.assertEquals("", p1.domain); > + Assert.assertEquals("&::", p1.port); Perhaps there should be some validation that the port is numeric... > diff -r 1e0507976663 netx/net/sourceforge/jnlp/JNLPFile.java > --- a/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 05 13:55:28 2014 +0100 > +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 05 18:24:20 2014 +0100 > @@ -33,6 +33,7 @@ > import net.sourceforge.jnlp.cache.UpdatePolicy; > import net.sourceforge.jnlp.runtime.JNLPClassLoader; > import net.sourceforge.jnlp.runtime.JNLPRuntime; > +import net.sourceforge.jnlp.util.ClasspathMatcher; > import net.sourceforge.jnlp.util.logging.OutputController; > > /** > @@ -56,13 +57,7 @@ > * @version $Revision: 1.21 $ > */ > public class JNLPFile { > - > - > - public static final String APP_NAME = "Application-Name"; > - public static final String CALLER_ALLOWABLE = "Caller-Allowable-Codebase"; > - public static final String APP_LIBRARY_ALLOWABLE = "Application-Library-Allowable-Codebase"; > - > - > + > > // todo: save the update policy, then if file was not updated > // then do not check resources for being updated. > @@ -877,6 +872,14 @@ > > > public class ManifestsAttributes{ > + > + public static final String APP_NAME = "Application-Name"; > + public static final String CALLER_ALLOWABLE = "Caller-Allowable-Codebase"; > + public static final String APP_LIBRARY_ALLOWABLE = "Application-Library-Allowable-Codebase"; > + public static final String PERMISSIONS = "Permissions"; > + public static final String CODEBASE = "Codebase"; > + public static final String TRUSTED_ONLY = "Trusted-Only"; > + public static final String TRUSTED_LIBRARY = "Trusted-Library"; > private JNLPClassLoader loader; What's happening with the indentation here? > > > @@ -912,34 +915,102 @@ > /** > *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#caller_allowable > */ > - public String getCallerAllowableCodebase(){ > - return getAttribute(CALLER_ALLOWABLE); > + public ClasspathMatcher.ClasspathMatchers getCallerAllowableCodebase() { > + return getCodeBaseMatchersAttribute(CALLER_ALLOWABLE); > } > > /** > *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_library > */ > - public String getApplicationLibraryAllowableCodebase(){ > - return getAttribute(APP_LIBRARY_ALLOWABLE); > + public ClasspathMatcher.ClasspathMatchers getApplicationLibraryAllowableCodebase() { > + return getCodeBaseMatchersAttribute(APP_LIBRARY_ALLOWABLE); > } Here too, actually. Also "){" -> ") {" again. > + > + /** > + *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#permissions > + */ > + public Boolean isSandboxForced() { > + String s = getAttribute(PERMISSIONS); > + if (s == null) { > + return null; > + } else if (s.trim().equalsIgnoreCase("sandbox")) { > + return true; > + } else if (s.trim().equalsIgnoreCase("all-permissions")) { > + return false; > + } else { > + throw new IllegalArgumentException("Unknown value of " + PERMISSIONS + " attribute " + s + ". Expected sandbox or all-permissions"); > + } > + > + > + } Remove the extra whitespace at the bottom, please. > + > + private Boolean processBooleanAttribute(String id) throws IllegalArgumentException { > + String s = getAttribute(id); > + if (s == null) { > + return null; > + } else { > + s = s.trim(); > + if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("false")) { > + //return ((name != null) && name.equalsIgnoreCase("true")); > + return Boolean.parseBoolean(s); > + } else { > + throw new IllegalArgumentException("Unknown value of " + id + " attribute " + s + ". Expected true or false"); > + } > + } > + } Remove the commented out line here as well. Next few comments are suggestions on Messages wording :) > diff -r 1e0507976663 netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 05 13:55:28 2014 +0100 > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 05 18:24:20 2014 +0100 > @@ -569,6 +569,14 @@ > SPLASHmissingInformation = Information element is missing, verify source rather > SPLASHchainWas = This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet. > > +CBCheckFile = This application is local file. The codebase check is disabled The application is a local file. Codebase validation is disabled. > +CBCheckNoEntry = This application do not have codebase manifest entry specified. Please verify vendor. Continuing This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing > +CBCheckUnsignedFail= Codebase DO NOT matches codebase manifest attribute, but application is unsigned. Continuing The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing > +CBCheckSignedAppletDontMatchException = java applet is not allowed to run when is signed, have codebase manifest entry ({0}), and this do not match to real codebase - {1} Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1} > +CBCheckSignedFail = Codebase DO NOT matches codebase manifest attribute and application is signed. You are strongly encouraged to terminate application Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. > /** > * When we're trying to load an applet, file.getSecurity() will return > @@ -2299,6 +2294,51 @@ > public String getMainClass() { > return mainClass; > } > + > + private URL guessCodeBase() { > + if (file.getCodeBase() != null) { > + return file.getCodeBase(); > + } else { > + //Fixme: codebase should be the codebase of the Main Jar not > + //the location. Although, it still works in the current state. > + return file.getResources().getMainJAR().getLocation(); > + } > + } One too many spaces of indentation on the method's declaration. Hawk-eye ;) > + > + /** > + *http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase > + */ > + private void checkCodebaseAttribute() throws LaunchException { > + if (file.getCodeBase() == null || file.getCodeBase().getProtocol().equals("file")) { > + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("CBCheckFile")); > + return; > + } > + final Object securityType = security.getSecurityType(); > + final URL codebase = guessCodeBase(); > + final ClasspathMatchers codebaseAtt = file.getManifestsAttributes().getCodebase(); Nice use of 'final' ;) And I think that's about all I have to say (so far). Nice work overall! Thanks, -- Andrew A From aazores at redhat.com Wed Feb 5 13:15:02 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 05 Feb 2014 16:15:02 -0500 Subject: [rfc][icedtea-web] Code cleanup patches In-Reply-To: <52F273E1.1030407@redhat.com> References: <52EFFCD3.1030509@redhat.com> <52F08796.5010104@gmx.de> <52F14D6D.4030705@redhat.com> <52F273E1.1030407@redhat.com> Message-ID: <52F2A9D6.10001@redhat.com> On 02/05/2014 12:24 PM, Andrew Azores wrote: > On 02/04/2014 03:28 PM, Andrew Azores wrote: >> On 02/04/2014 01:24 AM, Jacob Wisor wrote: >>> On 02/03/2014 09:32 PM, Andrew Azores wrote: >>>> Hi, >>>> >>>> The larger two of the three attached patches do a few simple things: >>>> 1) make variables/parameters/fields final, where applicable. I feel >>>> this makes >>>> it more clear which variables are used eg as accumulators or will >>>> be returned by >>>> the method, etc. This also allows the removal of some local >>>> variables which were >>>> created simply to have "final versions" of other variables, in >>>> order for them to >>>> be captured by anonymous inner classes for example. >>>> 2) prefix fields with "this" in very long methods. In shorter >>>> methods it can >>>> remain clear that fields are fields since no declaration for that >>>> name can be >>>> seen, but in very long methods, it can become more confusing. >>>> 3) fix formatting. Eg remove useless comments, remove whitespace >>>> from "empty" >>>> lines, remove trailing whitespace >>> >>> Looks good to me. >>> >>> Just on nit: >>> >>> 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 >>> [...] >>> - tracker.addResource(jar.getLocation(), >>> - jar.getVersion(), file.getDownloadOptions(), >>> + this. tracker.addResource(jar.getLocation(), >>> + jar.getVersion(), this.file.getDownloadOptions(), >>> >>> Please remove the space between this. and tracker. >> >> Ah, nice catch :) >> >>> >>> You may also want to check for "){" malformed block openings and >>> replace them with ") {". >> >> Yea, might as well. And we should probably get stricter on this kind >> of thing during review, too. >> >>> >>> Most of the exception parameters of catch clauses do not need to be >>> explicitly marked final because they are never assigned to hence >>> they become /effectively/ /final/. The OpenJDK compiler does take >>> this into account when generating byte code indeed. But, as I >>> understand the purpose of these patches was to increase readability. >>> >>> Jacob >> >> Pretty much just for readability's sake, yes. >> >> Thanks, >> > > Huh, apparently my IDE was having some difficulties yesterday. Some of > the places where I prefixed a variable identifier with "this." were > actually within inner classes and so are actually invalid, but my > syntax highlighting was apparently nonfunctional and I wasn't quite > paying close enough attention evidently. This occurred three times in > JNLPClassLoader. If you apply these patches and find that you can't > build, well, this is why ;) I won't bother attaching the fixed patches > because they would be identical other than this. > > Thanks, > Holy... wow, apparently my IDE *really* had some problems going on yesterday, I went back and looked at the 1.4 backport and it's pretty mangled too. Please ignore the previous patches. *Actually* buildable ones are attached. :( Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: classloader_cleanup.patch Type: text/x-patch Size: 83698 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/94aa89e8/classloader_cleanup-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: classloader_cleanup-1.4.patch Type: text/x-patch Size: 84605 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/94aa89e8/classloader_cleanup-1.4-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: extensionjnlpsinapplet_makefile_ls.patch Type: text/x-patch Size: 462 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/94aa89e8/extensionjnlpsinapplet_makefile_ls-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: securitydialogmessagehandler_cleanup.patch Type: text/x-patch Size: 8375 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/94aa89e8/securitydialogmessagehandler_cleanup-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: securitydialogmessagehandler_cleanup-1.4.patch Type: text/x-patch Size: 7555 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140205/94aa89e8/securitydialogmessagehandler_cleanup-1.4-0001.patch From gitne at gmx.de Thu Feb 6 01:51:20 2014 From: gitne at gmx.de (Jacob Wisor) Date: Thu, 06 Feb 2014 10:51:20 +0100 Subject: [rfc][icedtea-1.4] Cache viewer cleanup backport Message-ID: <52F35B18.10206@gmx.de> Hello! This patch is a backport of the cache viewer cleanup changeset (http://icedtea.classpath.org/hg/icedtea-web/?cmd=changeset;node=c797a2c1329b) for 1.4 which has already been pushed into trunk. @Jiri I was not sure about one thing here: --- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java [...] @@ -260,13 +272,137 @@ [...] + private void updateRecentlyUsed(final File f) { + final File recentlyUsedFile = new File(location + File.separator + "recently_used"); Since you have touched net.sourceforge.jnlp.cache.CacheLRUWrapper due to the XDG Specification (which is unsupported on 1.4) changeset for 1.5 this line could or should have read final File recentlyUsedFile = new File(location + File.separator + CacheLRUWrapper.CACHE_INDEX_FILE_NAME); In 1.4, CacheLRUWrapper.CACHE_INDEX_FILE_NAME is a "recently_used" constant indeed. But, the CacheLRUWrapper enum has default instead of public access (as in 1.5), so CacheLRUWrapper.CACHE_INDEX_FILE_NAME is not accessible from CachePane either, although this member constant itself has public static access. In 1.5, CacheLRUWrapper has gotten public access since that XDG Specification changeset, so I was not sure whether it would be permissible to change CacheLRUWrapper's access to public in 1.4 too or rather to use the "recently_used" literal as this has been the case in 1.4 ever since. In fear of that some of the CacheLRUWrapper enum's vital data could possibly get exposed, I have resorted to using the literal. So, what do you think? Thank you for any reviewing efforts. :-) Jacob -------------- next part -------------- A non-text attachment was scrubbed... Name: CacheViewer.patch Type: text/x-patch Size: 39508 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140206/f556dc52/CacheViewer-0001.patch From ptisnovs at icedtea.classpath.org Thu Feb 6 04:00:06 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 06 Feb 2014 12:00:06 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset 5ba50af31527 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=5ba50af31527 author: Pavel Tisnovsky date: Thu Feb 06 13:04:24 2014 +0100 Ten new tests added into BitBltAffineQuadrantRotateTransformOp. diffstat: ChangeLog | 7 +- src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 140 ++++++++++ 2 files changed, 146 insertions(+), 1 deletions(-) diffs (167 lines): diff -r 2429720ddf18 -r 5ba50af31527 ChangeLog --- a/ChangeLog Wed Feb 05 11:58:06 2014 +0100 +++ b/ChangeLog Thu Feb 06 13:04:24 2014 +0100 @@ -1,7 +1,12 @@ +2014-02-06 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Ten new tests added into BitBltAffineQuadrantRotateTransformOp. + 2014-02-05 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: - Ten new tests added into BitBitBltAffineIdentityTransformOp.java: + Ten new tests added into BitBitAffineIdentityTransformOp.java: 2014-02-04 Pavel Tisnovsky diff -r 2429720ddf18 -r 5ba50af31527 src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Wed Feb 05 11:58:06 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Thu Feb 06 13:04:24 2014 +0100 @@ -389,6 +389,146 @@ } /** + * 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 testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * 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 testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * 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 testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + 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 testBitBltEmptyBufferedImageTypeByteBinaryRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteBinary(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteIndexedRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteIndexed(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From ptisnovs at icedtea.classpath.org Thu Feb 6 04:06:51 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 06 Feb 2014 12:06:51 +0000 Subject: /hg/rhino-tests: Enhancement of the test ScriptContextClassTest. Message-ID: changeset fd15e637f069 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=fd15e637f069 author: Pavel Tisnovsky date: Thu Feb 06 13:11:10 2014 +0100 Enhancement of the test ScriptContextClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptContextClassTest.java | 248 +++++++++++++++++++++++++ 2 files changed, 253 insertions(+), 0 deletions(-) diffs (298 lines): diff -r 90ec2e72a315 -r fd15e637f069 ChangeLog --- a/ChangeLog Wed Feb 05 12:01:34 2014 +0100 +++ b/ChangeLog Thu Feb 06 13:11:10 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-06 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptContextClassTest.java: + Enhancement of the test ScriptContextClassTest. + 2014-02-05 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r 90ec2e72a315 -r fd15e637f069 src/org/RhinoTests/ScriptContextClassTest.java --- a/src/org/RhinoTests/ScriptContextClassTest.java Wed Feb 05 12:01:34 2014 +0100 +++ b/src/org/RhinoTests/ScriptContextClassTest.java Thu Feb 06 13:11:10 2014 +0100 @@ -1386,6 +1386,214 @@ } try { + this.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.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.scriptContextClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1464,6 +1672,14 @@ } try { + this.scriptContextClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptContextClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1520,6 +1736,14 @@ } try { + this.scriptContextClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptContextClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1528,6 +1752,14 @@ } try { + this.scriptContextClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptContextClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1536,6 +1768,22 @@ } try { + this.scriptContextClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptContextClass.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.scriptContextClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } From bugzilla-daemon at icedtea.classpath.org Thu Feb 6 07:58:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 06 Feb 2014 15:58:58 +0000 Subject: [Bug 1668] New: eclipse crashed JRE fatal error Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1668 Bug ID: 1668 Summary: eclipse crashed JRE fatal error 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: g8x000 at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1022 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1022&action=edit Error log i was working and suddenly eclipse crashed. A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fdada867685, pid=26412, tid=140580791523072 # Problematic frame: # C [libwebkitgtk-1.0.so.0+0x407685] webkitWebViewRegisterForIconNotification+0x95 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # -- 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/20140206/e13e5b2c/attachment.html From jvanek at redhat.com Thu Feb 6 08:59:04 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 06 Feb 2014 17:59:04 +0100 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation In-Reply-To: <52F2A65B.5060305@redhat.com> References: <52F27F34.1010007@redhat.com> <52F2A65B.5060305@redhat.com> Message-ID: <52F3BF58.7050607@redhat.com> hmhm. I think That I owe the testcase when jnlp file is lunched like file, but in fact it is connecting normlay. Imho the codebase begave well, but worthy to try. ... > > Why isn't the first argument to "replace" also a DELIMITER? Sorry to hammer on this point :( > Oh no Tahnx. My wrong! > Also why is the parameter here final, and basically nothing else in the class is final? It doesn't > seem any more necessary in this method... either use "final" liberally and apply it wherever > feasible, or use it only when needed. I'd prefer the liberal use, but it's up to you. Marking this > parameter alone as final like this makes it stand out and look like something special is happening > with it, but nothing really is. I made it final because at first I did some obscure things with it.Now it better, but Still I kept it. > ... >> ClasspathMatcher.extractPath("some.correct.url:5050://full/path")); >> + Assert.assertEquals("/ect.url:5050/full/path", >> ClasspathMatcher.extractPath("some.corr://ect.url:5050/full/path")); Well those are so unlikely that I can live with it. > > :/ I see you've commented that this case is hard to solve, but this ^ test in particular looks > concerning. Is it not worthwhile to do some stricter URL validation so we can avoid this kind of > result? Because to me, this input and its result don't really match up very well. Perhaps there's > some way you could leverage the standard URL class to do some of the heavy lifting? I'm not sure how > it will respond to having a protocol like "some.corr" though - probably just going to throw an > exception. But it's probably worth looking into if you haven't already. You could do some checking > on the other components of the URL first maybe, and in this case see that the protocol is bad, and > then either construct a URL without any protocol, or replace the protocol with dummy data, and then > get the path part from the URL instance. I'm not sure how well this approach will work in general > though, when you're extracting other parts of the URL, and there are other various malformed pieces. Nope - the asterix and possibility to miss parts is making URL calss unusable. I tried. > >> + >> + //total trap url >> + @Test >> + public void madUrls() throws MalformedURLException { >> + String trapUrl1 = "*://:&:://%%20"; >> + ClasspathMatcher.Parts p1 = ClasspathMatcher.splitToParts(trapUrl1); >> + Assert.assertEquals("*", p1.protocol); >> + Assert.assertEquals("", p1.domain); >> + Assert.assertEquals("&::", p1.port); > > Perhaps there should be some validation that the port is numeric... > nope. There can be nothing. > >> + >> + private Boolean processBooleanAttribute(String id) throws IllegalArgumentException { >> + String s = getAttribute(id); >> + if (s == null) { >> + return null; >> + } else { >> + s = s.trim(); >> + if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("false")) { >> + //return ((name != null) && name.equalsIgnoreCase("true")); >> + return Boolean.parseBoolean(s); >> + } else { >> + throw new IllegalArgumentException("Unknown value of " + id + " attribute " + >> s + ". Expected true or false"); >> + } >> + } >> + } > > Remove the commented out line here as well. nope - added one more line. > > Next few comments are suggestions on Messages wording :) > >> diff -r 1e0507976663 netx/net/sourceforge/jnlp/resources/Messages.properties >> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 05 13:55:28 2014 +0100 >> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 05 18:24:20 2014 +0100 >> @@ -569,6 +569,14 @@ >> SPLASHmissingInformation = Information element is missing, verify source rather >> SPLASHchainWas = This is the list of exceptions that occurred launching your applet. Please >> note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to >> run only one applet. >> +CBCheckFile = This application is local file. The codebase check is disabled > > The application is a local file. Codebase validation is disabled. > >> +CBCheckNoEntry = This application do not have codebase manifest entry specified. Please verify >> vendor. Continuing > > This application does not specify a Codebase in its manifest. Please verify with the applet's > vendor. Continuing > >> +CBCheckUnsignedFail= Codebase DO NOT matches codebase manifest attribute, but application is >> unsigned. Continuing > > The application's codebase does NOT match the codebase specified in its manifest, but the > application is unsigned. Continuing > >> +CBCheckSignedAppletDontMatchException = java applet is not allowed to run when is signed, have >> codebase manifest entry ({0}), and this do not match to real codebase - {1} > > Signed applets are not allowed to run when their actual Codebase does not match the Codebase > specified in their manifest. Expected: {0}. Actual: {1} > >> +CBCheckSignedFail = Codebase DO NOT matches codebase manifest attribute and application is >> signed. You are strongly encouraged to terminate application > > Application Codebase does NOT match the Codebase specified in the application's manifest, and this > application is signed. You are strongly discouraged from running this application. followed > > And I think that's about all I have to say (so far). Nice work overall! All indentation and requested javadoc fixed I hope. Sharp eye tahnx! -------------- next part -------------- A non-text attachment was scrubbed... Name: classpathAttributeAll-2.diff Type: text/x-patch Size: 151122 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140206/dc26d371/classpathAttributeAll-2-0001.diff From ptisnovs at icedtea.classpath.org Fri Feb 7 02:32:03 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 07 Feb 2014 10:32:03 +0000 Subject: /hg/gfx-test: Five new tests added into BitBltAffineScaleTransfo... Message-ID: changeset 3ce2d9cfb859 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=3ce2d9cfb859 author: Pavel Tisnovsky date: Fri Feb 07 11:36:19 2014 +0100 Five new tests added into BitBltAffineScaleTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java | 74 +++++++++++- 2 files changed, 77 insertions(+), 2 deletions(-) diffs (110 lines): diff -r 5ba50af31527 -r 3ce2d9cfb859 ChangeLog --- a/ChangeLog Thu Feb 06 13:04:24 2014 +0100 +++ b/ChangeLog Fri Feb 07 11:36:19 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-07 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java: + Five new tests added into BitBltAffineScaleTransformOp. + 2014-02-06 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r 5ba50af31527 -r 3ce2d9cfb859 src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java Thu Feb 06 13:04:24 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java Fri Feb 07 11:36:19 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. @@ -71,7 +71,7 @@ @Zoom(1) public class BitBltAffineScaleTransformOp extends BitBltAffineTransformOp { - private static double SCALES[] = {.001, 0.01, 0.1, 1/3., 0.5, 2/3., 1.0, 2.0, 3.0, 4.0}; + private static double SCALES[] = {0.01, 0.1, 1/3., 0.5, 2/3., 1.0, 2.0, 3.0, 4.0}; private static final int NUM_SCALES = SCALES.length * SCALES.length; private static final AffineTransform ScaleTransformation[] = new AffineTransform[NUM_SCALES]; @@ -127,6 +127,76 @@ } /** + * Test basic BitBlt operation for checker 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 testBitBltCheckerBufferedImageType3ByteBGRScaleTransformation0Nearest2Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, ScaleTransformationNearest2Op[0]); + } + + /** + * Test basic BitBlt operation for checker 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 testBitBltCheckerBufferedImageType3ByteBGRScaleTransformation0Bilinear1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, ScaleTransformationBilinear1Op[0]); + } + + /** + * Test basic BitBlt operation for checker 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 testBitBltCheckerBufferedImageType3ByteBGRScaleTransformation0Bilinear2Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, ScaleTransformationBilinear2Op[0]); + } + + /** + * Test basic BitBlt operation for checker 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 testBitBltCheckerBufferedImageType3ByteBGRScaleTransformation0Bicubic1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, ScaleTransformationBicubic1Op[0]); + } + + /** + * Test basic BitBlt operation for checker 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 testBitBltCheckerBufferedImageType3ByteBGRScaleTransformation0Bicubic2Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltCheckerBufferedImageType3ByteRGB(image, graphics2d, ScaleTransformationBicubic2Op[0]); + } + + /** * Entry point to the test suite. * * @param args not used in this case From ptisnovs at icedtea.classpath.org Fri Feb 7 02:51:11 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 07 Feb 2014 10:51:11 +0000 Subject: /hg/rhino-tests: Added new test cases into CompilableClassTest. Message-ID: changeset 231f67d488ce in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=231f67d488ce author: Pavel Tisnovsky date: Fri Feb 07 11:55:30 2014 +0100 Added new test cases into CompilableClassTest. diffstat: ChangeLog | 5 ++ src/org/RhinoTests/CompilableClassTest.java | 72 +++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 0 deletions(-) diffs (129 lines): diff -r fd15e637f069 -r 231f67d488ce ChangeLog --- a/ChangeLog Thu Feb 06 13:11:10 2014 +0100 +++ b/ChangeLog Fri Feb 07 11:55:30 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-07 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test cases into CompilableClassTest. + 2014-02-06 Pavel Tisnovsky * src/org/RhinoTests/ScriptContextClassTest.java: diff -r fd15e637f069 -r 231f67d488ce src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Thu Feb 06 13:11:10 2014 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Fri Feb 07 11:55:30 2014 +0100 @@ -1506,6 +1506,14 @@ } try { + this.compilableClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compilableClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1562,6 +1570,14 @@ } try { + this.compilableClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compilableClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1570,6 +1586,14 @@ } try { + this.compilableClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compilableClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1578,6 +1602,22 @@ } try { + this.compilableClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compilableClass.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.compilableClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1626,6 +1666,30 @@ } try { + this.compilableClass.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.compilableClass.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.compilableClass.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.compilableClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1642,6 +1706,14 @@ } try { + this.compilableClass.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.compilableClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From aazores at redhat.com Fri Feb 7 07:22:36 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 07 Feb 2014 10:22:36 -0500 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation In-Reply-To: <52F3BF58.7050607@redhat.com> References: <52F27F34.1010007@redhat.com> <52F2A65B.5060305@redhat.com> <52F3BF58.7050607@redhat.com> Message-ID: <52F4FA3C.9000503@redhat.com> On 02/06/2014 11:59 AM, Jiri Vanek wrote: > >> >>> +CBCheckUnsignedFail= Codebase DO NOT matches codebase manifest >>> attribute, but application is >>> unsigned. Continuing >> >> The application's codebase does NOT match the codebase specified in >> its manifest, but the >> application is unsigned. Continuing >> > > followed This one didn't get changed. Otherwise, I think this is okay to push now. Do you have any plans for making this validation information more visible? I don't think most people are even going to notice the log messages. Thanks, -- Andrew A From gitne at gmx.de Fri Feb 7 10:49:40 2014 From: gitne at gmx.de (Jacob Wisor) Date: Fri, 07 Feb 2014 19:49:40 +0100 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation In-Reply-To: <52F4FA3C.9000503@redhat.com> References: <52F27F34.1010007@redhat.com> <52F2A65B.5060305@redhat.com> <52F3BF58.7050607@redhat.com> <52F4FA3C.9000503@redhat.com> Message-ID: <52F52AC4.5010206@gmx.de> On 02/07/2014 04:22 PM, Andrew Azores wrote: > On 02/06/2014 11:59 AM, Jiri Vanek wrote: >> >>> >>>> +CBCheckUnsignedFail= Codebase DO NOT matches codebase manifest attribute, >>>> but application is >>>> unsigned. Continuing >>> >>> The application's codebase does NOT match the codebase specified in its >>> manifest, but the >>> application is unsigned. Continuing >>> >> >> followed > > This one didn't get changed. Otherwise, I think this is okay to push now. > > Do you have any plans for making this validation information more visible? I > don't think most people are even going to notice the log messages. I do not want to sound too grim here but probably most users will not understand what this messages is all about. Even many admins do not know what a jar or application manifest is. :-\ Perhaps you should consider rewording this message towards what the effects of non-matching codebases are than just stating a plain fact. Sometimes I can not escape the impression that developers and JCP committees are throwing new features and quick dirty fixes at users just to extend the life span of products with broken concepts. They just patch technical details instead of really solving problems. But hey, who am I to complain. ;) All I am asking of you is to please think instead of to blindly follow a "reference implementation". Jacob From bugzilla-daemon at icedtea.classpath.org Sun Feb 9 03:41:30 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 09 Feb 2014 11:41:30 +0000 Subject: [Bug 1669] New: GraphicsEnvironment.getMaximumWindowBounds() returns wrong horizontal size in dual screen environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1669 Bug ID: 1669 Summary: GraphicsEnvironment.getMaximumWindowBounds() returns wrong horizontal size in dual screen environment Product: IcedTea Version: 2.4.4 Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: vincent.privat at gmail.com CC: unassigned at icedtea.classpath.org This is an upstream bug for the following ones: https://josm.openstreetmap.de/ticket/9699 https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1171563 GraphicsEnvironment.getMaximumWindowBounds() does not work. The returned results are wrong on dual-screen setups. For example in JOSM bug, the rectangle returned contains a negative width: java.awt.Rectangle[x=3905,y=24,width=-705,height=1000] -- 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/20140209/bd78dc43/attachment.html From bugzilla-daemon at icedtea.classpath.org Sun Feb 9 21:58:33 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 10 Feb 2014 05:58:33 +0000 Subject: [Bug 1670] New: Crash Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1670 Bug ID: 1670 Summary: Crash Product: IcedTea Version: 7-1.14 Hardware: 32-bit OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: adnantoa at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1023 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1023&action=edit Log file from JVM -- 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/20140210/1debe7a6/attachment.html From ptisnovs at icedtea.classpath.org Mon Feb 10 02:49:22 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 10 Feb 2014 10:49:22 +0000 Subject: /hg/gfx-test: Seven new tests added into CAGOperationsOnTwoTouch... Message-ID: changeset 8ec5f431f7ef in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=8ec5f431f7ef author: Pavel Tisnovsky date: Mon Feb 10 11:53:39 2014 +0100 Seven new tests added into CAGOperationsOnTwoTouchingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java | 183 ++++++++- 2 files changed, 163 insertions(+), 25 deletions(-) diffs (212 lines): diff -r 3ce2d9cfb859 -r 8ec5f431f7ef ChangeLog --- a/ChangeLog Fri Feb 07 11:36:19 2014 +0100 +++ b/ChangeLog Mon Feb 10 11:53:39 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-10 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: + Seven new tests added into CAGOperationsOnTwoTouchingCircles. + 2014-02-07 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineScaleTransformOp.java: diff -r 3ce2d9cfb859 -r 8ec5f431f7ef src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Fri Feb 07 11:36:19 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Mon Feb 10 11:53:39 2014 +0100 @@ -1060,31 +1060,6 @@ /** * Checks the process of creating and rendering new geometric shape * constructed from two touching circles using union operator. The shape is rendered - * using diagonal gradient 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 testUnionDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) - { - // set stroke color - CommonRenderingStyles.setStrokeColor(graphics2d); - // set fill color - CommonRenderingStyles.setDiagonalGradientFill(image, graphics2d); - // create area using union operator - Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(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 touching circles using union operator. The shape is rendered * using radial gradient paint (fill). * * @param image @@ -1208,6 +1183,164 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from two touching 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 testUnionTextureFillUsingCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingCheckerTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(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 touching 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 testSubtractTextureFillUsingCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingCheckerTexture(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingSubtractOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(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 touching circles using union operator. The shape is rendered + * using radial gradient 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 testSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingSubtractOperator(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 touching circles using inverse subtract operator. The shape + * is rendered using radial gradient 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 testInverseSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(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 touching circles using intersect operator. The shape is + * rendered using radial gradient 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 testIntersectRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingIntersectOperator(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 touching circles using XOR operator. The shape is rendered + * using radial gradient 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 testXorRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingXorOperator(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 bugzilla-daemon at icedtea.classpath.org Mon Feb 10 04:14:36 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 10 Feb 2014 12:14:36 +0000 Subject: [Bug 1670] Crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1670 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |xerxes at zafena.se Resolution|--- |INVALID --- Comment #1 from Xerxes R?nby --- The logfile indicate a crash inside native JNI code maintained by the lwjgl project: https://github.com/LWJGL/lwjgl/blob/master/src/java/org/lwjgl/opengl/LinuxDisplay.java#L1422 I suggest you report this bug to "lwjgl" and they may help debug and fix the issue. Its possible that you need to inform "Mojang" as well to include a more up to date version of lwjgl with minecraft. Closed as invalid since the crashing code is not part of the icedtea codebase. -- 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/20140210/36f7af87/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 10 04:19:39 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 10 Feb 2014 12:19:39 +0000 Subject: [Bug 1670] Crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1670 --- Comment #2 from Xerxes R?nby --- https://github.com/LWJGL/lwjgl/blob/master/src/native/linux/opengl/org_lwjgl_opengl_Display.c#L580 <- implementation for the LinuxDisplay nSetWindowIcon c JNI code where the crash happened is found here. -- 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/20140210/3d9314d4/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 10 04:28:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 10 Feb 2014 12:28:03 +0000 Subject: [Bug 1670] Crash In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1670 --- Comment #3 from Xerxes R?nby --- it is worth noting that the last time this code got changed by the lwjgl team they added a restriction to only allow use power of 2 sized icons. https://github.com/LWJGL/lwjgl/commit/98f8bddce31c039fae680c36ef4e9deeb1e7d7f4 check that the icon the game tries to use is rectangular with a width and height that equals a power of 2.. that is 16x16 32x32 64x64 128x128 256x256 ... 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/20140210/7c9a3e22/attachment-0001.html From ptisnovs at icedtea.classpath.org Mon Feb 10 04:57:04 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 10 Feb 2014 12:57:04 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamNegativeT... Message-ID: changeset 077763ca95bf in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=077763ca95bf author: Pavel Tisnovsky date: Mon Feb 10 14:01:18 2014 +0100 Added new test testGetResourceAsStreamNegativeTest into CompilableClassTest. diffstat: ChangeLog | 6 ++ src/org/RhinoTests/CompilableClassTest.java | 61 +++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 0 deletions(-) diffs (84 lines): diff -r 231f67d488ce -r 077763ca95bf ChangeLog --- a/ChangeLog Fri Feb 07 11:55:30 2014 +0100 +++ b/ChangeLog Mon Feb 10 14:01:18 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-10 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test testGetResourceAsStreamNegativeTest into + CompilableClassTest. + 2014-02-07 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: diff -r 231f67d488ce -r 077763ca95bf src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Fri Feb 07 11:55:30 2014 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Mon Feb 10 14:01:18 2014 +0100 @@ -1836,6 +1836,67 @@ } /** + * Test for method javax.script.Compilable.getClass().getResourceAsStreamNegativeTest() + */ + protected void testGetResourceAsStreamNegativeTest() { + Object stream = null; + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/BaseRhinoTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BaseRhinoTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/BindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/BindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/CompilableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/CompilableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/CompiledScriptClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/CompiledScriptTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/Constants.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/Constants.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/InvocableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/InvocableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/JavaScriptSnippets.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptSnippets.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/JavaScriptsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptsTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextClassTest.class\") returns null"); + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextTest.class\") returns null"); + } + + /** * Test for instanceof operator applied to a class javax.script.Compilable */ @SuppressWarnings("cast") From aazores at redhat.com Mon Feb 10 06:47:21 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 10 Feb 2014 09:47:21 -0500 Subject: [rfc][icedtea-web] Unittest regression fix Message-ID: <52F8E679.2030402@redhat.com> Hi, Jiri noticed that a recent patch caused 10 unit test failures, due to the classloader bailing out on the condition that codebase loading was disabled and there appeared to be no JARs to load from. This conclusion was apparently reached too quickly and was caused because I had assumed this information would already be ready, and so had moved this logic earlier in the Launcher/ClassLoader cycle. Moving the check back to where it was, ie later on, solves the problem. ChangeLog: Partial revert of 7933143a1286, refactoring to move codebase-loading-enabling logic out of Launcher and into JNLPClassLoader. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject): handle enableCodebase again * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodebase): re-added, codebase enabling logic moved back out into Launcher Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: enable_codebase_regression_fix.patch Type: text/x-patch Size: 7245 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140210/ab68f7dd/enable_codebase_regression_fix.patch From minhua at ieee.org Wed Feb 5 00:36:35 2014 From: minhua at ieee.org (Min Hua) Date: Wed, 05 Feb 2014 16:36:35 +0800 Subject: Fatal: Read Error: Could not read or parse the JNLP file Message-ID: <1880850.K0MxJx5H0A@thinkpad-t510> When executing http://java.net/projects/electric/downloads/download/electric.jnlp always get the following errors: 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:464) ... 5 more Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception during parsing of a html element at line 1: Expected: / at net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1126) at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:986) at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:967) at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512) at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) ... 10 more From aazores at redhat.com Mon Feb 10 08:25:25 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 10 Feb 2014 11:25:25 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <52E6B9B8.7040402@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> Message-ID: <52F8FD75.6070705@redhat.com> On 01/27/2014 02:55 PM, Andrew Azores wrote: > 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, > Ping... ? Thanks, -- Andrew A From aazores at redhat.com Mon Feb 10 08:25:49 2014 From: aazores at redhat.com (Andrew Azores) Date: Mon, 10 Feb 2014 11:25:49 -0500 Subject: [icedtea-web] "Not All Signed" dialog and low-security setting In-Reply-To: <52DD4C34.4070901@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> <52DD4C34.4070901@redhat.com> Message-ID: <52F8FD8D.9020302@redhat.com> On 01/20/2014 11:17 AM, Andrew Azores wrote: > 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, > Ping? Thanks, -- Andrew A From bugzilla-daemon at icedtea.classpath.org Mon Feb 10 09:44:18 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 10 Feb 2014 17:44:18 +0000 Subject: [Bug 1327] A fatal error has been detected by the Java Runtime Environment: In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1327 pradeek changed: What |Removed |Added ---------------------------------------------------------------------------- Hardware|x86_64 |32-bit OS|Windows |Linux -- You are receiving this mail because: You are the assignee for the bug. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140210/099adb51/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 10 23:04:50 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 11 Feb 2014 07:04:50 +0000 Subject: [Bug 1632] bootstrap javac deadlock In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1632 wbx at openadk.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from wbx at openadk.org --- Hi, this is fixed now with an update to icedtea 2.4.5. thx Waldemar -- 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/20140211/8c61ff79/attachment.html From ptisnovs at icedtea.classpath.org Tue Feb 11 01:04:31 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 11 Feb 2014 09:04:31 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamPositiveT... Message-ID: changeset b5b48eaafbb8 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=b5b48eaafbb8 author: Pavel Tisnovsky date: Tue Feb 11 10:08:43 2014 +0100 Added new test testGetResourceAsStreamPositiveTest into CompilableClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/CompilableClassTest.java | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diffs (41 lines): diff -r 077763ca95bf -r b5b48eaafbb8 ChangeLog --- a/ChangeLog Mon Feb 10 14:01:18 2014 +0100 +++ b/ChangeLog Tue Feb 11 10:08:43 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-11 Pavel Tisnovsky + + * src/org/RhinoTests/CompilableClassTest.java: + Added new test testGetResourceAsStreamPositiveTest into + CompilableClassTest. + 2014-02-10 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: diff -r 077763ca95bf -r b5b48eaafbb8 src/org/RhinoTests/CompilableClassTest.java --- a/src/org/RhinoTests/CompilableClassTest.java Mon Feb 10 14:01:18 2014 +0100 +++ b/src/org/RhinoTests/CompilableClassTest.java Tue Feb 11 10:08:43 2014 +0100 @@ -1897,6 +1897,24 @@ } /** + * Test for method javax.script.Compilable.getClass().getResourceAsStreamPositiveTest() + */ + protected void testGetResourceAsStreamPositiveTest() { + Object stream; + stream = this.compilableClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getResourceAsStream(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + } + + /** + * Test for method javax.script.Compilable.getClass().toString() + */ + protected void testToString() { + String asString; + asString = this.compilableClass.toString(); + assertEquals("interface javax.script.Compilable", asString, "wrong toString() return value"); + } + + /** * Test for instanceof operator applied to a class javax.script.Compilable */ @SuppressWarnings("cast") From ptisnovs at icedtea.classpath.org Tue Feb 11 01:11:13 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 11 Feb 2014 09:11:13 +0000 Subject: /hg/gfx-test: Ten new tests added into CAGOperationsOnPieAndRect... Message-ID: changeset 60562be5f5b5 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=60562be5f5b5 author: Pavel Tisnovsky date: Tue Feb 11 10:15:30 2014 +0100 Ten new tests added into CAGOperationsOnPieAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java | 238 ++++++++++ 2 files changed, 243 insertions(+), 0 deletions(-) diffs (260 lines): diff -r 8ec5f431f7ef -r 60562be5f5b5 ChangeLog --- a/ChangeLog Mon Feb 10 11:53:39 2014 +0100 +++ b/ChangeLog Tue Feb 11 10:15:30 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-11 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java: + Ten new tests added into CAGOperationsOnPieAndRectangle test suite. + 2014-02-10 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: diff -r 8ec5f431f7ef -r 60562be5f5b5 src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Mon Feb 10 11:53:39 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Tue Feb 11 10:15:30 2014 +0100 @@ -344,6 +344,244 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using intersect 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 testBigPieRectangleIntersectExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(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 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 testBigPieRectangleSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(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 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 testBigPieRectangleInverseSubtractExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(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 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 testBigPieRectangleXorExtraWideStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set stroke width + CommonRenderingStyles.setStrokeExtraThickWidth(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 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 testBigPieRectangleUnionColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(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 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 testBigPieRectangleIntersectColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(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 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 testBigPieRectangleSubtractColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(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 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 testBigPieRectangleInverseSubtractColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(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 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 testBigPieRectangleXorColorPaint(TestImage image, Graphics2D graphics2d) + { + // set fill color + CommonRenderingStyles.setFillColor(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 radial gradient 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 testBigPieRectangleUnionRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, 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 jvanek at redhat.com Tue Feb 11 01:30:43 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 11 Feb 2014 10:30:43 +0100 Subject: [rfc][icedtea-web] Unittest regression fix In-Reply-To: <52F8E679.2030402@redhat.com> References: <52F8E679.2030402@redhat.com> Message-ID: <52F9EDC3.7060803@redhat.com> On 02/10/2014 03:47 PM, Andrew Azores wrote: > Hi, > > Jiri noticed that a recent patch caused 10 unit test failures, due to the classloader bailing out on the condition that codebase loading was disabled and there appeared to be no JARs to load from. This conclusion was apparently reached too quickly and was caused because I had assumed this information would already be ready, and so had moved this logic earlier in the Launcher/ClassLoader cycle. Moving the check back to where it was, ie later on, solves the problem. > > ChangeLog: > Partial revert of 7933143a1286, refactoring to move codebase-loading-enabling > logic out of Launcher and into JNLPClassLoader. > * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject): > handle enableCodebase again > * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodebase): > re-added, codebase enabling logic moved back out into Launcher > > Thanks, > Hi. This changes looks ok. However: - this regression was cought by unittests. You as developer are supposed to check *each* (your) changeset with unittest (there is no excuse for not do it) and at least with some subset of reproducers. Ideally to let them run over night all. - this fix have got really broken. I think that Except original patch there is already patch to original one, and patch to patch(this one). I'm really unhappy from it. I do not insists, But I would recommend to revert previous two, mingle with this one, and revisite as one complex patch. Anyway this one is good to go to have head a bit stable again. However I would strongly encourage you to revisit the patch as whole. J. From jvanek at redhat.com Tue Feb 11 04:30:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 11 Feb 2014 13:30:16 +0100 Subject: Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: <1880850.K0MxJx5H0A@thinkpad-t510> References: <1880850.K0MxJx5H0A@thinkpad-t510> Message-ID: <52FA17D8.6000507@redhat.com> On 02/05/2014 09:36 AM, Min Hua wrote: > When executing > http://java.net/projects/electric/downloads/download/electric.jnlp > always get the following errors: hhmhm, both http://java.net/projects/electric/downloads/download/electric.jnlp http://java.net/projects/electric/downloads/download/WebStartFiles/electricAnt.jnlp are valid XML and even had have the same issue. This seems to me like same issue - http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 With difference that after convert (suggested workarround) , the ITW parse JNLP , but die later. I'm in temptation to add switch to javaws, which will allow to select encoding directly. You may try to play around the iconv worakround, and I may try to find soemthing more suitable in ITW to deal with this kind of issue. J. > > 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:464) > ... 5 more > Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception > during parsing of a html element at line 1: Expected: / > at net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1126) > at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:986) > at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:967) > at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512) > at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) > at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) > ... 10 more > From bugzilla-daemon at icedtea.classpath.org Tue Feb 11 04:25:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 11 Feb 2014 12:25: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 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |WONTFIX --- Comment #14 from JiriVanek --- I have changed this bug's resolution, as it is not fixed. The workaround can work, but is not fix. I have an idea, to add -encoding ENCODING switch to javaws (integration also with itw-settigns?) , which will force the parsers encoding. Any opinions? -- 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/20140211/2d59f3cc/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Tue Feb 11 04:26:04 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 11 Feb 2014 12:26:04 +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 #15 from JiriVanek --- http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-February/026225.html Si probably another example. -- 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/20140211/7a270801/attachment.html From jvanek at redhat.com Tue Feb 11 05:38:46 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 11 Feb 2014 14:38:46 +0100 Subject: Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: <52FA17D8.6000507@redhat.com> References: <1880850.K0MxJx5H0A@thinkpad-t510> <52FA17D8.6000507@redhat.com> Message-ID: <52FA27E6.7060105@redhat.com> On 02/11/2014 01:30 PM, Jiri Vanek wrote: > On 02/05/2014 09:36 AM, Min Hua wrote: >> When executing >> http://java.net/projects/electric/downloads/download/electric.jnlp >> always get the following errors: > > hhmhm, both > > http://java.net/projects/electric/downloads/download/electric.jnlp > http://java.net/projects/electric/downloads/download/WebStartFiles/electricAnt.jnlp > > are valid XML and even had have the same issue. > > This seems to me like same issue - http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 > > With difference that after convert (suggested workarround) , the ITW parse JNLP , but die later. > > I'm in temptation to add switch to javaws, which will allow to select encoding directly. > > You may try to play around the iconv worakround, and I may try to find soemthing more suitable in ITW to deal with this kind of issue. ok. This is even more tricky. The site is full of 302 redirections. Both for jnlp - the final one (fourth!) is https://java.net/downloads/electric/WebStartFiles/electricAnt.jnlp However also jars are burned under several layers of redirections, so the app did not start anyway. This is bug and needs to be fixed. J. > > J. >> >> 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:464) >> ... 5 more >> Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception >> during parsing of a html element at line 1: Expected: / >> at net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1126) >> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:986) >> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:967) >> at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512) >> at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) >> at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) >> ... 10 more >> > From aazores at icedtea.classpath.org Tue Feb 11 06:20:48 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Tue, 11 Feb 2014 14:20:48 +0000 Subject: /hg/icedtea-web: Partial revert of 7933143a1286 Message-ID: changeset 5909bfb3675f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=5909bfb3675f author: Andrew Azores date: Tue Feb 11 09:20:36 2014 -0500 Partial revert of 7933143a1286 Previous patch caused some unit test regressions - enabling codebase this early in the classloader initialization doesn't always work Partial revert of 7933143a1286, refactoring to move codebase-loading-enabling logic out of Launcher and into JNLPClassLoader. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject): handle enableCodebase again * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodebase): re-added, codebase enabling logic moved back out into Launcher diffstat: ChangeLog | 9 +++ netx/net/sourceforge/jnlp/Launcher.java | 16 ++++- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 53 +++++------------ 3 files changed, 39 insertions(+), 39 deletions(-) diffs (164 lines): diff -r 1e0507976663 -r 5909bfb3675f ChangeLog --- a/ChangeLog Wed Feb 05 13:55:28 2014 +0100 +++ b/ChangeLog Tue Feb 11 09:20:36 2014 -0500 @@ -1,3 +1,12 @@ +2014-02-11 Andrew Azores + + Partial revert of 7933143a1286, refactoring to move + codebase-loading-enabling logic out of Launcher and into JNLPClassLoader. + * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, + createAppletObject): handle enableCodebase again + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (enableCodebase): + re-added, codebase enabling logic moved back out into Launcher + 2014-02-05 Jiri Vanek Added salt to plugin-java pipes' directory (fixing RH1010958) diff -r 1e0507976663 -r 5909bfb3675f netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Wed Feb 05 13:55:28 2014 +0100 +++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Feb 11 09:20:36 2014 -0500 @@ -696,7 +696,13 @@ protected AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { AppletInstance appletInstance = null; try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); + 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"); + } ThreadGroup group = Thread.currentThread().getThreadGroup(); @@ -737,7 +743,13 @@ */ protected Applet createAppletObject(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); + 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"); + } String appletName = file.getApplet().getMainClass(); Class appletClass = loader.loadClass(appletName); diff -r 1e0507976663 -r 5909bfb3675f netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Feb 05 13:55:28 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Feb 11 09:20:36 2014 -0500 @@ -227,7 +227,7 @@ * @param file the JNLP file */ protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy) throws LaunchException { - this(file, policy, null, false); + this(file, policy, null); } /** @@ -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, boolean enableCodeBase) throws LaunchException { + protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { super(new URL[0], JNLPClassLoader.class.getClassLoader()); OutputController.getLogger().log("New classloader: " + file.getFileLocation()); @@ -263,13 +263,6 @@ 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(); @@ -390,12 +383,11 @@ * @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, boolean enableCodeBase) throws LaunchException { + private static JNLPClassLoader createInstance(JNLPFile file, UpdatePolicy policy, String mainName) throws LaunchException { String uniqueKey = file.getUniqueKey(); JNLPClassLoader baseLoader = uniqueKeyToLoader.get(uniqueKey); - JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); + JNLPClassLoader loader = new JNLPClassLoader(file, policy, mainName); // 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 @@ -441,32 +433,9 @@ * * @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(); @@ -480,12 +449,12 @@ (file.isApplication() && !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation()))) { - loader = createInstance(file, policy, mainName, enableCodeBase); + loader = createInstance(file, policy, mainName); } 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, enableCodeBase); + loader = new JNLPClassLoader(file, policy, mainName); if (baseLoader != null) baseLoader.merge(loader); @@ -1150,6 +1119,16 @@ } /** + * 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. */ public void setApplication(ApplicationInstance app) { From bugzilla-daemon at icedtea.classpath.org Tue Feb 11 06:34:54 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 11 Feb 2014 14:34:54 +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 #16 from Andrew Azores --- Is this necessary? The bug was marked fixed because the reported bug is indeed fixed by the new parser in 1.5 and no iconv workaround is needed. If there are any examples of 1.5 still failing to this issue then it's worth adding the -encoding switch, otherwise it seems like a lot of effort to backport this to 1.4. Maybe worthwhile though, up to 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/20140211/1b48637f/attachment.html From jvanek at redhat.com Tue Feb 11 09:03:49 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 11 Feb 2014 18:03:49 +0100 Subject: Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: <52FA27E6.7060105@redhat.com> References: <1880850.K0MxJx5H0A@thinkpad-t510> <52FA17D8.6000507@redhat.com> <52FA27E6.7060105@redhat.com> Message-ID: <52FA57F5.5030400@redhat.com> Ok. Here is patch which make this run. If you need to use this, you can make an build on your own. Generally - this adds support for following 301,2,3,7,8 redirect. It is good thing, nd will be proposed to head. However will be probably disabled by default, as it can be dangerous. - there is bug in current handling of jnlp's href attribute. See : --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Feb 11 09:20:36 2014 -0500 +++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Feb 11 17:57:37 2014 +0100 @@ -466,6 +466,8 @@ haveHref = true; } +isLocal=true; + if (isLocal && haveHref) { file = new JNLPFile(file.getSourceLocation(), parserSettings); } this is hack just for you This needs to be fixed as separate patch. And - not generally - -- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java Tue Feb 11 09:20:36 2014 -0500 +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java Tue Feb 11 17:57:37 2014 +0100 @@ -236,8 +236,8 @@ continue; } - VerifyResult result = verifyJar(localFile); - + //VerifyResult result = verifyJar(localFile); + VerifyResult result = VerifyResult.SIGNED_OK; if (result == VerifyResult.UNSIGNED) { unverifiedJars.add(localFile); } else if (result == VerifyResult.SIGNED_NOT_OK) { I had to disable all security checks. I still don't know if it result of of jars being downlaoded from redirected location. I have suspicions that the siganture is REALLY WRONG. Are you sure you are downloading application from correct source? I had noted a lot of classnotfound errors on startup anyway - but App wos working fine. so again - are you sure you know what are you launching? best regards from ITW J. On 02/11/2014 02:38 PM, Jiri Vanek wrote: > On 02/11/2014 01:30 PM, Jiri Vanek wrote: >> On 02/05/2014 09:36 AM, Min Hua wrote: >>> When executing >>> http://java.net/projects/electric/downloads/download/electric.jnlp >>> always get the following errors: >> >> hhmhm, both >> >> http://java.net/projects/electric/downloads/download/electric.jnlp >> http://java.net/projects/electric/downloads/download/WebStartFiles/electricAnt.jnlp >> >> are valid XML and even had have the same issue. >> >> This seems to me like same issue - http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 >> >> With difference that after convert (suggested workarround) , the ITW parse JNLP , but die later. >> >> I'm in temptation to add switch to javaws, which will allow to select encoding directly. >> >> You may try to play around the iconv worakround, and I may try to find soemthing more suitable in ITW to deal with this kind of issue. > > ok. This is even more tricky. > > The site is full of 302 redirections. > Both for jnlp - the final one (fourth!) is https://java.net/downloads/electric/WebStartFiles/electricAnt.jnlp > However also jars are burned under several layers of redirections, so the app did not start anyway. This is bug and needs to be fixed. > > J. >> >> J. >>> >>> 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:464) >>> ... 5 more >>> Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse Exception >>> during parsing of a html element at line 1: Expected: / >>> at net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1126) >>> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:986) >>> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:967) >>> at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512) >>> at net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) >>> at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) >>> ... 10 more >>> >> > -------------- next part -------------- A non-text attachment was scrubbed... Name: makeItRunDirty.patch Type: text/x-patch Size: 8204 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140211/8964f949/makeItRunDirty-0001.patch From bugzilla-daemon at icedtea.classpath.org Tue Feb 11 16:13:46 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 12 Feb 2014 00:13:46 +0000 Subject: [Bug 1669] GraphicsEnvironment.getMaximumWindowBounds() returns wrong horizontal size in dual screen environment In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1669 --- Comment #1 from vincent.privat at gmail.com --- upstream bug: https://bugs.openjdk.java.net/browse/JDK-8034224 -- 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/20140212/9b3c5779/attachment.html From minhua at ieee.org Tue Feb 11 18:24:49 2014 From: minhua at ieee.org (Min Hua) Date: Wed, 12 Feb 2014 10:24:49 +0800 Subject: Fatal: Read Error: Could not read or parse the JNLP file In-Reply-To: <52FA57F5.5030400@redhat.com> References: <1880850.K0MxJx5H0A@thinkpad-t510> <52FA17D8.6000507@redhat.com> <52FA27E6.7060105@redhat.com> <52FA57F5.5030400@redhat.com> Message-ID: <52FADB71.60408@ieee.org> Jiri, et al. Thank you all for your quick response to the bug report I submitted. I've downloaded and installed the application software locally on my computer so I don't really need to run it via web launch jnlp. However it's helpful for others for their use in other applications if this bug can be fixed for next release of IcedTea Web Start. best regards, - Min On 02/12/2014 01:03, Jiri Vanek wrote: Ok. Here is patch which make this run. If you need to use this, you can make an build on your own. > > Generally - this adds support for following 301,2,3,7,8 redirect. It > is good thing, nd will be proposed to head. However will be probably > disabled by default, as it can be dangerous. > - there is bug in current handling of jnlp's href attribute. > See : > --- a/netx/net/sourceforge/jnlp/Launcher.java Tue Feb 11 09:20:36 > 2014 -0500 > +++ b/netx/net/sourceforge/jnlp/Launcher.java Tue Feb 11 17:57:37 > 2014 +0100 > @@ -466,6 +466,8 @@ > haveHref = true; > } > > +isLocal=true; > + > if (isLocal && haveHref) { > file = new JNLPFile(file.getSourceLocation(), > parserSettings); > } > > this is hack just for you This needs to be fixed as separate patch. > > And - not generally - > > -- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java Tue Feb > 11 09:20:36 2014 -0500 > +++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java Tue Feb > 11 17:57:37 2014 +0100 > @@ -236,8 +236,8 @@ > continue; > } > > - VerifyResult result = verifyJar(localFile); > - > + //VerifyResult result = verifyJar(localFile); > + VerifyResult result = VerifyResult.SIGNED_OK; > if (result == VerifyResult.UNSIGNED) { > unverifiedJars.add(localFile); > } else if (result == VerifyResult.SIGNED_NOT_OK) { > > > I had to disable all security checks. I still don't know if it result > of of jars being downlaoded from redirected location. > I have suspicions that the siganture is REALLY WRONG. Are you sure you > are downloading application from correct source? I had noted a lot of > classnotfound errors on startup anyway - but App wos working fine. > > so again - are you sure you know what are you launching? > > best regards from ITW > J. > > On 02/11/2014 02:38 PM, Jiri Vanek wrote: >> On 02/11/2014 01:30 PM, Jiri Vanek wrote: >>> On 02/05/2014 09:36 AM, Min Hua wrote: >>>> When executing >>>> http://java.net/projects/electric/downloads/download/electric.jnlp >>>> always get the following errors: >>> >>> hhmhm, both >>> >>> http://java.net/projects/electric/downloads/download/electric.jnlp >>> http://java.net/projects/electric/downloads/download/WebStartFiles/electricAnt.jnlp >>> >>> >>> are valid XML and even had have the same issue. >>> >>> This seems to me like same issue - >>> http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 >>> >>> With difference that after convert (suggested workarround) , the ITW >>> parse JNLP , but die later. >>> >>> I'm in temptation to add switch to javaws, which will allow to >>> select encoding directly. >>> >>> You may try to play around the iconv worakround, and I may try to >>> find soemthing more suitable in ITW to deal with this kind of issue. >> >> ok. This is even more tricky. >> >> The site is full of 302 redirections. >> Both for jnlp - the final one (fourth!) is >> https://java.net/downloads/electric/WebStartFiles/electricAnt.jnlp >> However also jars are burned under several layers of redirections, so >> the app did not start anyway. This is bug and needs to be fixed. >> >> J. >>> >>> J. >>>> >>>> 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:464) >>>> ... 5 more >>>> Caused by: net.sourceforge.nanoxml.XMLParseException: XML Parse >>>> Exception >>>> during parsing of a html element at line 1: Expected: / >>>> at >>>> net.sourceforge.nanoxml.XMLElement.expectedInput(XMLElement.java:1126) >>>> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:986) >>>> at net.sourceforge.nanoxml.XMLElement.scanElement(XMLElement.java:967) >>>> at >>>> net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:512) >>>> >>>> at >>>> net.sourceforge.nanoxml.XMLElement.parseFromReader(XMLElement.java:464) >>>> >>>> at net.sourceforge.jnlp.Parser.getRootNode(Parser.java:1308) >>>> ... 10 more >>>> >>> >> > From bugzilla-daemon at icedtea.classpath.org Tue Feb 11 21:44:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 12 Feb 2014 05:44:22 +0000 Subject: [Bug 1672] New: JVM is crashing sometimes with segmentation fault Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1672 Bug ID: 1672 Summary: JVM is crashing sometimes with segmentation fault Product: IcedTea Version: unspecified Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: vinu.rm at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1026 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1026&action=edit Log file written while JVM crash # # An unexpected error has been detected by Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000000a, pid=10454, tid=732552080 # # Java VM: OpenJDK Server VM (1.6.0-b09 mixed mode linux-x86) # Problematic frame: # C 0x0000000a # # If you would like to submit a bug report, please visit: # http://icedtea.classpath.org/bugzilla # -- 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/20140212/6420691b/attachment.html From jvanek at icedtea.classpath.org Wed Feb 12 02:10:47 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 12 Feb 2014 10:10:47 +0000 Subject: /hg/icedtea-web: Implemented Codebase manifest entry handling wi... Message-ID: changeset 36a76414e08a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=36a76414e08a author: Jiri Vanek date: Wed Feb 12 11:10:29 2014 +0100 Implemented Codebase manifest entry handling with testss. diffstat: ChangeLog | 28 + netx/net/sourceforge/jnlp/JNLPFile.java | 116 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 8 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 58 +- netx/net/sourceforge/jnlp/util/ClasspathMatcher.java | 375 ++++++ tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java | 169 ++- tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java | 559 ++++++++++ tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/resources/CodeBaseManifestEntrySignedMatching.html | 48 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/resources/CodeBaseManifestEntrySignedMatching.jnlp | 56 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/resources/CodeBaseManifestEntrySignedMatchingApplet.jnlp | 61 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/resources/CodeBaseManifestEntrySignedMatchingJnlp.html | 46 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/srcs/CodeBaseManifestEntrySignedMatching.java | 73 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/srcs/META-INF/MANIFEST.MF | 3 + tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedMatching.java | 193 +++ tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntrySignedNotMatching.java | 164 ++ tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntryUnsignedMatching.java | 159 ++ tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/testcases/CodeBaseManifestEntryUnsignedNotMatching.java | 161 ++ tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/resources/CodeBaseManifestEntrySignedNotMatching.html | 48 + tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/resources/CodeBaseManifestEntrySignedNotMatching.jnlp | 56 + tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/resources/CodeBaseManifestEntrySignedNotMatchingApplet.jnlp | 61 + tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/resources/CodeBaseManifestEntrySignedNotMatchingJnlp.html | 46 + tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/srcs/CodeBaseManifestEntrySignedNotMatching.java | 73 + tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/srcs/META-INF/MANIFEST.MF | 3 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/resources/CodeBaseManifestEntryUnsignedMatching.html | 48 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/resources/CodeBaseManifestEntryUnsignedMatching.jnlp | 53 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/resources/CodeBaseManifestEntryUnsignedMatchingApplet.jnlp | 58 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/resources/CodeBaseManifestEntryUnsignedMatchingJnlp.html | 46 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/srcs/CodeBaseManifestEntryUnsignedMatching.java | 73 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/srcs/META-INF/MANIFEST.MF | 3 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/resources/CodeBaseManifestEntryUnsignedNotMatching.html | 48 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/resources/CodeBaseManifestEntryUnsignedNotMatching.jnlp | 53 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/resources/CodeBaseManifestEntryUnsignedNotMatchingApplet.jnlp | 58 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/resources/CodeBaseManifestEntryUnsignedNotMatchingJnlp.html | 46 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/srcs/CodeBaseManifestEntryUnsignedNotMatching.java | 73 + tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/srcs/META-INF/MANIFEST.MF | 3 + tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java | 4 +- 36 files changed, 3089 insertions(+), 41 deletions(-) diffs (truncated from 3410 to 500 lines): diff -r 5909bfb3675f -r 36a76414e08a ChangeLog --- a/ChangeLog Tue Feb 11 09:20:36 2014 -0500 +++ b/ChangeLog Wed Feb 12 11:10:29 2014 +0100 @@ -1,3 +1,31 @@ +2014-02-12 Jiri Vanek + + Implemented Codebase manifest entry handling. + * netx/net/sourceforge/jnlp/JNLPFile.java: manifests names constants moved into + ManifestsAttributes inner class.(getCallerAllowableCodebase) (getApplicationLibraryAllowableCodebase) + (getCodebase) (getCodeBaseMatchersAttribute) (getCodeBaseMatchersAttribute) are + now returning (ClasspathMatcher.ClasspathMatchers). added boolean access to (isTrustedOnly) + (isTrustedLibrary). + * netx/net/sourceforge/jnlp/resources/Messages.properties: added (CBCheckFile) + (CBCheckNoEntry) (CBCheckUnsignedPass) (CBCheckUnsignedPass) (CBCheckOkSignedOk) + (CBCheckOkSignedOk) (CBCheckOkSignedOk) keys to inform about Classpath validation + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: in Init call new method + (checkCodebaseAttribute) which check the codebase manifest entry. + * netx/net/sourceforge/jnlp/util/ClasspathMatcher.java: New class, responsible + for matching Classpath like pattern with URL + * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: added tests to + cover all newly accessible attributes from JNLPFile.ManifestsAttributes + * tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java: mostly + corner and must-fullfill cases tests. + * tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java: (assertNoFileLeak) + have timeout before actual countings. JVM needs time to propagate cleanup. + * tests/reproducers/signed/CodeBaseManifestEntrySignedMatching/: + * tests/reproducers/signed/CodeBaseManifestEntrySignedNotMatching/: + * tests/reproducers/simple/CodeBaseManifestEntryUnsignedMatching/: + *tests/reproducers/simple/CodeBaseManifestEntryUnsignedNotMatching/: + New set of reproducers to test Codebases processing. All testcas are in + (CodeBaseManifestEntrySignedMatching) so they can share code. + 2014-02-11 Andrew Azores Partial revert of 7933143a1286, refactoring to move diff -r 5909bfb3675f -r 36a76414e08a netx/net/sourceforge/jnlp/JNLPFile.java --- a/netx/net/sourceforge/jnlp/JNLPFile.java Tue Feb 11 09:20:36 2014 -0500 +++ b/netx/net/sourceforge/jnlp/JNLPFile.java Wed Feb 12 11:10:29 2014 +0100 @@ -33,6 +33,7 @@ import net.sourceforge.jnlp.cache.UpdatePolicy; import net.sourceforge.jnlp.runtime.JNLPClassLoader; import net.sourceforge.jnlp.runtime.JNLPRuntime; +import net.sourceforge.jnlp.util.ClasspathMatcher; import net.sourceforge.jnlp.util.logging.OutputController; /** @@ -56,13 +57,7 @@ * @version $Revision: 1.21 $ */ public class JNLPFile { - - - public static final String APP_NAME = "Application-Name"; - public static final String CALLER_ALLOWABLE = "Caller-Allowable-Codebase"; - public static final String APP_LIBRARY_ALLOWABLE = "Application-Library-Allowable-Codebase"; - - + // todo: save the update policy, then if file was not updated // then do not check resources for being updated. @@ -876,10 +871,18 @@ } - public class ManifestsAttributes{ + public class ManifestsAttributes { + + public static final String APP_NAME = "Application-Name"; + public static final String CALLER_ALLOWABLE = "Caller-Allowable-Codebase"; + public static final String APP_LIBRARY_ALLOWABLE = "Application-Library-Allowable-Codebase"; + public static final String PERMISSIONS = "Permissions"; + public static final String CODEBASE = "Codebase"; + public static final String TRUSTED_ONLY = "Trusted-Only"; + public static final String TRUSTED_LIBRARY = "Trusted-Library"; private JNLPClassLoader loader; - - + + public void setLoader(JNLPClassLoader loader) { this.loader = loader; } @@ -912,34 +915,103 @@ /** * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#caller_allowable */ - public String getCallerAllowableCodebase(){ - return getAttribute(CALLER_ALLOWABLE); + public ClasspathMatcher.ClasspathMatchers getCallerAllowableCodebase() { + return getCodeBaseMatchersAttribute(CALLER_ALLOWABLE); } /** * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_library */ - public String getApplicationLibraryAllowableCodebase(){ - return getAttribute(APP_LIBRARY_ALLOWABLE); + public ClasspathMatcher.ClasspathMatchers getApplicationLibraryAllowableCodebase() { + return getCodeBaseMatchersAttribute(APP_LIBRARY_ALLOWABLE); } - + + /** + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase + */ + public ClasspathMatcher.ClasspathMatchers getCodebase() { + return getCodeBaseMatchersAttribute(CODEBASE); + } + + /** + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#trusted_only + */ + public Boolean isTrustedOnly() { + return processBooleanAttribute(TRUSTED_ONLY); + + } + + /** + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#trusted_library + */ + public Boolean isTrustedLibrary() { + return processBooleanAttribute(TRUSTED_LIBRARY); + + } + + /** + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#permissions + */ + public Boolean isSandboxForced() { + String s = getAttribute(PERMISSIONS); + if (s == null) { + return null; + } else if (s.trim().equalsIgnoreCase("sandbox")) { + return true; + } else if (s.trim().equalsIgnoreCase("all-permissions")) { + return false; + } else { + throw new IllegalArgumentException("Unknown value of " + PERMISSIONS + " attribute " + s + ". Expected sandbox or all-permissions"); + } + + + } + /** * get custom attribute. */ - public String getAttribute(String name){ + public String getAttribute(String name) { return getAttribute(new Attributes.Name(name)); } - + /** * get standard attribute */ - public String getAttribute(Attributes.Name name){ - if (loader == null) { - OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Jars not ready to provide attribute "+ name); - return null; + public String getAttribute(Attributes.Name name) { + if (loader == null) { + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Jars not ready to provide attribute " + name); + return null; } return loader.checkForAttributeInJars(Arrays.asList(getResources().getJARs()), name); } + + public ClasspathMatcher.ClasspathMatchers getCodeBaseMatchersAttribute(String s) { + return getCodeBaseMatchersAttribute(new Attributes.Name(s)); + } + + public ClasspathMatcher.ClasspathMatchers getCodeBaseMatchersAttribute(Attributes.Name name) { + String s = getAttribute(name); + if (s == null) { + return null; + } + return ClasspathMatcher.ClasspathMatchers.compile(s); + } + + private Boolean processBooleanAttribute(String id) throws IllegalArgumentException { + String s = getAttribute(id); + if (s == null) { + return null; + } else { + s = s.trim(); + if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("false")) { + //the Boolean is working like below, thats why the condition + //return ((name != null) && name.equalsIgnoreCase("true")); + return Boolean.parseBoolean(s); + } else { + throw new IllegalArgumentException("Unknown value of " + id + " attribute " + s + ". Expected true or false"); + } + } + } } - } + diff -r 5909bfb3675f -r 36a76414e08a netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Tue Feb 11 09:20:36 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 12 11:10:29 2014 +0100 @@ -569,6 +569,14 @@ SPLASHmissingInformation = Information element is missing, verify source rather SPLASHchainWas = This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet. +CBCheckFile = The application is a local file. Codebase validation is disabled. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckNoEntry = This application does not specify a Codebase in its manifest. Please verify with the applet's vendor. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckUnsignedPass = Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckUnsignedFail= The application's codebase does NOT match the codebase specified in its manifest, but the application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckOkSignedOk = Codebase matches codebase manifest attribute, and application is signed. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckSignedAppletDontMatchException = Signed applets are not allowed to run when their actual Codebase does not match the Codebase specified in their manifest. Expected: {0}. Actual: {1}. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. +CBCheckSignedFail = Application Codebase does NOT match the Codebase specified in the application's manifest, and this application is signed. You are strongly discouraged from running this application. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details. + APPEXTSECappletSecurityLevelExtraHighId=Disable running of all Java applets APPEXTSECappletSecurityLevelVeryHighId=Very High Security APPEXTSECappletSecurityLevelHighId=High Security diff -r 5909bfb3675f -r 36a76414e08a netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Tue Feb 11 09:20:36 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Feb 12 11:10:29 2014 +0100 @@ -88,6 +88,7 @@ import net.sourceforge.jnlp.security.appletextendedsecurity.AppletStartupSecuritySettings; import net.sourceforge.jnlp.security.appletextendedsecurity.UnsignedAppletTrustConfirmation; import net.sourceforge.jnlp.tools.JarCertVerifier; +import net.sourceforge.jnlp.util.ClasspathMatcher.ClasspathMatchers; import net.sourceforge.jnlp.util.JarFile; import net.sourceforge.jnlp.util.StreamUtils; import net.sourceforge.jnlp.util.logging.OutputController; @@ -274,6 +275,8 @@ setSecurity(); + checkCodebaseAttribute(); + installShutdownHooks(); @@ -299,15 +302,7 @@ private void setSecurity() throws LaunchException { - URL codebase = null; - - if (file.getCodeBase() != null) { - codebase = file.getCodeBase(); - } else { - //Fixme: codebase should be the codebase of the Main Jar not - //the location. Although, it still works in the current state. - codebase = file.getResources().getMainJAR().getLocation(); - } + URL codebase = guessCodeBase(); /** * When we're trying to load an applet, file.getSecurity() will return @@ -2278,6 +2273,51 @@ public String getMainClass() { return mainClass; } + + private URL guessCodeBase() { + if (file.getCodeBase() != null) { + return file.getCodeBase(); + } else { + //Fixme: codebase should be the codebase of the Main Jar not + //the location. Although, it still works in the current state. + return file.getResources().getMainJAR().getLocation(); + } + } + + /** + * http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase + */ + private void checkCodebaseAttribute() throws LaunchException { + if (file.getCodeBase() == null || file.getCodeBase().getProtocol().equals("file")) { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("CBCheckFile")); + return; + } + final Object securityType = security.getSecurityType(); + final URL codebase = guessCodeBase(); + final ClasspathMatchers codebaseAtt = file.getManifestsAttributes().getCodebase(); + if (codebaseAtt == null) { + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, Translator.R("CBCheckNoEntry")); + return; + } + if (securityType.equals(SecurityDesc.SANDBOX_PERMISSIONS)) { + if (codebaseAtt.matches(codebase)) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("CBCheckUnsignedPass")); + } else { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, Translator.R("CBCheckUnsignedFail")); + } + } else { + if (codebaseAtt.matches(codebase)) { + OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("CBCheckOkSignedOk")); + } else { + if (file instanceof PluginBridge) { + throw new LaunchException(Translator.R("CBCheckSignedAppletDontMatchException", file.getManifestsAttributes().getCodebase().toString(), codebase)); + } else { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, Translator.R("CBCheckSignedFail")); + } + } + } + + } /* * Helper class to expose protected URLClassLoader methods. diff -r 5909bfb3675f -r 36a76414e08a netx/net/sourceforge/jnlp/util/ClasspathMatcher.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netx/net/sourceforge/jnlp/util/ClasspathMatcher.java Wed Feb 12 11:10:29 2014 +0100 @@ -0,0 +1,375 @@ +// Copyright (C) 2013 Red Hat, Inc. +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License, or (at your option) any later version. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +package net.sourceforge.jnlp.util; + +import java.net.URL; +import java.util.ArrayList; +import java.util.regex.Pattern; + +public class ClasspathMatcher { + + public static class ClasspathMatchers { + + private final ArrayList matchers; + + ArrayList getMatchers() { + return matchers; + } + + /** + * space separated list of ClasspathMatcher source strings + * + * @param s + * @return + */ + public static ClasspathMatchers compile(String s) { + if (s == null) { + return new ClasspathMatchers(new ArrayList(0)); + } + String[] splitted = s.trim().split("\\s+"); + ArrayList matchers = new ArrayList(splitted.length); + for (String string : splitted) { + matchers.add(ClasspathMatcher.compile(string.trim())); + } + + return new ClasspathMatchers(matchers); + } + + public ClasspathMatchers(ArrayList matchers) { + this.matchers = matchers; + } + + public boolean matches(URL s) { + return or(s); + } + + private boolean or(URL s) { + for (ClasspathMatcher classpathMatcher : matchers) { + if (classpathMatcher.match(s)) { + return true; + } + } + return false; + } + + private boolean and(URL s) { + for (ClasspathMatcher classpathMatcher : matchers) { + if (!classpathMatcher.match(s)) { + return false; + } + } + return true; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + for (ClasspathMatcher classpathMatcher : matchers) { + sb.append(classpathMatcher.toString()).append(" "); + } + return sb.toString(); + } + } + public static final String PROTOCOL_DELIMITER = "://"; + public static final String PATH_DELIMITER = "/"; + public static final String PORT_DELIMITER = ":"; + private final String source; + private Parts parts; + + static class Parts { + + String protocol; + String domain; + String port; + String path; + Pattern protocolRegEx; + Pattern domainRegEx; + Pattern portRegEx; + Pattern pathRegEx; + + @Override + public String toString() { + return protocol + PROTOCOL_DELIMITER + domain + PORT_DELIMITER + port + PATH_DELIMITER + path; + } + + public void compilePartsToPatterns() { + protocolRegEx = ClasspathMatcher.sourceToRegEx(protocol); + //the http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#codebase + //clearly says: *.example.com matches both + //https://example.com, http://example.com + //it sounds like bug, but well, who am I... + domainRegEx = domainToRegEx(domain); + portRegEx = ClasspathMatcher.sourceToRegEx(port); + pathRegEx = ClasspathMatcher.sourceToRegEx(path); + } + + private boolean matchDomain(String source) { + return generalMatch(source, domainRegEx); + } + + private boolean matchProtocol(String source) { + return generalMatch(source, protocolRegEx); + } + + private boolean matchPath(String source) { + if (source.startsWith(PATH_DELIMITER)) { + source = source.substring(1); + } + return generalMatch(source, pathRegEx); + } + + private boolean matchPort(int port) { + return generalMatch(Integer.toString(port), portRegEx); + } + + private static boolean generalMatch(String input, Pattern pattern) { + return pattern.matcher(input).matches(); + } + + private static Pattern domainToRegEx(String domain) { + // I have conisdered the "dot" as bug i specification + // while (domain.startsWith("*.")) { + // domain = "*" + domain.substring(2); + //} + return ClasspathMatcher.sourceToRegEx(domain); + } + } + + /** + * http://www.w3.org/Addressing/URL/url-spec.txt + */ + private ClasspathMatcher(String source) { + this.source = source; + } + + Parts getParts() { + return parts; + } + + @Override + public String toString() { + return source; + } + + public static ClasspathMatcher compile(String source) { + ClasspathMatcher r = new ClasspathMatcher(source); + r.parts = splitToParts(source); + r.parts.compilePartsToPatterns(); + return r; + } + + public boolean match(URL url) { + //path is not counted in specification + return matchWithoutPath(url); + } + + private boolean match(URL url, boolean includePath) { + String protocol = url.getProtocol(); + int port = url.getPort(); //negative if not set + String domain = url.getHost(); + String path = url.getPath(); + boolean always = parts.matchPort(port) + && parts.matchProtocol(protocol) + && parts.matchDomain(domain); + + if (includePath) { + return always && parts.matchPath(path); + } else { From jvanek at redhat.com Wed Feb 12 02:16:06 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 12 Feb 2014 11:16:06 +0100 Subject: [rfc][icedtea-web] u51 classpath manifest entry implementation In-Reply-To: <52F52AC4.5010206@gmx.de> References: <52F27F34.1010007@redhat.com> <52F2A65B.5060305@redhat.com> <52F3BF58.7050607@redhat.com> <52F4FA3C.9000503@redhat.com> <52F52AC4.5010206@gmx.de> Message-ID: <52FB49E6.3050105@redhat.com> On 02/07/2014 07:49 PM, Jacob Wisor wrote: > On 02/07/2014 04:22 PM, Andrew Azores wrote: >> On 02/06/2014 11:59 AM, Jiri Vanek wrote: >>> >>>> >>>>> +CBCheckUnsignedFail= Codebase DO NOT matches codebase manifest attribute, >>>>> but application is >>>>> unsigned. Continuing >>>> >>>> The application's codebase does NOT match the codebase specified in its >>>> manifest, but the >>>> application is unsigned. Continuing >>>> >>> >>> followed >> >> This one didn't get changed. Otherwise, I think this is okay to push now. fied (Ihope) >> >> Do you have any plans for making this validation information more visible? I >> don't think most people are even going to notice the log messages. > Pushed > > I do not want to sound too grim here but probably most users will not understand what this messages It not. I value your "human" point of view. I just mostly dont know what to do with it:( > is all about. Even many admins do not know what a jar or application manifest is. :-\ Perhaps you > should consider rewording this message towards what the effects of non-matching codebases are than > just stating a plain fact. Hm hm.... My verbose skill is probably to low ;( I heve added url to redeploy warnning Oracle's pages. > > Sometimes I can not escape the impression that developers and JCP committees are throwing new > features and quick dirty fixes at users just to extend the life span of products with broken > concepts. They just patch technical details instead of really solving problems. But hey, who am I to > complain. ;) All I am asking of you is to please think instead of to blindly follow a "reference > implementation". > Yes, I see your point and I agree. However - what can we do? To replace current security implementation of JDK will take *decades* especially considering the backward comatinbility :( J. From ptisnovs at icedtea.classpath.org Wed Feb 12 04:21:14 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 12 Feb 2014 12:21:14 +0000 Subject: /hg/gfx-test: Six new tests added into CAGOperationsOnChordAndRe... Message-ID: changeset 4a15144c8469 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=4a15144c8469 author: Pavel Tisnovsky date: Wed Feb 12 13:25:26 2014 +0100 Six new tests added into CAGOperationsOnChordAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 140 +++++++++- 2 files changed, 144 insertions(+), 1 deletions(-) diffs (169 lines): diff -r 60562be5f5b5 -r 4a15144c8469 ChangeLog --- a/ChangeLog Tue Feb 11 10:15:30 2014 +0100 +++ b/ChangeLog Wed Feb 12 13:25:26 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-12 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Six new tests added into CAGOperationsOnChordAndRectangle test suite. + 2014-02-11 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java: diff -r 60562be5f5b5 -r 4a15144c8469 src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Tue Feb 11 10:15:30 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Wed Feb 12 13:25:26 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. @@ -743,6 +743,144 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using intersect 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 testBigChordRectangleIntersectHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set horizontal gradient fill + CommonRenderingStyles.setHorizontalGradientFill(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 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 testBigChordRectangleXorHorizontalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set horizontal gradient fill + CommonRenderingStyles.setHorizontalGradientFill(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 vertical 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 testBigChordRectangleUnionVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(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 vertical 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 testBigChordRectangleSubtractVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(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 vertical 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 testBigChordRectangleInverseSubtractVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(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 vertical 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 testBigChordRectangleIntersectVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(image, graphics2d); + // create area using intersect operator + Area area = CommonCAGOperations.createAreaFromBiggerChordAndRectangleUsingIntersectOperator(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 Feb 12 04:24:07 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 12 Feb 2014 12:24:07 +0000 Subject: /hg/rhino-tests: Added new test cases into CompiledScriptClassTest. Message-ID: changeset c7dba60bc06d in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=c7dba60bc06d author: Pavel Tisnovsky date: Wed Feb 12 13:28:22 2014 +0100 Added new test cases into CompiledScriptClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/CompiledScriptClassTest.java | 256 ++++++++++++++++++++++++ 2 files changed, 261 insertions(+), 0 deletions(-) diffs (285 lines): diff -r b5b48eaafbb8 -r c7dba60bc06d ChangeLog --- a/ChangeLog Tue Feb 11 10:08:43 2014 +0100 +++ b/ChangeLog Wed Feb 12 13:28:22 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-12 Pavel Tisnovsky + + * src/org/RhinoTests/CompiledScriptClassTest.java: + Added new test cases into CompiledScriptClassTest. + 2014-02-11 Pavel Tisnovsky * src/org/RhinoTests/CompilableClassTest.java: diff -r b5b48eaafbb8 -r c7dba60bc06d src/org/RhinoTests/CompiledScriptClassTest.java --- a/src/org/RhinoTests/CompiledScriptClassTest.java Tue Feb 11 10:08:43 2014 +0100 +++ b/src/org/RhinoTests/CompiledScriptClassTest.java Wed Feb 12 13:28:22 2014 +0100 @@ -1317,6 +1317,54 @@ } try { + this.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1341,6 +1389,214 @@ } try { + this.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From jvanek at icedtea.classpath.org Wed Feb 12 04:52:23 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 12 Feb 2014 12:52:23 +0000 Subject: /hg/icedtea-web: Updated NEWS Message-ID: changeset 8a12faa4525d in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8a12faa4525d author: Jiri Vanek date: Wed Feb 12 13:52:13 2014 +0100 Updated NEWS diffstat: NEWS | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 36a76414e08a -r 8a12faa4525d NEWS --- a/NEWS Wed Feb 12 11:10:29 2014 +0100 +++ b/NEWS Wed Feb 12 13:52:13 2014 +0100 @@ -14,7 +14,7 @@ * IcedTea-Web is now following XDG .config and .cache specification(RH947647) * A console for debugging plugin and javaws * Dialogs center on screen before becoming visible -* Support for u45 new manifest attributes (Application-Name) +* Support for u45 and u51 new manifest attributes (Application-Name, Codebase) * Custom applet permission policies panel in itweb-settings control panel * Cache Viewer - Can be closed by ESC key From jvanek at redhat.com Wed Feb 12 07:30:44 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 12 Feb 2014 16:30:44 +0100 Subject: [rfc][icedtea-web] fixing the not downlaoded href in jnlpfile Message-ID: <52FB93A4.4000100@redhat.com> the hreffed jnlp file was not used if its caller was remote file. This patch should fix it. J. please note the changed reproducer. The change is exactly coresponding with I changed in Luncher. So I hope it is correct. The living reproducer can be the https://java.net/downloads/electric/electric.jnlp from yesterdays Fatal: Read Error: Could not read or parse the JNLP file thread -------------- next part -------------- A non-text attachment was scrubbed... Name: fixForRemoteHref.patch Type: text/x-patch Size: 2059 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140212/43ff090f/fixForRemoteHref-0001.patch From aazores at redhat.com Wed Feb 12 09:23:13 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 12 Feb 2014 12:23:13 -0500 Subject: [rfc][icedtea-web] PolicyEditor Message-ID: <52FBAE01.7080202@redhat.com> Hi all, Attached is a patch introducing a new, simplified Policy Editor. This is to go along with the PolicyPanel patch from a while back. It provides a much simpler interface for editing user-level policy files, and also doesn't do anything evil like calling System.exit() as the existing PolicyTool does. Functionality-wise, the PolicyEditor class-level Javadoc explains some of the less obvious details. Everything should hopefully be straight forward and intuitive, though. I'm definitely open to suggestions on the visuals and layout, etc. ChangeLog: Adding PolicyEditor * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added button for PolicyEditor (Simple Editor), changed button labels to Simple Editor and Advanced Editor (policytool). (OpenFileResult, testDirectoryPermssions, testFilePermissions, showReadOnlyDialog, showCouldNotOpenFileDialog) moved into FileUtils * netx/net/sourceforge/jnlp/resources/Messages.properties: added messages for PolicyEditor * netx/net/sourceforge/jnlp/util/FileUtils.java: (OpenFileResult, testDirectoryPermssions, testFilePermissions, showReadOnlyDialog, showCouldNotOpenFileDialog) moved out of PolicyPanel * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: new class. Editor for policy files * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java: new enum. Models for PolicyEditor permissions * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java: new tests * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: new tests Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policy-editor.patch Type: text/x-patch Size: 72785 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140212/880c8009/policy-editor-0001.patch From jvanek at redhat.com Wed Feb 12 10:31:06 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 12 Feb 2014 19:31:06 +0100 Subject: [rfc][icedtea-web] allow following of redirected urls Message-ID: <52FBBDEA.4040808@redhat.com> Here we go! as in subject, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: allowRedirect.patch Type: text/x-patch Size: 10485 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140212/c72e04fb/allowRedirect.patch From ptisnovs at icedtea.classpath.org Thu Feb 13 00:29:01 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 13 Feb 2014 08:29:01 +0000 Subject: /hg/gfx-test: Added new tests. Message-ID: changeset 2caa5270e52f in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=2caa5270e52f author: Pavel Tisnovsky date: Thu Feb 13 09:33:16 2014 +0100 Added new tests. diffstat: ChangeLog | 6 + src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java | 2 +- src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java | 92 ++++++++++ 3 files changed, 99 insertions(+), 1 deletions(-) diffs (127 lines): diff -r 4a15144c8469 -r 2caa5270e52f ChangeLog --- a/ChangeLog Wed Feb 12 13:25:26 2014 +0100 +++ b/ChangeLog Thu Feb 13 09:33:16 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-13 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java: + * src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java: + Added new tests. + 2014-02-12 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: diff -r 4a15144c8469 -r 2caa5270e52f src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java Wed Feb 12 13:25:26 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java Thu Feb 13 09:33:16 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. diff -r 4a15144c8469 -r 2caa5270e52f src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Wed Feb 12 13:25:26 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnPieAndRectangle.java Thu Feb 13 09:33:16 2014 +0100 @@ -582,6 +582,98 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from pie and rectangle using intersect operator. The shape is + * rendered using radial gradient 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 testBigPieRectangleIntersectRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, 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 radial gradient 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 testBigPieRectangleSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, 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 radial gradient 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 testBigPieRectangleInverseSubtractRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, 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 radial gradient 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 testBigPieRectangleXorRadialGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set radial gradient fill + CommonRenderingStyles.setRadialGradientFill(image, graphics2d); + // create area using XOR operator + Area area = CommonCAGOperations.createAreaFromBiggerPieAndRectangleUsingXorOperator(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 Feb 13 00:31:56 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 13 Feb 2014 08:31:56 +0000 Subject: /hg/rhino-tests: Added new test cases into InvocableClassTest. Message-ID: changeset 087d4f0b3133 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=087d4f0b3133 author: Pavel Tisnovsky date: Thu Feb 13 09:35:58 2014 +0100 Added new test cases into InvocableClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/InvocableClassTest.java | 256 +++++++++++++++++++++++++++++ 2 files changed, 261 insertions(+), 0 deletions(-) diffs (285 lines): diff -r c7dba60bc06d -r 087d4f0b3133 ChangeLog --- a/ChangeLog Wed Feb 12 13:28:22 2014 +0100 +++ b/ChangeLog Thu Feb 13 09:35:58 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-13 Pavel Tisnovsky + + * src/org/RhinoTests/InvocableClassTest.java: + Added new test cases into InvocableClassTest. + 2014-02-12 Pavel Tisnovsky * src/org/RhinoTests/CompiledScriptClassTest.java: diff -r c7dba60bc06d -r 087d4f0b3133 src/org/RhinoTests/InvocableClassTest.java --- a/src/org/RhinoTests/InvocableClassTest.java Wed Feb 12 13:28:22 2014 +0100 +++ b/src/org/RhinoTests/InvocableClassTest.java Thu Feb 13 09:35:58 2014 +0100 @@ -1172,6 +1172,54 @@ } try { + this.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.asSubclass(java.awt.Color.class); throw new AssertionError("Class.asSubclass(java.awt.Color.class) does not throw any exception"); } @@ -1196,6 +1244,214 @@ } try { + this.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.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.invocableClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } From jvanek at redhat.com Thu Feb 13 02:19:28 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 11:19:28 +0100 Subject: [fyi][icedtea-web] newest xullrunner 27000000 break build Message-ID: <52FC9C30.8000309@redhat.com> checking for xulrunner version... 27000000 break ITW with .......... In file included from /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, from /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static member function ?static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, NPVariant*)?: /usr/include/xulrunner-27.0/npruntime.h:140:30: error: ?nullptr? was not declared in this scope (_v).value.objectValue = nullptr; \ ^ /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: note: in expansion of macro ?VOID_TO_NPVARIANT? VOID_TO_NPVARIANT(*result); ............ J. From jvanek at redhat.com Thu Feb 13 03:32:20 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 12:32:20 +0100 Subject: [rfc][icedtea-web] allow following of redirected urls In-Reply-To: <52FBBDEA.4040808@redhat.com> References: <52FBBDEA.4040808@redhat.com> Message-ID: <52FCAD44.7040006@redhat.com> On 02/12/2014 07:31 PM, Jiri Vanek wrote: > Here we go! > as in subject, > > J. Ugh. THe previous version was not honoring head requests. Fixed. -------------- next part -------------- A non-text attachment was scrubbed... Name: allowRedirect2.patch Type: text/x-patch Size: 9695 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140213/548f84ae/allowRedirect2-0001.patch From jvanek at redhat.com Thu Feb 13 03:33:35 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 12:33:35 +0100 Subject: [rfc][icedtea-web] get rid of ConcurrentModificationException in console Message-ID: <52FCAD8F.8000701@redhat.com> Sometimes the console throw an ConcurrentModificationException on line 238 in preSort. This was cuased, becasue sync wos done on *copy* of original list, so original list was not locked. This is fixing it. J. -------------- next part -------------- A non-text attachment was scrubbed... Name: getRidOfConcurrentModificationException.patch Type: text/x-patch Size: 1057 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140213/d3a7405b/getRidOfConcurrentModificationException.patch From jvanek at redhat.com Thu Feb 13 03:44:42 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 12:44:42 +0100 Subject: [rfc][icedtea-web] allow following of redirected urls In-Reply-To: <52FCAD44.7040006@redhat.com> References: <52FBBDEA.4040808@redhat.com> <52FCAD44.7040006@redhat.com> Message-ID: <52FCB02A.6070306@redhat.com> On 02/13/2014 12:32 PM, Jiri Vanek wrote: > On 02/12/2014 07:31 PM, Jiri Vanek wrote: >> Here we go! >> as in subject, >> >> J. > Ugh. THe previous version was not honoring head requests. Fixed. Onemore update. A bit improved messages. -------------- next part -------------- A non-text attachment was scrubbed... Name: allowRedirect3.patch Type: text/x-patch Size: 9723 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140213/ab2e2801/allowRedirect3.patch From jvanek at redhat.com Thu Feb 13 05:44:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 14:44:23 +0100 Subject: [rfc][icedtea-web] PolicyEditor In-Reply-To: <52FBAE01.7080202@redhat.com> References: <52FBAE01.7080202@redhat.com> Message-ID: <52FCCC37.1010603@redhat.com> On 02/12/2014 06:23 PM, Andrew Azores wrote: > Hi all, > > Attached is a patch introducing a new, simplified Policy Editor. This is to go along with the > PolicyPanel patch from a while back. It provides a much simpler interface for editing user-level > policy files, and also doesn't do anything evil like calling System.exit() as the existing > PolicyTool does. > > Functionality-wise, the PolicyEditor class-level Javadoc explains some of the less obvious details. > Everything should hopefully be straight forward and intuitive, though. I'm definitely open to > suggestions on the visuals and layout, etc. > > ChangeLog: > Adding PolicyEditor > * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: added button > for PolicyEditor (Simple Editor), changed button labels to Simple Editor > and Advanced Editor (policytool). (OpenFileResult, > testDirectoryPermssions, testFilePermissions, showReadOnlyDialog, > showCouldNotOpenFileDialog) moved into FileUtils > * netx/net/sourceforge/jnlp/resources/Messages.properties: added messages > for PolicyEditor > * netx/net/sourceforge/jnlp/util/FileUtils.java: (OpenFileResult, > testDirectoryPermssions, testFilePermissions, showReadOnlyDialog, > showCouldNotOpenFileDialog) moved out of PolicyPanel > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: new > class. Editor for policy files > * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java: > new enum. Models for PolicyEditor permissions > * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java: > new tests > * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: > new tests > > Thanks, > Hi! I have no general issues with this.Considering it was done n best mind;) After reading it, I'm against making it separate project. I would much ratehr keep it in itew.. and suggestion .. add new luncher? next to itw-settings javaws.. SimplePolicyEditor? This is ok to head, so you cna continue in run in sandbox more promptly. J. few notes: permission java.io.FilePermission "${user.home}${/}*", "read"; permission java.io.FilePermission "${user.home}${/}*", "write"; permission java.io.FilePermission "*", "read"; permission java.io.FilePermission "${io.tmpdir}${/}*", "read"; permission java.io.FilePermission "${io.tmpdir}${/}*", "write"; are granted by checkboxes which do not fully descibee them (imho) Maybew tooltip should be enough.... From jvanek at redhat.com Thu Feb 13 06:50:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 15:50:16 +0100 Subject: [rfc][icedtea-web] Signed applets with codebase loading In-Reply-To: <52EBCC67.5050409@redhat.com> References: <52EBCC67.5050409@redhat.com> Message-ID: <52FCDBA8.2020208@redhat.com> Hi! Changes to classlaoder looks ok, but test do not work: Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - chromium-browser - WARNING This test is known to fail, but have passed! Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - opera - WARNING This test is known to fail, but have passed! Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - midori - WARNING This test is known to fail, but have passed! Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - epiphany - WARNING This test is known to fail, but have passed! FAILED: testSignedAppletWithExternalMainClassLaunch - chromium-browser(SignedAppletExternalMainClassTest) applet did not initialize - This test is known to fail FAILED: testSignedAppletWithExternalMainClassLaunch - opera(SignedAppletExternalMainClassTest) applet did not initialize - This test is known to fail FAILED: testSignedAppletWithExternalMainClassLaunch - midori(SignedAppletExternalMainClassTest) applet did not initialize - This test is known to fail FAILED: testSignedAppletWithExternalMainClassLaunch - epiphany(SignedAppletExternalMainClassTest) applet did not initialize - This test is known to fail Total tests run: 8; From those : 8 known to fail Test known to fail: passed: 4; failed: 4; ignored: 0 Test results: passed: 4; failed: 4; ignored: 0 why??? (after removal of exception) After reading description, whole thread,and code, the second four should also pass.... minor note: > + private static void assertNoExceptions(ProcessResult pr) { > + assertFalse(pr.stdout.contains("xception")); > + assertFalse(pr.stderr.contains("xception")); > + } Please , don't do this. I spent large amount of time in removal of all those. nor do assertTrue(pr.stderr.contains("xception"));. Unless you are searching for appearence/notappearence of some ExactException. What about applet, which have few jars signed vith valid signature, and some vith invalid??? Isn't it also partially signed one? The example is recently discovered reproducer for redirection - https://java.net/projects/electric/downloads/download/electric.jnlp Well it is jnlp app, but in this case it sounds to me like valid.... What do you think? On 01/31/2014 05:16 PM, Andrew Azores wrote: > 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 > > > signed_applet_codebase_loading_classloader.patch > > > 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 > @@ -752,8 +752,8 @@ > > // 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; > + if (!jcv.allJarsSigned()) { > + checkPartialSigningWithUser(); > } > > // If main jar was found, but a signed JNLP file was not located > @@ -832,11 +832,7 @@ > } > > if (containsSignedJar && containsUnsignedJar) { > - signing = SigningState.PARTIAL; > - } > - > - if (signing == SigningState.PARTIAL && JNLPRuntime.isVerifying()) { > - checkNotAllSignedWithUser(file); > + checkPartialSigningWithUser(); > } > > activateJars(initialJars); > @@ -1135,11 +1131,11 @@ > } > > /** > - * Prompt the user to proceed on applets with mixed signing. > + * Display a dialog prompting the user to proceed on applets with mixed signing. > * @param file the JNLPFile or PluginBridge describing the applet/application to be launched > * @throws LaunchException if the user does not approve the prompt > */ > - private void checkNotAllSignedWithUser(JNLPFile file) throws LaunchException { > + private void showNotAllSignedDialog(JNLPFile file) throws LaunchException { > if (JNLPRuntime.isTrustAll()) { > return; > } > @@ -1972,6 +1968,29 @@ > return signing == SigningState.FULL; > } > > + /** > + * Call this when it's suspected that an applet's permission level may have > + * just changed from Full Signing to Partial Signing. > + * This will display a one-time prompt asking the user to confirm running > + * the partially signed applet. > + * Partially Signed applets always start off as appearing to be Fully > + * Signed, and then during the initialization or loading process, we find > + * that we actually need to demote the applet to Partial, either due to > + * finding that not all of its JARs are actually signed, or because it > + * needs to load something unsigned out of the codebase. > + */ > + private void checkPartialSigningWithUser() { > + if (signing == SigningState.FULL && JNLPRuntime.isVerifying()) { > + signing = SigningState.PARTIAL; > + try { > + showNotAllSignedDialog(this.file); > + } catch (LaunchException e) { > + throw new RuntimeException("The signed applet required loading of unsigned code from the codebase, " > + + "which the user refused", e); > + } > + } > + } > + > protected SecurityDesc getSecurity() { > return security; > } > @@ -2301,8 +2320,16 @@ > > /* > * Helper class to expose protected URLClassLoader methods. > + * Classes loaded from the codebase are absolutely NOT signed, by definition! > + * If the CodeBaseClassLoader is used to load any classes in JNLPClassLoader, > + * then you*MUST* check if the JNLPClassLoader is set to FULL signing. If so, > + * then it must be set instead to PARTIAL, and the user prompted if it is okay > + * to proceed. If the JNLPClassLoader is already PARTIAL or NONE signing, then > + * nothing must be done. This is required so that we can support partial signing > + * of applets but also ensure that using codebase loading in conjunction with > + * signed JARs still results in the user having to confirm that this is > + * acceptable. > */ > - > public static class CodeBaseClassLoader extends URLClassLoader { > > JNLPClassLoader parentJNLPClassLoader; > @@ -2322,17 +2349,21 @@ > super.addURL(url); > } > > - Class findClassNonRecursive(String name) throws ClassNotFoundException { > + /* > + * Use with care! Check the class-level Javadoc before calling this. > + */ > + Class findClassNonRecursive(final String name) throws ClassNotFoundException { > // If we have searched this path before, don't try again > if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) > throw new ClassNotFoundException(name); > > try { > - final String fName = name; > return AccessController.doPrivileged( > new PrivilegedExceptionAction>() { > public Class run() throws ClassNotFoundException { > - return CodeBaseClassLoader.super.findClass(fName); > + Class c = CodeBaseClassLoader.super.findClass(name); > + parentJNLPClassLoader.checkPartialSigningWithUser(); > + return c; > } > }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); > } catch (PrivilegedActionException pae) { > @@ -2344,10 +2375,15 @@ > } > } > > + /* > + * Use with care! Check the class-level Javadoc before calling this. > + */ > @Override > public Class findClass(String name) throws ClassNotFoundException { > // Calls JNLPClassLoader#findClass which may call into this.findClassNonRecursive > - return getParentJNLPClassLoader().findClass(name); > + Class c = getParentJNLPClassLoader().findClass(name); > + parentJNLPClassLoader.checkPartialSigningWithUser(); > + return c; > } > > /** > > > signed_applet_codebase_loading_tests.patch > > > diff --git a/tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html b/tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html > @@ -0,0 +1,52 @@ > + > + > + > + > + + archive="SignedAppletCodebaseLoading.jar" > + codebase="." > + width="640" > + height="480"> > + > + > + > + > diff --git a/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile > @@ -0,0 +1,33 @@ > +TESTNAME=SignedAppletCodebaseLoading > + > +SRC_FILES=SignedAppletCodebaseLoading.java SignedAppletCodebaseLoadingHelper.java > + > +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 SignedAppletCodebaseLoading.jar signed.SignedAppletCodebaseLoading signed; \ > + cd -; \ > + > + $(JARSIGNER_CMD) -sigfile Alpha $(TMPDIR)/SignedAppletCodebaseLoading.jar $(TEST_CERT_ALIAS)_signed; \ > + > + cp $(TMPDIR)/SignedAppletCodebaseLoading.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ > + cp -r $(TMPDIR)/helper $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ > + > + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \ > + rm -rf $(TMPDIR); \ > + > +clean-reproducer: > + echo NOTHING TO CLEAN FOR $(TESTNAME) > diff --git a/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java > @@ -0,0 +1,50 @@ > +/* SignedAppletCodebaseLoading.java > +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 signed; > +import helper.SignedAppletCodebaseLoadingHelper; > +import java.applet.Applet; > + > +public class SignedAppletCodebaseLoading extends Applet { > + > + @Override > + public void start() { > + System.out.println(SignedAppletCodebaseLoadingHelper.getMessage()); > + System.out.println("*** APPLET FINISHED ***"); > + } > + > +} > diff --git a/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java > @@ -0,0 +1,47 @@ > +/* SignedAppletCodebaseLoadingHelper.java > +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 helper; > +import signed.SignedAppletCodebaseLoading; > + > +public class SignedAppletCodebaseLoadingHelper { > + > + public static String getMessage() { > + return "SignedAppletCodebaseLoading Applet Running"; > + } > + > +} > diff --git a/tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java b/tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java > @@ -0,0 +1,89 @@ > +/* SignedAppletCodebaseLoadingTests.java > +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. > + */ > + > +import java.io.File; > +import java.io.FileInputStream; > + > +import net.sourceforge.jnlp.ProcessResult; > +import net.sourceforge.jnlp.ServerAccess; > +import net.sourceforge.jnlp.ServerAccess.AutoClose; > +import net.sourceforge.jnlp.annotations.Bug; > +import net.sourceforge.jnlp.annotations.KnownToFail; > +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; > +import static org.junit.Assert.assertTrue; > +import static org.junit.Assert.assertFalse; > + > +/* see also signed/SignedAppletExternalMainClass which is related */ > +public class SignedAppletCodebaseLoadingTests extends BrowserTest { > + > + private static final String RUNNING_STRING = "SignedAppletCodebaseLoading Applet Running"; > + private static final String CLOSE_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; > + > + @KnownToFail > + @Bug(id="PR1513") > + @NeedsDisplay > + @Test > + @TestInBrowsers(testIn={Browsers.one}) > + public void testCodebaseLoading() throws Exception { > + assertTrue("NotAllSigned dialog will appear if this test runs. Remove this exception and KnownToFail " > + + "when a proper replacement is in place", false); > + ProcessResult pr = server.executeBrowser("SignedAppletCodebaseLoading.html", AutoClose.CLOSE_ON_CORRECT_END); > + assertProperStart(pr); > + assertCloseString(pr); > + assertNoExceptions(pr); > + } > + > + private static void assertProperStart(ProcessResult pr) { > + assertTrue("applet did not initialize", pr.stdout.contains(RUNNING_STRING)); > + } > + > + private static void assertCloseString(ProcessResult pr) { > + assertTrue("applet should have closed normally", pr.stdout.contains(CLOSE_STRING)); > + } > + > + private static void assertNoExceptions(ProcessResult pr) { > + assertFalse(pr.stdout.contains("xception")); > + assertFalse(pr.stderr.contains("xception")); > + } > + > +} > diff --git a/tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html b/tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html > @@ -0,0 +1,49 @@ > + > + > + > + > + > + + archive="SignedAppletExternalMainClassHelper.jar" > + codebase="." > + width="800" > + height="600"> > + > + > + > diff --git a/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile > @@ -0,0 +1,27 @@ > +TESTNAME=SignedAppletExternalMainClass > + > +JARSIGNER=$(BOOT_DIR)/bin/jarsigner > +JAVAC=$(BOOT_DIR)/bin/javac > +JAR=$(BOOT_DIR)/bin/jar > + > +TMPDIR:=$(shell mktemp -d) > + > +prepare-reproducer: > + echo PREPARING REPRODUCER $(TESTNAME) in $(TMPDIR) > + > + $(JAVAC) -d $(TMPDIR) $(TESTNAME).java $(TESTNAME)Helper.java > + > + cd $(TMPDIR) ; \ > + $(JAR) cvf $(TESTNAME)Helper.jar $(TESTNAME)Helper.class ; \ > + $(BOOT_DIR)/bin/jarsigner -keystore $(TOP_BUILD_DIR)/$(PRIVATE_KEYSTORE_NAME) -storepass $(PRIVATE_KEYSTORE_PASS) \ > + -keypass $(PRIVATE_KEYSTORE_PASS) "$(TMPDIR)/$(TESTNAME)Helper.jar" $(TEST_CERT_ALIAS)_signed ; \ > + > + cd $(TMPDIR); \ > + mv $(TESTNAME).class $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ; \ > + mv $(TESTNAME)Helper.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) ; > + > + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR) > + rm -rf $(TMPDIR) > + > +clean-reproducer: > + echo NOTHING TO CLEAN FOR $(TESTNAME) > diff --git a/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java > @@ -0,0 +1,49 @@ > +/* SignedAppletExternalMainClass.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. > + */ > + > +import java.applet.Applet; > + > +public class SignedAppletExternalMainClass extends Applet { > + > + private static final String appletCloseString = "*** APPLET FINISHED ***"; > + > + @Override > + public void init() { > + System.out.println(SignedAppletExternalMainClassHelper.help()); > + System.out.println(appletCloseString); > + } > +} > diff --git a/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java > @@ -0,0 +1,42 @@ > +/* SignedAppletExternalMainClassHelper.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. > + */ > + > +public class SignedAppletExternalMainClassHelper { > + public static String help() { > + return "SignedAppletExternalMainClass Applet Running"; > + } > +} > diff --git a/tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java b/tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java > @@ -0,0 +1,84 @@ > +/* SignedAppletExternalMainClassTest.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. > + */ > + > +import net.sourceforge.jnlp.ProcessResult; > +import net.sourceforge.jnlp.ServerAccess.AutoClose; > +import net.sourceforge.jnlp.annotations.Bug; > +import net.sourceforge.jnlp.annotations.KnownToFail; > +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; > +import static org.junit.Assert.assertTrue; > +import static org.junit.Assert.assertFalse; > + > +/* see also signed/SignedAppletCodebaseLoading which is related */ > +public class SignedAppletExternalMainClassTest extends BrowserTest { > + > + private static final String RUNNING_STRING = "SignedAppletExternalMainClass Applet Running"; > + private static final String CLOSE_STRING = AutoOkClosingListener.MAGICAL_OK_CLOSING_STRING; > + > + @KnownToFail > + @Bug(id="PR1513") > + @NeedsDisplay > + @Test > + @TestInBrowsers(testIn={Browsers.one}) > + public void testSignedAppletWithExternalMainClassLaunch() throws Exception { > + assertTrue("NotAllSigned dialog will appear if this test runs. Remove this exception and KnownToFail " > + + "when a proper replacement is in place", false); > + ProcessResult pr = server.executeBrowser("SignedAppletExternalMainClass.html", AutoClose.CLOSE_ON_CORRECT_END); > + assertProperStart(pr); > + assertCloseString(pr); > + assertNoExceptions(pr); > + } > + > + private static void assertProperStart(ProcessResult pr) { > + assertTrue("applet did not initialize", pr.stdout.contains(RUNNING_STRING)); > + } > + > + private static void assertCloseString(ProcessResult pr) { > + assertTrue("applet should have closed normally", pr.stdout.contains(CLOSE_STRING)); > + } > + > + private static void assertNoExceptions(ProcessResult pr) { > + assertFalse(pr.stdout.contains("xception")); > + assertFalse(pr.stderr.contains("xception")); > + } > +} > From jvanek at redhat.com Thu Feb 13 07:16:18 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 13 Feb 2014 16:16:18 +0100 Subject: [fyi][icedtea-web] newest xullrunner 27000000 break build In-Reply-To: <52FC9C30.8000309@redhat.com> References: <52FC9C30.8000309@redhat.com> Message-ID: <52FCE1C2.6080102@redhat.com> On 02/13/2014 11:19 AM, Jiri Vanek wrote: > checking for xulrunner version... 27000000 > break ITW with > > .......... > In file included from > /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, > from > /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: > /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static > member function ?static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, > NPVariant*)?: > /usr/include/xulrunner-27.0/npruntime.h:140:30: error: ?nullptr? was not declared in this scope > (_v).value.objectValue = nullptr; \ > ^ > /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: > note: in expansion of macro ?VOID_TO_NPVARIANT? > VOID_TO_NPVARIANT(*result); > ............ > > J. http://osdir.com/ml/blfs-support/2014-02/msg00005.html SOunds like we have to add configure switch to xullrunner back -... :-/ From aazores at redhat.com Thu Feb 13 14:14:35 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 13 Feb 2014 17:14:35 -0500 Subject: [rfc][icedtea-web] PolicyEditor In-Reply-To: <52FCCEE5.8080303@redhat.com> References: <52FBAE01.7080202@redhat.com> <52FCCEE5.8080303@redhat.com> Message-ID: <52FD43CB.9010102@redhat.com> On 02/13/2014 08:55 AM, Jiri Vanek wrote: > > Hi! > > I have no general issues with this.Considering it was done n best mind;) > After reading it, I'm against making it separate project. I would much > ratehr keep it in itew.. and suggestion .. add new luncher? next to > itw-settings javaws.. SimplePolicyEditor? I didn't get around to that with this patch, but I'll work on that next. Either a new launcher beside itweb-settings and javaws, or a standalone launcher as a separate project... ;) I really do think this idea has some merit. Maybe the editor seems small and simple enough now to stay within ITW, but I think it's already got enough utility to be a replacement for PolicyTool for a lot of users. Most of whom probably are using IcedTea-Web anyway, but not necessarily. > > This is ok to head, so you cna continue in run in sandbox more promptly. > Not yet ;) and the RunInSandbox/PartiallySigned stuff is still not in yet anyway, so hooking this in with those already doesn't make sense to me. Anyway, it's already all in-place in the PolicyEditor, what's left is just adding a button or something to those dialogs and having them launch a PolicyEditor instance, then call addNewCodebase(String) on it or provide the -codebase flag in its args. > > few notes: > permission java.io.FilePermission "${user.home}${/}*", "read"; > permission java.io.FilePermission "${user.home}${/}*", "write"; > permission java.io.FilePermission "*", "read"; > permission java.io.FilePermission "${io.tmpdir}${/}*", "read"; > permission java.io.FilePermission "${io.tmpdir}${/}*", "write"; > > are granted by checkboxes which do not fully descibee them (imho) > Maybew tooltip should be enough.... There are tooltips, for every checkbox... > Onemore think I noted After I click the send - yo are allowing the app > to open multiple simple editor windows in time. This may be dangerous. > - maybe some check "underlying file have changed, reload?) > (but yah, advaced tool do the same )I'm for - > - have it as modal dialogue in itw-settings > - have it on frame in case of seaprate application (see suggestion in > previous email) > - otherwse do as you wish ::) Hmm. I don't think I like the idea of making it modal in this situation (just seems like it is not necessary, and unnecessary modality is really irritating to deal with as a user IMO), but "file has changed, reload/ignore/quit" does sound good. I will look into that next. Besides, even if we make it modal, that doesn't actually protect us against concurrent modification very much. Perhaps itweb-settings control panel can be made to handle the PolicyEditor in the same way that PolicyEditor handles CustomPolicyViewer - if there is no instance, create one. If there is an instance, focus it rather than creating another. I spent a lot more time on this already, so I'm attaching another patch with the progress so far. Notable changes: - can view "custom permissions" aka permissions in the file that don't match any of the checkboxes. -- can also add/remove these. Adding them is not nearly as powerful as the big old PolicyTool, but this is meant as complement, not replacement, so that's fine by me -- only one of these windows is displayed at a time, but I really am not sure about the method I used to achieve this. I don't want to make it blocking (modal), so is there any other better way than what I've done? - much, much better model for "default" (checkbox-provided) permissions. Not just hardcoded Strings anymore -- as part of this, the "parsing" of policy files became a bit more relaxed. For permissions that specify multiple actions, eg the NetAll default permission, the permission will still be recognized as a default even if the actions are reordered -- considering making the "parsing" step case-insensitive but not sure on that -- newline isn't just \n anymore, actually using system line separator when "serializing" - vertical scrollbars always shown just so it's clear that those are indeed list views. horizontal shown as needed - mnemonics and accelerators, even more. Other notes: - still no handling for SignedBy or Principal or multiple codebases per "block", and I'm not really planning on supporting this. Leave that for the heavyweight tool and power users, IMO. If you create an entry like this, it will simply be clobbered when you next run PolicyEditor - "parsing"/"deserializing" is not the most robust. I haven't tested it with random garbage malformed text or with comments in the middle of a block, etc. These hardening improvements will come a bit later on, right now I want to nail down the functionality/visuals. I may end up refactoring the models even further, so hardening it now might be a waste of effort I'm planning to add plenty of unit testing to the models introduced with this patch, but I'm out of time today and am taking a short day tomorrow, so I'm not sure if I'll get those done before the end of the week, and I wanted to get this out for at least visuals feedback first. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policy-editor-4.patch Type: text/x-patch Size: 109743 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140213/a1ad4d94/policy-editor-4-0001.patch From bugzilla-daemon at icedtea.classpath.org Thu Feb 13 23:31:36 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 14 Feb 2014 07:31:36 +0000 Subject: [Bug 1674] New: A fatal error has been detected by the Java Runtime Environment Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1674 Bug ID: 1674 Summary: A fatal error has been detected by the Java Runtime Environment Product: IcedTea Version: 6-1.12.6 Hardware: 64-bit OS: Linux Status: NEW Severity: major Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: daynka_doma at mail.ru CC: unassigned at icedtea.classpath.org # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007f36ceb91300, pid=32442, tid=139873169438464 # # 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 [libc.so.6+0x121300] __nss_hosts_lookup+0xdce0 # # 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 (0x00007f36bc13f000): JavaThread "Server thread" [_thread_in_native, id=32471, stack(0x00007f36c283f000,0x00007f36c2940000)] siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x00007f36c1ea763f Registers: RAX=0x0000000001b5f940, RBX=0x00007f36c1e98bd5, RCX=0x0000000001b5f930, RDX=0x000000000000ea4c RSP=0x00007f36c293cef8, RBP=0x00007f36c293cf50, RSI=0x00007f36c1e98c03, RDI=0x0000000001b5f940 R8 =0x0000000001b5f930, R9 =0x00007f36cedf6eb0, R10=0x00007f36cedf6eb0, R11=0x00007f36cebc5610 R12=0x0000000003c2dac0, R13=0x00000000000014c2, R14=0x000000000000ea4c, R15=0x0000000001b5f940 RIP=0x00007f36ceb91300, EFLAGS=0x0000000000010287, CSGSFS=0x0000000000000033, ERR=0x0000000000000004 TRAPNO=0x000000000000000e Top of Stack: (sp=0x00007f36c293cef8) 0x00007f36c293cef8: 00007f36cc65c188 00007f36c293cf20 0x00007f36c293cf08: 00007f36ce60fb6e f6b87f36c45d29c0 0x00007f36c293cf18: 000000000000ea4c 0000000000000155 0x00007f36c293cf28: 00007f36c45f7bac 00007f36c293cfc0 0x00007f36c293cf38: 000000000422c900 00007f36c45d2880 0x00007f36c293cf48: 00000000b4b32315 00007f36c293cfa0 0x00007f36c293cf58: 00007f36cc65d266 000000000189e730 0x00007f36c293cf68: 000000130189eb08 00007f36bc13f000 0x00007f36c293cf78: 00007f36c293d418 00007f36c293cfc0 0x00007f36c293cf88: 0000000000000013 00007f36bc13f1d0 0x00007f36c293cf98: 00007f36c293cfc0 00007f36c293d400 0x00007f36c293cfa8: 00007f36cc65b89d 000000130193cff0 0x00007f36c293cfb8: 00007f36c45d2880 736567617373656d 0x00007f36c293cfc8: 747265706f72702e 00007f3600736569 0x00007f36c293cfd8: 0000000000000000 0000000000000001 0x00007f36c293cfe8: 00007f36bc13f000 00007f36c293d060 0x00007f36c293cff8: 00007f36ce320ea9 0000000000000000 0x00007f36c293d008: 0000000775d2ecb8 0000000000000000 0x00007f36c293d018: 00007f36c293d040 00007f36c293d088 0x00007f36c293d028: 00007f36c965d85a 00000007dd4a1e18 0x00007f36c293d038: 00007f36bc1405b0 0000000000000001 0x00007f36c293d048: 0000000000000000 0000000775a14410 0x00007f36c293d058: 0000000000000002 0000000000000004 0x00007f36c293d068: 00007f36bc13f000 0000000000000001 0x00007f36c293d078: 00007f36cea4efa3 00007f36c293d0a0 0x00007f36c293d088: 00007f36ce327396 00007f36bc13f000 0x00007f36c293d098: 0000000000000004 00007f36c293d110 0x00007f36c293d0a8: 00007f36ce321925 00007f36c293d0b0 0x00007f36c293d0b8: 0000000700000002 ffffffffffffffff 0x00007f36c293d0c8: 00007f36bc328a98 00007f36bc328a98 0x00007f36c293d0d8: 0000000775d21548 00007f36c293d110 0x00007f36c293d0e8: 00007f36bc13f000 00007f36bc1405b0 Instructions: (pc=0x00007f36ceb91300) 0x00007f36ceb912e0: 0c 3e 26 00 4c 8d 1d 65 44 03 00 4f 63 0c 8b 4f 0x00007f36ceb912f0: 8d 0c 0b 41 ff e1 0f 0b 0f 1f 84 00 00 00 00 00 0x00007f36ceb91300: f3 0f 6f 44 16 f0 48 01 d6 4c 8d 44 17 f0 48 01 0x00007f36ceb91310: d7 48 89 f9 48 83 e1 0f 48 31 cf 48 29 ca 48 29 Register to memory mapping: RAX=0x0000000001b5f940 is an unknown value RBX=0x00007f36c1e98bd5 is an unknown value RCX=0x0000000001b5f930 is an unknown value RDX=0x000000000000ea4c is an unknown value RSP=0x00007f36c293cef8 is pointing into the stack for thread: 0x00007f36bc13f000 RBP=0x00007f36c293cf50 is pointing into the stack for thread: 0x00007f36bc13f000 RSI=0x00007f36c1e98c03 is an unknown value RDI=0x0000000001b5f940 is an unknown value R8 =0x0000000001b5f930 is an unknown value R9 =0x00007f36cedf6eb0: in /lib/x86_64-linux-gnu/libc.so.6 at 0x00007f36cea70000 R10=0x00007f36cedf6eb0: in /lib/x86_64-linux-gnu/libc.so.6 at 0x00007f36cea70000 R11=0x00007f36cebc5610: in /lib/x86_64-linux-gnu/libc.so.6 at 0x00007f36cea70000 R12=0x0000000003c2dac0 is an unknown value R13=0x00000000000014c2 is an unknown value R14=0x000000000000ea4c is an unknown value R15=0x0000000001b5f940 is an unknown value Stack: [0x00007f36c283f000,0x00007f36c2940000], sp=0x00007f36c293cef8, free space=1015k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [libc.so.6+0x121300] __nss_hosts_lookup+0xdce0 C [libzip.so+0x5266] ZIP_GetEntry+0xb6 C [libzip.so+0x389d] Java_java_util_zip_ZipFile_getEntry+0xbd J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) J java.util.zip.ZipFile.getEntry(JLjava/lang/String;Z)J J java.util.jar.JarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry; j sun.net.www.protocol.jar.URLJarFile.getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;+2 j sun.net.www.protocol.jar.JarURLConnection.connect()V+62 j sun.net.www.protocol.jar.JarURLConnection.getInputStream()Ljava/io/InputStream;+1 j java.net.URL.openStream()Ljava/io/InputStream;+4 j java.lang.ClassLoader.getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;+11 j com.earth2me.essentials.I18n$FileResClassLoader.getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;+32 j java.util.ResourceBundle$Control$1.run()Ljava/io/InputStream;+55 j java.util.ResourceBundle$Control$1.run()Ljava/lang/Object;+1 v ~StubRoutines::call_stub j java.security.AccessController.doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;+0 j java.util.ResourceBundle$Control.newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;+136 j java.util.ResourceBundle.loadBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/ResourceBundle$Control;Z)Ljava/util/ResourceBundle;+83 j java.util.ResourceBundle.findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;+359 j java.util.ResourceBundle.findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;+37 j java.util.ResourceBundle.findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;+37 j java.util.ResourceBundle.getBundleImpl(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;+187 j java.util.ResourceBundle.getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;+18 j com.earth2me.essentials.I18n.(Lnet/ess3/api/IEssentials;)V+56 j com.earth2me.essentials.Essentials.onEnable()V+34 j org.bukkit.plugin.java.JavaPlugin.setEnabled(Z)V+21 j org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(Lorg/bukkit/plugin/Plugin;)V+102 j org.bukkit.plugin.SimplePluginManager.enablePlugin(Lorg/bukkit/plugin/Plugin;)V+47 j org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugin(Lorg/bukkit/plugin/Plugin;)V+5 j org.bukkit.craftbukkit.v1_7_R1.CraftServer.enablePlugins(Lorg/bukkit/plugin/PluginLoadOrder;)V+80 j org.bukkit.craftbukkit.v1_7_R1.CraftServer.reload()V+733 j net.stormdev.bukkitmods.ultimatepluginupdater.main.UpdateableManager$2.run()V+6 j org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftTask.run()V+4 j org.bukkit.craftbukkit.v1_7_R1.scheduler.CraftScheduler.mainThreadHeartbeat(I)V+82 j net.minecraft.server.v1_7_R1.MinecraftServer.u()V+21 j net.minecraft.server.v1_7_R1.DedicatedServer.u()V+1 j net.minecraft.server.v1_7_R1.MinecraftServer.t()V+58 j net.minecraft.server.v1_7_R1.MinecraftServer.run()V+235 j net.minecraft.server.v1_7_R1.ThreadServerApplication.run()V+4 v ~StubRoutines::call_stub --------------- P R O C E S S --------------- Java Threads: ( => current thread ) 0x0000000002303800 JavaThread "Thread-13" [_thread_in_native, id=32623, stack(0x00007f36b3cfd000,0x00007f36b3dfe000)] 0x00007f36bdfdd800 JavaThread "pool-6-thread-1" [_thread_blocked, id=32619, stack(0x00007f36c002f000,0x00007f36c0130000)] 0x0000000002762000 JavaThread "File IO Thread" [_thread_blocked, id=32565, stack(0x00007f36b3eff000,0x00007f36b4000000)] 0x0000000002318800 JavaThread "Keep-Alive-Timer" daemon [_thread_blocked, id=32555, stack(0x00007f36c1678000,0x00007f36c1779000)] 0x00007f36c4230000 JavaThread "pool-3-thread-8" [_thread_blocked, id=32554, stack(0x00007f36c1779000,0x00007f36c187a000)] 0x00007f36c43f4800 JavaThread "pool-3-thread-7" [_thread_blocked, id=32553, stack(0x00007f36c187a000,0x00007f36c197b000)] 0x00007f36c4624000 JavaThread "pool-3-thread-6" [_thread_blocked, id=32552, stack(0x00007f36c197b000,0x00007f36c1a7c000)] 0x00007f36c4623800 JavaThread "pool-3-thread-5" [_thread_blocked, id=32551, stack(0x00007f36c1a7c000,0x00007f36c1b7d000)] 0x00007f36c418b800 JavaThread "pool-3-thread-4" [_thread_blocked, id=32550, stack(0x00007f36c1b7d000,0x00007f36c1c7e000)] 0x00007f36c42e9800 JavaThread "pool-3-thread-3" [_thread_blocked, id=32549, stack(0x00007f36c1c7e000,0x00007f36c1d7f000)] 0x00007f36c4215800 JavaThread "pool-3-thread-2" [_thread_blocked, id=32548, stack(0x00007f36c332f000,0x00007f36c3430000)] 0x00007f36c426a800 JavaThread "pool-3-thread-1" [_thread_blocked, id=32546, stack(0x00007f36c1d7f000,0x00007f36c1e80000)] 0x00007f36c43c7000 JavaThread "Netty IO #0" daemon [_thread_in_native, id=32475, stack(0x00007f36c253c000,0x00007f36c263d000)] 0x0000000001d00000 JavaThread "Thread-5" [_thread_blocked, id=32473, stack(0x00007f36c263d000,0x00007f36c273e000)] 0x000000000187f800 JavaThread "Server console handler" daemon [_thread_in_native, id=32472, stack(0x00007f36c273e000,0x00007f36c283f000)] 0x00007f36bc307000 JavaThread "DestroyJavaVM" [_thread_blocked, id=32443, stack(0x00007f36cf75e000,0x00007f36cf85f000)] =>0x00007f36bc13f000 JavaThread "Server thread" [_thread_in_native, id=32471, stack(0x00007f36c283f000,0x00007f36c2940000)] 0x00007f36bc2c6000 JavaThread "Server Infinisleeper" daemon [_thread_blocked, id=32470, stack(0x00007f36c2b4d000,0x00007f36c2c4e000)] 0x00007f36c440e800 JavaThread "Snooper Timer" daemon [_thread_blocked, id=32458, stack(0x00007f36c2c4e000,0x00007f36c2d4f000)] 0x00007f36c4087000 JavaThread "Low Memory Detector" daemon [_thread_blocked, id=32456, stack(0x00007f36c3534000,0x00007f36c3635000)] 0x00007f36c4084800 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=32455, stack(0x00007f36c3635000,0x00007f36c3736000)] 0x00007f36c407f800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=32454, stack(0x00007f36c3736000,0x00007f36c3837000)] 0x00007f36c4071000 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=32453, stack(0x00007f36c3837000,0x00007f36c3938000)] 0x00007f36c405f000 JavaThread "Finalizer" daemon [_thread_blocked, id=32452, stack(0x00007f36c3cfd000,0x00007f36c3dfe000)] 0x00007f36c405d000 JavaThread "Reference Handler" daemon [_thread_blocked, id=32451, stack(0x00007f36c3dfe000,0x00007f36c3eff000)] Other Threads: 0x00007f36c4058000 VMThread [stack: 0x00007f36c3eff000,0x00007f36c4000000] [id=32450] 0x00007f36c4089800 WatcherThread [stack: 0x00007f36c3433000,0x00007f36c3534000] [id=32457] VM state:not at safepoint (normal execution) VM Mutex/Monitor currently owned by a thread: None Heap PSYoungGen total 611648K, used 132810K [0x00000007d5560000, 0x0000000800000000, 0x0000000800000000) eden space 524288K, 25% used [0x00000007d5560000,0x00000007dd712878,0x00000007f5560000) from space 87360K, 0% used [0x00000007f5560000,0x00000007f5560000,0x00000007faab0000) to space 87360K, 0% used [0x00000007faab0000,0x00000007faab0000,0x0000000800000000) PSOldGen total 1398144K, used 402925K [0x0000000780000000, 0x00000007d5560000, 0x00000007d5560000) object space 1398144K, 28% used [0x0000000780000000,0x000000079897b6e8,0x00000007d5560000) PSPermGen total 127040K, used 74001K [0x0000000775a00000, 0x000000077d610000, 0x0000000780000000) object space 127040K, 58% used [0x0000000775a00000,0x000000077a244778,0x000000077d610000) Code Cache [0x00007f36c9658000, 0x00007f36c9b28000, 0x00007f36cc658000) total_blobs=1797 nmethods=1239 adapters=510 free_code_cache=45453248 largest_free_block=51904 Dynamic libraries: 00400000-00409000 r-xp 00000000 09:00 52302890 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 00608000-00609000 rw-p 00008000 09:00 52302890 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 01875000-071c2000 rw-p 00000000 00:00 0 [heap] 775a00000-77d610000 rw-p 00000000 00:00 0 77d610000-77e900000 ---p 00000000 00:00 0 77e900000-780000000 rw-p 00000000 00:00 0 780000000-800000000 rw-p 00000000 00:00 0 7f36ac000000-7f36ae902000 rw-p 00000000 00:00 0 7f36ae902000-7f36b0000000 ---p 00000000 00:00 0 7f36b3bfc000-7f36b3bff000 ---p 00000000 00:00 0 7f36b3bff000-7f36b3cfd000 rw-p 00000000 00:00 0 7f36b3cfd000-7f36b3d00000 ---p 00000000 00:00 0 7f36b3d00000-7f36b3dfe000 rw-p 00000000 00:00 0 7f36b3dfe000-7f36b3e01000 ---p 00000000 00:00 0 7f36b3e01000-7f36b3eff000 rw-p 00000000 00:00 0 7f36b3eff000-7f36b3f02000 ---p 00000000 00:00 0 7f36b3f02000-7f36b4000000 rw-p 00000000 00:00 0 7f36b4000000-7f36b7ffa000 rw-p 00000000 00:00 0 7f36b7ffa000-7f36b8000000 ---p 00000000 00:00 0 7f36b8000000-7f36b9431000 rw-p 00000000 00:00 0 7f36b9431000-7f36bc000000 ---p 00000000 00:00 0 7f36bc000000-7f36bfff9000 rw-p 00000000 00:00 0 7f36bfff9000-7f36c0000000 ---p 00000000 00:00 0 7f36c0010000-7f36c001e000 r--s 000c5000 09:00 47981275 /opt/minecraft/main/plugins/WorldEdit.jar 7f36c0020000-7f36c002a000 r--s 000de000 09:00 47981152 /opt/minecraft/main/plugins/Essentials.jar 7f36c002f000-7f36c0032000 ---p 00000000 00:00 0 7f36c0032000-7f36c0130000 rw-p 00000000 00:00 0 7f36c0130000-7f36c01a0000 r-xp 00000000 09:00 52828804 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f36c01a0000-7f36c039f000 ---p 00070000 09:00 52828804 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f36c039f000-7f36c03a1000 r--p 0006f000 09:00 52828804 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f36c03a1000-7f36c03a2000 rw-p 00071000 09:00 52828804 /usr/lib/x86_64-linux-gnu/nss/libfreebl3.so 7f36c03a2000-7f36c03a6000 rw-p 00000000 00:00 0 7f36c03a8000-7f36c044e000 r-xp 00000000 09:00 41952855 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f36c044e000-7f36c064e000 ---p 000a6000 09:00 41952855 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f36c064e000-7f36c0650000 r--p 000a6000 09:00 41952855 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f36c0650000-7f36c0652000 rw-p 000a8000 09:00 41952855 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 7f36c0652000-7f36c0653000 rw-p 00000000 00:00 0 7f36c0658000-7f36c0699000 r-xp 00000000 09:00 52828802 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f36c0699000-7f36c0898000 ---p 00041000 09:00 52828802 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f36c0898000-7f36c089a000 r--p 00040000 09:00 52828802 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f36c089a000-7f36c089b000 rw-p 00042000 09:00 52828802 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so 7f36c08a0000-7f36c08db000 r-xp 00000000 09:00 41956373 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f36c08db000-7f36c0adb000 ---p 0003b000 09:00 41956373 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f36c0adb000-7f36c0adc000 r--p 0003b000 09:00 41956373 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f36c0adc000-7f36c0ade000 rw-p 0003c000 09:00 41956373 /usr/lib/x86_64-linux-gnu/libnspr4.so 7f36c0ade000-7f36c0ae0000 rw-p 00000000 00:00 0 7f36c0ae0000-7f36c0ae3000 r-xp 00000000 09:00 41956375 /usr/lib/x86_64-linux-gnu/libplds4.so 7f36c0ae3000-7f36c0ce2000 ---p 00003000 09:00 41956375 /usr/lib/x86_64-linux-gnu/libplds4.so 7f36c0ce2000-7f36c0ce3000 r--p 00002000 09:00 41956375 /usr/lib/x86_64-linux-gnu/libplds4.so 7f36c0ce3000-7f36c0ce4000 rw-p 00003000 09:00 41956375 /usr/lib/x86_64-linux-gnu/libplds4.so 7f36c0ce8000-7f36c0cec000 r-xp 00000000 09:00 41956374 /usr/lib/x86_64-linux-gnu/libplc4.so 7f36c0cec000-7f36c0eeb000 ---p 00004000 09:00 41956374 /usr/lib/x86_64-linux-gnu/libplc4.so 7f36c0eeb000-7f36c0eec000 r--p 00003000 09:00 41956374 /usr/lib/x86_64-linux-gnu/libplc4.so 7f36c0eec000-7f36c0eed000 rw-p 00004000 09:00 41956374 /usr/lib/x86_64-linux-gnu/libplc4.so 7f36c0ef0000-7f36c0f15000 r-xp 00000000 09:00 41956445 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f36c0f15000-7f36c1115000 ---p 00025000 09:00 41956445 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f36c1115000-7f36c111b000 r--p 00025000 09:00 41956445 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f36c111b000-7f36c111c000 rw-p 0002b000 09:00 41956445 /usr/lib/x86_64-linux-gnu/libnssutil3.so 7f36c1120000-7f36c1255000 r-xp 00000000 09:00 41956448 /usr/lib/x86_64-linux-gnu/libnss3.so 7f36c1255000-7f36c1455000 ---p 00135000 09:00 41956448 /usr/lib/x86_64-linux-gnu/libnss3.so 7f36c1455000-7f36c145a000 r--p 00135000 09:00 41956448 /usr/lib/x86_64-linux-gnu/libnss3.so 7f36c145a000-7f36c145d000 rw-p 0013a000 09:00 41956448 /usr/lib/x86_64-linux-gnu/libnss3.so 7f36c145d000-7f36c145e000 rw-p 00000000 00:00 0 7f36c1460000-7f36c1470000 r-xp 00000000 09:00 52302914 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f36c1470000-7f36c1670000 ---p 00010000 09:00 52302914 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f36c1670000-7f36c1671000 rw-p 00010000 09:00 52302914 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libj2pkcs11.so 7f36c1678000-7f36c167b000 ---p 00000000 00:00 0 7f36c167b000-7f36c1779000 rw-p 00000000 00:00 0 7f36c1779000-7f36c177c000 ---p 00000000 00:00 0 7f36c177c000-7f36c187a000 rw-p 00000000 00:00 0 7f36c187a000-7f36c187d000 ---p 00000000 00:00 0 7f36c187d000-7f36c197b000 rw-p 00000000 00:00 0 7f36c197b000-7f36c197e000 ---p 00000000 00:00 0 7f36c197e000-7f36c1a7c000 rw-p 00000000 00:00 0 7f36c1a7c000-7f36c1a7f000 ---p 00000000 00:00 0 7f36c1a7f000-7f36c1b7d000 rw-p 00000000 00:00 0 7f36c1b7d000-7f36c1b80000 ---p 00000000 00:00 0 7f36c1b80000-7f36c1c7e000 rw-p 00000000 00:00 0 7f36c1c7e000-7f36c1c81000 ---p 00000000 00:00 0 7f36c1c81000-7f36c1d7f000 rw-p 00000000 00:00 0 7f36c1d7f000-7f36c1d82000 ---p 00000000 00:00 0 7f36c1d82000-7f36c1e80000 rw-p 00000000 00:00 0 7f36c1e80000-7f36c1e81000 r--s 00002000 09:00 47981256 /opt/minecraft/main/plugins/EssentialsChat.jar 7f36c1e88000-7f36c1e89000 r--s 00003000 09:00 47981259 /opt/minecraft/main/plugins/EssentialsSpawn.jar 7f36c1e90000-7f36c1e9a000 r--s 000ad000 09:00 47981152 /opt/minecraft/main/plugins/Essentials.jar 7f36c1ea0000-7f36c1ea2000 r--s 00007000 09:00 47978502 /opt/minecraft/main/plugins/UltimatePluginUpdater.jar 7f36c1ea8000-7f36c1eae000 r--s 0004b000 09:00 47981276 /opt/minecraft/main/plugins/WorldGuard.jar 7f36c1eb0000-7f36c1eb2000 r--s 0000e000 09:00 47981268 /opt/minecraft/main/plugins/MobileAdmin.jar 7f36c1eb8000-7f36c1eba000 r--s 00016000 09:00 47981272 /opt/minecraft/main/plugins/Stargate.jar 7f36c1ec0000-7f36c1ec1000 r--s 00003000 09:00 47981267 /opt/minecraft/main/plugins/MantaMobControl1.2.jar 7f36c1ec8000-7f36c1ec9000 r--s 00002000 09:00 47981257 /opt/minecraft/main/plugins/EssentialsGroupBridge.jar 7f36c1ed0000-7f36c1ed4000 r--s 00029000 09:00 47981273 /opt/minecraft/main/plugins/SurvivalGames.jar 7f36c1ed8000-7f36c1eda000 r--s 00006000 09:00 47981266 /opt/minecraft/main/plugins/JoinMessage.jar 7f36c1ee0000-7f36c1eed000 r--s 000c0000 09:00 47981275 /opt/minecraft/main/plugins/WorldEdit.jar 7f36c1ef0000-7f36c1efe000 r--s 00097000 09:00 47981271 /opt/minecraft/main/plugins/NoCheatPlus.jar 7f36c1f08000-7f36c1f0b000 r--s 0001b000 09:00 47981258 /opt/minecraft/main/plugins/EssentialsGroupManager.jar 7f36c1f0f000-7f36c1f12000 ---p 00000000 00:00 0 7f36c1f12000-7f36c2010000 rw-p 00000000 00:00 0 7f36c2010000-7f36c2023000 r-xp 00000000 09:00 41950804 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f36c2023000-7f36c2222000 ---p 00013000 09:00 41950804 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f36c2222000-7f36c2223000 r--p 00012000 09:00 41950804 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f36c2223000-7f36c2224000 rw-p 00013000 09:00 41950804 /lib/x86_64-linux-gnu/libresolv-2.13.so 7f36c2224000-7f36c2226000 rw-p 00000000 00:00 0 7f36c2228000-7f36c222d000 r-xp 00000000 09:00 41950809 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f36c222d000-7f36c242c000 ---p 00005000 09:00 41950809 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f36c242c000-7f36c242d000 r--p 00004000 09:00 41950809 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f36c242d000-7f36c242e000 rw-p 00005000 09:00 41950809 /lib/x86_64-linux-gnu/libnss_dns-2.13.so 7f36c2430000-7f36c2435000 r--s 0002f000 09:00 47981270 /opt/minecraft/main/plugins/multiworld.jar 7f36c243b000-7f36c243e000 ---p 00000000 00:00 0 7f36c243e000-7f36c253c000 rw-p 00000000 00:00 0 7f36c253c000-7f36c253f000 ---p 00000000 00:00 0 7f36c253f000-7f36c263d000 rw-p 00000000 00:00 0 7f36c263d000-7f36c2640000 ---p 00000000 00:00 0 7f36c2640000-7f36c273e000 rw-p 00000000 00:00 0 7f36c273e000-7f36c2741000 ---p 00000000 00:00 0 7f36c2741000-7f36c283f000 rw-p 00000000 00:00 0 7f36c283f000-7f36c2842000 ---p 00000000 00:00 0 7f36c2842000-7f36c2940000 rw-p 00000000 00:00 0 7f36c2940000-7f36c2948000 r-xp 00000000 09:00 52302928 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnio.so 7f36c2948000-7f36c2b47000 ---p 00008000 09:00 52302928 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnio.so 7f36c2b47000-7f36c2b48000 rw-p 00007000 09:00 52302928 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnio.so 7f36c2b48000-7f36c2b4a000 r--s 00013000 09:00 52302978 /usr/lib/jvm/java-6-openjdk-common/jre/lib/jce.jar 7f36c2b4d000-7f36c2b50000 ---p 00000000 00:00 0 7f36c2b50000-7f36c2c4e000 rw-p 00000000 00:00 0 7f36c2c4e000-7f36c2c51000 ---p 00000000 00:00 0 7f36c2c51000-7f36c2d80000 rw-p 00000000 00:00 0 7f36c2d80000-7f36c2d95000 r-xp 00000000 09:00 52302927 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f36c2d95000-7f36c2f94000 ---p 00015000 09:00 52302927 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f36c2f94000-7f36c2f95000 rw-p 00014000 09:00 52302927 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libnet.so 7f36c2f98000-7f36c2f9f000 r-xp 00000000 09:00 52302925 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libmanagement.so 7f36c2f9f000-7f36c319e000 ---p 00007000 09:00 52302925 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libmanagement.so 7f36c319e000-7f36c319f000 rw-p 00006000 09:00 52302925 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libmanagement.so 7f36c31a0000-7f36c31a7000 r--s 000fc000 09:00 52302982 /usr/lib/jvm/java-6-openjdk-common/jre/lib/resources.jar 7f36c31a8000-7f36c31ab000 r--s 0007f000 09:00 52302979 /usr/lib/jvm/java-6-openjdk-common/jre/lib/jsse.jar 7f36c31ae000-7f36c31d0000 rw-p 00000000 00:00 0 7f36c31d0000-7f36c32fe000 r--s 011df000 09:00 43530124 /opt/minecraft/main/craftbukkit.jar 7f36c3308000-7f36c330a000 r--s 00007000 09:00 47978502 /opt/minecraft/main/plugins/UltimatePluginUpdater.jar 7f36c3310000-7f36c3316000 r--s 0004b000 09:00 47981276 /opt/minecraft/main/plugins/WorldGuard.jar 7f36c3318000-7f36c3319000 r--s 00002000 09:00 47981266 /opt/minecraft/main/plugins/JoinMessage.jar 7f36c3320000-7f36c332e000 r--s 000c5000 09:00 47981275 /opt/minecraft/main/plugins/WorldEdit.jar 7f36c332f000-7f36c3332000 ---p 00000000 00:00 0 7f36c3332000-7f36c3430000 rw-p 00000000 00:00 0 7f36c3430000-7f36c3433000 r--s 00031000 09:00 52302992 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/sunjce_provider.jar 7f36c3433000-7f36c3434000 ---p 00000000 00:00 0 7f36c3434000-7f36c3534000 rw-p 00000000 00:00 0 7f36c3534000-7f36c3537000 ---p 00000000 00:00 0 7f36c3537000-7f36c3635000 rw-p 00000000 00:00 0 7f36c3635000-7f36c3638000 ---p 00000000 00:00 0 7f36c3638000-7f36c3736000 rw-p 00000000 00:00 0 7f36c3736000-7f36c3739000 ---p 00000000 00:00 0 7f36c3739000-7f36c3837000 rw-p 00000000 00:00 0 7f36c3837000-7f36c383a000 ---p 00000000 00:00 0 7f36c383a000-7f36c3938000 rw-p 00000000 00:00 0 7f36c3938000-7f36c3cf7000 r--p 00000000 09:00 41946869 /usr/lib/locale/locale-archive 7f36c3cf8000-7f36c3cfa000 r--s 0000f000 09:00 52302991 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/pulse-java.jar 7f36c3cfd000-7f36c3d00000 ---p 00000000 00:00 0 7f36c3d00000-7f36c3dfe000 rw-p 00000000 00:00 0 7f36c3dfe000-7f36c3e01000 ---p 00000000 00:00 0 7f36c3e01000-7f36c3eff000 rw-p 00000000 00:00 0 7f36c3eff000-7f36c3f00000 ---p 00000000 00:00 0 7f36c3f00000-7f36c4000000 rw-p 00000000 00:00 0 7f36c4000000-7f36c7fff000 rw-p 00000000 00:00 0 7f36c7fff000-7f36c8000000 ---p 00000000 00:00 0 7f36c8000000-7f36c8003000 r--s 00077000 09:00 52302990 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/localedata.jar 7f36c8008000-7f36c800a000 r--s 00001000 09:00 52302989 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/dnsns.jar 7f36c8010000-7f36c801e000 r--s 0009c000 09:00 47981271 /opt/minecraft/main/plugins/NoCheatPlus.jar 7f36c8020000-7f36c8022000 r--s 0000f000 09:00 47981269 /opt/minecraft/main/plugins/MultiInv.jar 7f36c8028000-7f36c8029000 r--s 00002000 09:00 47978942 /opt/minecraft/main/plugins/TuxTwoLib.jar 7f36c802e000-7f36c8768000 rw-p 00000000 00:00 0 7f36c8768000-7f36c88fc000 r--s 03807000 09:00 52302904 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/rt.jar 7f36c8900000-7f36c8901000 ---p 00000000 00:00 0 7f36c8901000-7f36c8a01000 rw-p 00000000 00:00 0 7f36c8a01000-7f36c8a02000 ---p 00000000 00:00 0 7f36c8a02000-7f36c8b02000 rw-p 00000000 00:00 0 7f36c8b02000-7f36c8b03000 ---p 00000000 00:00 0 7f36c8b03000-7f36c8c03000 rw-p 00000000 00:00 0 7f36c8c03000-7f36c8c04000 ---p 00000000 00:00 0 7f36c8c04000-7f36c8d04000 rw-p 00000000 00:00 0 7f36c8d04000-7f36c8d05000 ---p 00000000 00:00 0 7f36c8d05000-7f36c8e05000 rw-p 00000000 00:00 0 7f36c8e05000-7f36c8e06000 ---p 00000000 00:00 0 7f36c8e06000-7f36c8f45000 rw-p 00000000 00:00 0 7f36c8f45000-7f36c8f4e000 ---p 00000000 00:00 0 7f36c8f4e000-7f36c8f59000 rw-p 00000000 00:00 0 7f36c8f59000-7f36c9243000 rw-p 00000000 00:00 0 7f36c9243000-7f36c924c000 ---p 00000000 00:00 0 7f36c924c000-7f36c9257000 rw-p 00000000 00:00 0 7f36c9257000-7f36c9658000 rw-p 00000000 00:00 0 7f36c9658000-7f36c9b28000 rwxp 00000000 00:00 0 7f36c9b28000-7f36cc658000 rw-p 00000000 00:00 0 7f36cc658000-7f36cc65f000 r-xp 00000000 09:00 52302936 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f36cc65f000-7f36cc85e000 ---p 00007000 09:00 52302936 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f36cc85e000-7f36cc85f000 rw-p 00006000 09:00 52302936 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libzip.so 7f36cc860000-7f36cc86b000 r-xp 00000000 09:00 41957602 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f36cc86b000-7f36cca6a000 ---p 0000b000 09:00 41957602 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f36cca6a000-7f36cca6b000 r--p 0000a000 09:00 41957602 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f36cca6b000-7f36cca6c000 rw-p 0000b000 09:00 41957602 /lib/x86_64-linux-gnu/libnss_files-2.13.so 7f36cca70000-7f36cca7a000 r-xp 00000000 09:00 41956789 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f36cca7a000-7f36ccc79000 ---p 0000a000 09:00 41956789 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f36ccc79000-7f36ccc7a000 r--p 00009000 09:00 41956789 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f36ccc7a000-7f36ccc7b000 rw-p 0000a000 09:00 41956789 /lib/x86_64-linux-gnu/libnss_nis-2.13.so 7f36ccc80000-7f36ccc87000 r-xp 00000000 09:00 41950808 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f36ccc87000-7f36cce86000 ---p 00007000 09:00 41950808 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f36cce86000-7f36cce87000 r--p 00006000 09:00 41950808 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f36cce87000-7f36cce88000 rw-p 00007000 09:00 41950808 /lib/x86_64-linux-gnu/libnss_compat-2.13.so 7f36cce88000-7f36cce9d000 r-xp 00000000 09:00 41953078 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f36cce9d000-7f36cd09c000 ---p 00015000 09:00 41953078 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f36cd09c000-7f36cd09d000 r--p 00014000 09:00 41953078 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f36cd09d000-7f36cd09e000 rw-p 00015000 09:00 41953078 /lib/x86_64-linux-gnu/libnsl-2.13.so 7f36cd09e000-7f36cd0a0000 rw-p 00000000 00:00 0 7f36cd0a0000-7f36cd0ce000 r-xp 00000000 09:00 52302916 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f36cd0ce000-7f36cd2cd000 ---p 0002e000 09:00 52302916 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f36cd2cd000-7f36cd2d1000 rw-p 0002d000 09:00 52302916 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libjava.so 7f36cd2d8000-7f36cd2e7000 r-xp 00000000 09:00 52302935 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f36cd2e7000-7f36cd4e6000 ---p 0000f000 09:00 52302935 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f36cd4e6000-7f36cd4e8000 rw-p 0000e000 09:00 52302935 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/libverify.so 7f36cd4e8000-7f36cd4ef000 r-xp 00000000 09:00 41957655 /lib/x86_64-linux-gnu/librt-2.13.so 7f36cd4ef000-7f36cd6ee000 ---p 00007000 09:00 41957655 /lib/x86_64-linux-gnu/librt-2.13.so 7f36cd6ee000-7f36cd6ef000 r--p 00006000 09:00 41957655 /lib/x86_64-linux-gnu/librt-2.13.so 7f36cd6ef000-7f36cd6f0000 rw-p 00007000 09:00 41957655 /lib/x86_64-linux-gnu/librt-2.13.so 7f36cd6f0000-7f36cd705000 r-xp 00000000 09:00 41948285 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f36cd705000-7f36cd905000 ---p 00015000 09:00 41948285 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f36cd905000-7f36cd906000 rw-p 00015000 09:00 41948285 /lib/x86_64-linux-gnu/libgcc_s.so.1 7f36cd908000-7f36cd989000 r-xp 00000000 09:00 41950810 /lib/x86_64-linux-gnu/libm-2.13.so 7f36cd989000-7f36cdb88000 ---p 00081000 09:00 41950810 /lib/x86_64-linux-gnu/libm-2.13.so 7f36cdb88000-7f36cdb89000 r--p 00080000 09:00 41950810 /lib/x86_64-linux-gnu/libm-2.13.so 7f36cdb89000-7f36cdb8a000 rw-p 00081000 09:00 41950810 /lib/x86_64-linux-gnu/libm-2.13.so 7f36cdb90000-7f36cdc78000 r-xp 00000000 09:00 41952843 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f36cdc78000-7f36cde78000 ---p 000e8000 09:00 41952843 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f36cde78000-7f36cde80000 r--p 000e8000 09:00 41952843 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f36cde80000-7f36cde82000 rw-p 000f0000 09:00 41952843 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.17 7f36cde82000-7f36cde97000 rw-p 00000000 00:00 0 7f36cde98000-7f36ce7ac000 r-xp 00000000 09:00 52302946 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f36ce7ac000-7f36ce9ab000 ---p 00914000 09:00 52302946 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f36ce9ab000-7f36cea47000 rw-p 00913000 09:00 52302946 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server/libjvm.so 7f36cea47000-7f36cea70000 rw-p 00000000 00:00 0 7f36cea70000-7f36cebf2000 r-xp 00000000 09:00 41946346 /lib/x86_64-linux-gnu/libc-2.13.so 7f36cebf2000-7f36cedf1000 ---p 00182000 09:00 41946346 /lib/x86_64-linux-gnu/libc-2.13.so 7f36cedf1000-7f36cedf5000 r--p 00181000 09:00 41946346 /lib/x86_64-linux-gnu/libc-2.13.so 7f36cedf5000-7f36cedf6000 rw-p 00185000 09:00 41946346 /lib/x86_64-linux-gnu/libc-2.13.so 7f36cedf6000-7f36cedfb000 rw-p 00000000 00:00 0 7f36cee00000-7f36cee02000 r-xp 00000000 09:00 41956869 /lib/x86_64-linux-gnu/libdl-2.13.so 7f36cee02000-7f36cf002000 ---p 00002000 09:00 41956869 /lib/x86_64-linux-gnu/libdl-2.13.so 7f36cf002000-7f36cf003000 r--p 00002000 09:00 41956869 /lib/x86_64-linux-gnu/libdl-2.13.so 7f36cf003000-7f36cf004000 rw-p 00003000 09:00 41956869 /lib/x86_64-linux-gnu/libdl-2.13.so 7f36cf008000-7f36cf00c000 r-xp 00000000 09:00 52302942 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f36cf00c000-7f36cf20b000 ---p 00004000 09:00 52302942 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f36cf20b000-7f36cf20c000 rw-p 00003000 09:00 52302942 /usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/jli/libjli.so 7f36cf210000-7f36cf227000 r-xp 00000000 09:00 41957638 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f36cf227000-7f36cf426000 ---p 00017000 09:00 41957638 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f36cf426000-7f36cf427000 r--p 00016000 09:00 41957638 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f36cf427000-7f36cf428000 rw-p 00017000 09:00 41957638 /lib/x86_64-linux-gnu/libpthread-2.13.so 7f36cf428000-7f36cf42c000 rw-p 00000000 00:00 0 7f36cf430000-7f36cf446000 r-xp 00000000 09:00 41948321 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f36cf446000-7f36cf645000 ---p 00016000 09:00 41948321 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f36cf645000-7f36cf646000 r--p 00015000 09:00 41948321 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f36cf646000-7f36cf647000 rw-p 00016000 09:00 41948321 /lib/x86_64-linux-gnu/libz.so.1.2.7 7f36cf647000-7f36cf648000 rw-p 00000000 00:00 0 7f36cf648000-7f36cf668000 r-xp 00000000 09:00 41957674 /lib/x86_64-linux-gnu/ld-2.13.so 7f36cf668000-7f36cf6a4000 rw-p 00000000 00:00 0 7f36cf6a4000-7f36cf750000 rw-p 00000000 00:00 0 7f36cf750000-7f36cf758000 rw-s 00000000 09:00 47327941 /tmp/hsperfdata_root/32442 7f36cf758000-7f36cf75c000 r--s 00039000 09:00 52302993 /usr/lib/jvm/java-6-openjdk-common/jre/lib/ext/sunpkcs11.jar 7f36cf75e000-7f36cf761000 ---p 00000000 00:00 0 7f36cf761000-7f36cf860000 rw-p 00000000 00:00 0 7f36cf860000-7f36cf861000 r--s 00007000 09:00 53093213 /usr/share/java/java-atk-wrapper.jar 7f36cf865000-7f36cf866000 rw-p 00000000 00:00 0 7f36cf866000-7f36cf867000 r--p 00000000 00:00 0 7f36cf867000-7f36cf868000 r--p 0001f000 09:00 41957674 /lib/x86_64-linux-gnu/ld-2.13.so 7f36cf868000-7f36cf869000 rw-p 00020000 09:00 41957674 /lib/x86_64-linux-gnu/ld-2.13.so 7f36cf869000-7f36cf86b000 rw-p 00000000 00:00 0 7f36cf86b000-7f36cf86f000 rw-p 00000000 00:00 0 7fff426b4000-7fff426e8000 rw-p 00000000 00:00 0 [stack] 7fff42720000-7fff42722000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] VM Arguments: jvm_args: -Xmx2048M -Xms2048M java_command: craftbukkit.jar nogui 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: [libjvm.so+0x65d500], sa_mask[0]=0x7ffbfeff, sa_flags=0x10000004 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.4 uname:Linux 2.6.32-042stab084.14 #1 SMP Mon Dec 16 18:16:56 MSK 2013 x86_64 libc:glibc 2.13 NPTL 2.13 rlimit: STACK 10240k, CORE 0k, NPROC 255559, NOFILE 4096, AS infinity load average:1.15 0.43 0.26 /proc/meminfo: MemTotal: 6291456 kB MemFree: 2014032 kB Cached: 541380 kB Buffers: 0 kB Active: 3222076 kB Inactive: 982756 kB Active(anon): 2979864 kB Inactive(anon): 683588 kB Active(file): 242212 kB Inactive(file): 299168 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 2097152 kB SwapFree: 1522688 kB Dirty: 8664 kB Writeback: 0 kB AnonPages: 3663452 kB Shmem: 6976 kB Slab: 72508 kB SReclaimable: 48676 kB SUnreclaim: 23832 kB CPU:total 6 (6 cores per cpu, 1 threads per core) family 21 model 1 stepping 2, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, mmxext, 3dnowpref, lzcnt, sse4a Memory: 4k page, physical 6291456k(2014036k free), swap 2097152k(1522688k 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: Fri Feb 14 08:20:39 2014 elapsed time: 61 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/20140214/6a77d60d/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Fri Feb 14 04:17:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 14 Feb 2014 12:17:29 +0000 Subject: [Bug 1672] JVM is crashing sometimes with segmentation fault In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1672 Xerxes R?nby changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |xerxes at zafena.se --- Comment #1 from Xerxes R?nby --- vm_info: OpenJDK Server VM (1.6.0-b09) for linux-x86 JRE (1.6.0-b09), built on Nov 12 2009 07:39:38 by "mockbuild" with gcc 4.1.2 20080704 (Red Hat 4.1.2-46) This is an 4 years old build of icedtea using openjdk sourcecode from 2008. If you want support for this build you need to talk with Red Hat enterprise support. Please try use more recent community maintained version of icedtea 6 or 7 release from at least 2013 or 2014. -- 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/20140214/cf1ad442/attachment.html From ptisnovs at icedtea.classpath.org Fri Feb 14 05:03:25 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 14 Feb 2014 13:03:25 +0000 Subject: /hg/gfx-test: Set of new tests added into CAGOperationsOnTwoTouc... Message-ID: changeset 6c9bc506c372 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=6c9bc506c372 author: Pavel Tisnovsky date: Fri Feb 14 14:07:40 2014 +0100 Set of new tests added into CAGOperationsOnTwoTouchingCircles. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java | 175 ++++++++++ 2 files changed, 180 insertions(+), 0 deletions(-) diffs (197 lines): diff -r 2caa5270e52f -r 6c9bc506c372 ChangeLog --- a/ChangeLog Thu Feb 13 09:33:16 2014 +0100 +++ b/ChangeLog Fri Feb 14 14:07:40 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-14 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: + Set of new tests added into CAGOperationsOnTwoTouchingCircles. + 2014-02-13 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnCircleAndRectangle.java: diff -r 2caa5270e52f -r 6c9bc506c372 src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Thu Feb 13 09:33:16 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java Fri Feb 14 14:07:40 2014 +0100 @@ -1232,6 +1232,181 @@ 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 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 testInverseSubtractTextureFillUsingCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingCheckerTexture(image, graphics2d); + // create area using inverse subtract operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(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 touching 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 testIntersectTextureFillUsingCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingCheckerTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingIntersectOperator(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 touching 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 testXorTextureFillUsingCheckerTexture(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // set fill color + CommonRenderingStyles.setTextureFillUsingCheckerTexture(image, graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingXorOperator(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 touching 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 testUnionTextureFillUsingDiagonalCheckerTexture(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.createAreaFromTwoTouchingCirclesUsingUnionOperator(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 touching 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.createAreaFromTwoTouchingCirclesUsingSubtractOperator(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 touching 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.createAreaFromTwoTouchingCirclesUsingInverseSubtractOperator(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 touching 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.createAreaFromTwoTouchingCirclesUsingIntersectOperator(image); + // draw the area + graphics2d.fill(area); + // test result + return TestResult.PASSED; + } + // create area using union operator Area area = CommonCAGOperations.createAreaFromTwoTouchingCirclesUsingUnionOperator(image); // draw the area From ptisnovs at icedtea.classpath.org Fri Feb 14 05:05:38 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 14 Feb 2014 13:05:38 +0000 Subject: /hg/rhino-tests: Enhancement of the test CompiledScriptClassTest. Message-ID: changeset cc40267835dc in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=cc40267835dc author: Pavel Tisnovsky date: Fri Feb 14 14:09:52 2014 +0100 Enhancement of the test CompiledScriptClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/CompiledScriptClassTest.java | 74 ++++++++++++++++++++++++- 2 files changed, 78 insertions(+), 1 deletions(-) diffs (138 lines): diff -r 087d4f0b3133 -r cc40267835dc ChangeLog --- a/ChangeLog Thu Feb 13 09:35:58 2014 +0100 +++ b/ChangeLog Fri Feb 14 14:09:52 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-14 Pavel Tisnovsky + + * src/org/RhinoTests/CompiledScriptClassTest.java: + Enhancement of the test CompiledScriptClassTest. + 2014-02-13 Pavel Tisnovsky * src/org/RhinoTests/InvocableClassTest.java: diff -r 087d4f0b3133 -r cc40267835dc src/org/RhinoTests/CompiledScriptClassTest.java --- a/src/org/RhinoTests/CompiledScriptClassTest.java Thu Feb 13 09:35:58 2014 +0100 +++ b/src/org/RhinoTests/CompiledScriptClassTest.java Fri Feb 14 14:09:52 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. @@ -1675,6 +1675,14 @@ } try { + this.compiledScriptClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compiledScriptClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1731,6 +1739,14 @@ } try { + this.compiledScriptClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compiledScriptClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1739,6 +1755,14 @@ } try { + this.compiledScriptClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.compiledScriptClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1747,6 +1771,22 @@ } try { + this.compiledScriptClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.compiledScriptClass.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.compiledScriptClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } @@ -1795,6 +1835,30 @@ } try { + this.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.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.compiledScriptClass.cast(new javax.swing.JLabel()); throw new AssertionError("Class.cast(new javax.swing.JLabel()) does not throw any exception"); } @@ -1811,6 +1875,14 @@ } try { + this.compiledScriptClass.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.compiledScriptClass.cast(new javax.swing.JPanel()); throw new AssertionError("Class.cast(new javax.swing.JPanel()) does not throw any exception"); } From aazores at redhat.com Fri Feb 14 07:09:59 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 14 Feb 2014 10:09:59 -0500 Subject: [rfc][icedtea-web] allow following of redirected urls In-Reply-To: <52FCB02A.6070306@redhat.com> References: <52FBBDEA.4040808@redhat.com> <52FCAD44.7040006@redhat.com> <52FCB02A.6070306@redhat.com> Message-ID: <52FE31C7.5040605@redhat.com> On 02/13/2014 06:44 AM, Jiri Vanek wrote: > On 02/13/2014 12:32 PM, Jiri Vanek wrote: >> On 02/12/2014 07:31 PM, Jiri Vanek wrote: >>> Here we go! >>> as in subject, >>> >>> J. >> Ugh. THe previous version was not honoring head requests. Fixed. > > Onemore update. A bit improved messages. Looks generally okay to me. Are there any testcases? Thanks, -- Andrew A From aazores at redhat.com Fri Feb 14 07:11:05 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 14 Feb 2014 10:11:05 -0500 Subject: [rfc][icedtea-web] get rid of ConcurrentModificationException in console In-Reply-To: <52FCAD8F.8000701@redhat.com> References: <52FCAD8F.8000701@redhat.com> Message-ID: <52FE3209.50701@redhat.com> On 02/13/2014 06:33 AM, Jiri Vanek wrote: > Sometimes the console throw an ConcurrentModificationException on line > 238 in preSort. This was cuased, becasue sync wos done on *copy* of > original list, so original list was not locked. This is fixing it. > > > J. Looks okay. Thanks, -- Andrew A From jvanek at icedtea.classpath.org Fri Feb 14 08:12:51 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 14 Feb 2014 16:12:51 +0000 Subject: /hg/icedtea-web: 3 new changesets Message-ID: changeset dd0226500903 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=dd0226500903 author: Jiri Vanek date: Wed Feb 12 18:36:45 2014 +0100 Fixed behaviour of href in jnlp file to correctly download another it if it is remote * netx/net/sourceforge/jnlp/Launcher.java: (fromUrl) if file is not local, and have href and href point elsewhere, then it is used as future jnlpfile * tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java: (launchRemoteChangedFileWithHref) adapted to new behaviour changeset 14ed5b5d8ccd in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=14ed5b5d8ccd author: Jiri Vanek date: Thu Feb 13 12:52:42 2014 +0100 Added possibility to follow redirects for javaws in demand by -allowredirect switch. changeset d2563e68c74a in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=d2563e68c74a author: Jiri Vanek date: Thu Feb 13 12:56:17 2014 +0100 Get rid of ConcurrentModificationException in Console output. diffstat: ChangeLog | 30 +++ netx/net/sourceforge/jnlp/Launcher.java | 11 + netx/net/sourceforge/jnlp/cache/ResourceTracker.java | 98 ++++++++- netx/net/sourceforge/jnlp/resources/Messages.properties | 1 + netx/net/sourceforge/jnlp/runtime/Boot.java | 4 + netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 13 + netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java | 10 +- tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java | 5 +- 8 files changed, 151 insertions(+), 21 deletions(-) diffs (302 lines): diff -r 8a12faa4525d -r d2563e68c74a ChangeLog --- a/ChangeLog Wed Feb 12 13:52:13 2014 +0100 +++ b/ChangeLog Thu Feb 13 12:56:17 2014 +0100 @@ -1,3 +1,33 @@ +2014-02-13 Jiri Vanek + + Get rid of ConcurrentModificationException in Console output. + * netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java: (importList) + now synchronise over original data, instead of (somtimes by) copy as, wrongly, before. + +2014-02-13 Jiri Vanek + + Added possibility to follow redirects for javaws in demand by + -allowredirect switch. + * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: added inner class + (CodeWithRedirect), which stores server result and possible redirection target + (getUrlResponseCode) is only wrapper around new (getUrlResponseCodeWithRedirectonResult) + which returns (CodeWithRedirect). It fills url form Location header field if + any. (findBestUrl) now follow 301,302,303,307,308 redirects if enabled + and valid - otherwise new (RedirectionException) is thrown. + * netx/net/sourceforge/jnlp/resources/Messages.properties: described + -allowredirect by (BOredirect) key. + * netx/net/sourceforge/jnlp/runtime/Boot.java: and + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: added handling of + -allowredirect. New (allowRedirect) field. + +2014-02-12 Jiri Vanek + + Fixed behaviour of href in jnlp file to correctly download another it if it is remote + * netx/net/sourceforge/jnlp/Launcher.java: (fromUrl) if file is not local, and + have href and href point elsewhere, then it is used as future jnlpfile + * tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java: + (launchRemoteChangedFileWithHref) adapted to new behaviour + 2014-02-12 Jiri Vanek Implemented Codebase manifest entry handling. diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/Launcher.java Thu Feb 13 12:56:17 2014 +0100 @@ -465,6 +465,17 @@ if (file.getSourceLocation() != null) { haveHref = true; } + if (!isLocal && haveHref){ + //this is case when remote file have href to different file + if (!location.equals(file.getSourceLocation())){ + //mark local true, so the folowing condition will be true and + //new jnlp file will be downlaoded + isLocal = true; + //maybe this check is to strict, and will force redownlaod to often + //another check can be just on jnlp name. But it will not work + //if the href will be the file of same name, but on diferent path (or even domain) + } + } if (isLocal && haveHref) { file = new JNLPFile(file.getSourceLocation(), parserSettings); diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/cache/ResourceTracker.java --- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java Thu Feb 13 12:56:17 2014 +0100 @@ -849,21 +849,55 @@ } } /** - * Connects to the given URL, and grabs a response code if the URL uses - * the HTTP protocol, or returns an arbitrary valid HTTP response code. - * - * @return the response code if HTTP connection, or HttpURLConnection.HTTP_OK if not. + * testing wrapper + * + * @param url + * @param requestProperties + * @param requestMethod + * @return * @throws IOException */ - static int getUrlResponseCode(URL url, Map requestProperties, String requestMethod) throws IOException { + static int getUrlResponseCode(URL url, Map requestProperties, String requestMethod) throws IOException { + return getUrlResponseCodeWithRedirectonResult(url, requestProperties, requestMethod).result; + } + + private static class CodeWithRedirect { + + int result = HttpURLConnection.HTTP_OK; + URL URL; + + public boolean shouldRedirect() { + return (result == 301 + || result == 302 + || result == 303/*?*/ + || result == 307 + || result == 308); + } + + public boolean isInvalid() { + return (result < 200 || result >= 300); + } + } + + /** + * Connects to the given URL, and grabs a response code and redirecton if + * the URL uses the HTTP protocol, or returns an arbitrary valid HTTP + * response code. + * + * @return the response code if HTTP connection and redirection value, or + * HttpURLConnection.HTTP_OK and null if not. + * @throws IOException + */ + static CodeWithRedirect getUrlResponseCodeWithRedirectonResult(URL url, Map requestProperties, String requestMethod) throws IOException { + CodeWithRedirect result = new CodeWithRedirect(); URLConnection connection = url.openConnection(); - for (Map.Entry property : requestProperties.entrySet()){ + for (Map.Entry property : requestProperties.entrySet()) { connection.addRequestProperty(property.getKey(), property.getValue()); } if (connection instanceof HttpURLConnection) { - HttpURLConnection httpConnection = (HttpURLConnection)connection; + HttpURLConnection httpConnection = (HttpURLConnection) connection; httpConnection.setRequestMethod(requestMethod); int responseCode = httpConnection.getResponseCode(); @@ -872,10 +906,24 @@ * See http://docs.oracle.com/javase/1.5.0/docs/guide/net/http-keepalive.html */ HttpUtils.consumeAndCloseConnectionSilently(httpConnection); - return responseCode; + result.result = responseCode; } - return HttpURLConnection.HTTP_OK /* return a valid response code */; + Map> header = connection.getHeaderFields(); + for (Map.Entry> entry : header.entrySet()) { + OutputController.getLogger().log("Key : " + entry.getKey() + " ,Value : " + entry.getValue()); + } + /* + * Do this only on 301,302,303(?)307,308> + * Now setting value for all, and lets upper stack to handle it + */ + String possibleRedirect = connection.getHeaderField("Location"); + if (possibleRedirect != null && possibleRedirect.trim().length() > 0) { + result.URL = new URL(possibleRedirect); + } + + return result; + } @@ -898,15 +946,25 @@ + resource.toString() + " : " + urls); for (String requestMethod : requestMethods) { - for (URL url : urls) { + for (int i = 0; i < urls.size(); i++) { + URL url = urls.get(i); try { Map requestProperties = new HashMap(); requestProperties.put("Accept-Encoding", "pack200-gzip, gzip"); - int responseCode = getUrlResponseCode(url, requestProperties, requestMethod); - - if (responseCode < 200 || responseCode >= 300) { - OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "For " + resource.toString() + " the server returned " + responseCode + " code for " + requestMethod + " request for " + url.toExternalForm()); + CodeWithRedirect response = getUrlResponseCodeWithRedirectonResult(url, requestProperties, requestMethod); + if (response.shouldRedirect()){ + if (response.URL == null) { + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Although " + resource.toString() + " got redirect " + response.result + " code for " + requestMethod + " request for " + url.toExternalForm() + " the target was null. Not following"); + } else { + OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Resource " + resource.toString() + " got redirect " + response.result + " code for " + requestMethod + " request for " + url.toExternalForm() + " adding " + response.URL.toExternalForm()+" to list of possible urls"); + if (!JNLPRuntime.isAllowRedirect()){ + throw new RedirectionException("The resource " + url.toExternalForm() + " is being redirected (" + response.result + ") to " + response.URL.toExternalForm() + ". This is disabled by default. If you wont to allow it, run javaws with -allowredirect parameter."); + } + urls.add(response.URL); + } + } else if (response.isInvalid()) { + OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "For " + resource.toString() + " the server returned " + response.result + " code for " + requestMethod + " request for " + url.toExternalForm()); } else { OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "best url for " + resource.toString() + " is " + url.toString() + " by " + requestMethod); return url; /* This is the best URL */ @@ -1127,6 +1185,18 @@ } } + private static class RedirectionException extends RuntimeException { + + public RedirectionException(String string) { + super(string); + } + + public RedirectionException(Throwable cause) { + super(cause); + } + + } + // inner classes /** diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Feb 13 12:56:17 2014 +0100 @@ -208,6 +208,7 @@ BOStrict = Enables strict checking of JNLP file format. BOViewer = Shows the trusted certificate viewer. BOXml = Uses a strict XML parser to parse the JNLP file. +BOredirect = Allow to follow 301, 302, 303, 307 and 308 redirections BXnofork = Do not create another JVM. BXclearcache= Clean the JNLP application cache. BXignoreheaders= Skip jar header verification. diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/runtime/Boot.java --- a/netx/net/sourceforge/jnlp/runtime/Boot.java Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Thu Feb 13 12:56:17 2014 +0100 @@ -111,6 +111,7 @@ + " -headless " + R("BOHeadless") + "\n" + " -strict " + R("BOStrict") + "\n" + " -xml " + R("BOXml") + "\n" + + " -allowredirect " + R("BOredirect") + "\n" + " -Xnofork " + R("BXnofork") + "\n" + " -Xclearcache " + R("BXclearcache") + "\n" + " -Xignoreheaders " + R("BXignoreheaders") + "\n" @@ -186,6 +187,9 @@ if (null != getOption("-Xignoreheaders")) { JNLPRuntime.setIgnoreHeaders(true); } + if (null != getOption("-allowredirect")) { + JNLPRuntime.setAllowRedirect(true); + } JNLPRuntime.setInitialArgments(Arrays.asList(argsIn)); diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Feb 13 12:56:17 2014 +0100 @@ -143,6 +143,9 @@ /** all security dialogs will be consumed and pretented as being verified by user and allowed.*/ private static boolean trustAll=false; + + /** allows 301.302.303.307.308 redirects to be followed when downloading resources*/ + private static boolean allowRedirect = false;; /** * Header is not checked and so eg @@ -441,6 +444,16 @@ checkInitialized(); headless = enabled; } + + public static void setAllowRedirect(boolean enabled) { + checkInitialized(); + allowRedirect = enabled; + } + + public static boolean isAllowRedirect() { + return allowRedirect; + } + /** * Sets whether we will verify code signing. diff -r 8a12faa4525d -r d2563e68c74a netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java --- a/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Wed Feb 12 13:52:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/util/logging/ConsoleOutputPaneModel.java Thu Feb 13 12:56:17 2014 +0100 @@ -142,10 +142,12 @@ } List sortedList; - if (start == 0) { - sortedList = preSort(dataProvider.getData(), sortByLocal); - } else { - sortedList = preSort(Collections.synchronizedList(dataProvider.getData().subList(start, dataProvider.getData().size())), sortByLocal); + synchronized (dataProvider.getData()) { + if (start == 0) { + sortedList = preSort(dataProvider.getData(), sortByLocal); + } else { + sortedList = preSort(Collections.synchronizedList(dataProvider.getData().subList(start, dataProvider.getData().size())), sortByLocal); + } } lastUpdateIndex = dataProvider.getData().size(); diff -r 8a12faa4525d -r d2563e68c74a tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java --- a/tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java Wed Feb 12 13:52:13 2014 +0100 +++ b/tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java Thu Feb 13 12:56:17 2014 +0100 @@ -150,13 +150,12 @@ //remote //have href - //should NOT be redownloaded - //href is different file + //should be redownloaded as href is different file @Test public void launchRemoteChangedFileWithHref() throws Exception { File f = prepareChangedFileWithHref(); ProcessResult pr = server.executeJavawsHeadless("/" + f.getName()); - Assert.assertTrue("Stdout should contain '" + okBase2 + "', but did not.", pr.stdout.contains(okBase2)); + Assert.assertTrue("Stdout should contain '" + okBase1 + "', but did not.", pr.stdout.contains(okBase1)); } @Test From aazores at redhat.com Fri Feb 14 08:23:14 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 14 Feb 2014 11:23:14 -0500 Subject: [rfc][icedtea-web] Signed applets with codebase loading In-Reply-To: <52FCDBA8.2020208@redhat.com> References: <52EBCC67.5050409@redhat.com> <52FCDBA8.2020208@redhat.com> Message-ID: <52FE42F2.5000001@redhat.com> On 02/13/2014 09:50 AM, Jiri Vanek wrote: > Hi! > > > Changes to classlaoder looks ok, but test do not work: > > Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - > chromium-browser > - WARNING This test is known to fail, but have passed! > Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - opera > - WARNING This test is known to fail, but have passed! > Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - midori > - WARNING This test is known to fail, but have passed! > Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - epiphany > - WARNING This test is known to fail, but have passed! > FAILED: testSignedAppletWithExternalMainClassLaunch - > chromium-browser(SignedAppletExternalMainClassTest) applet did not > initialize > - This test is known to fail > FAILED: testSignedAppletWithExternalMainClassLaunch - > opera(SignedAppletExternalMainClassTest) applet did not initialize > - This test is known to fail > FAILED: testSignedAppletWithExternalMainClassLaunch - > midori(SignedAppletExternalMainClassTest) applet did not initialize > - This test is known to fail > FAILED: testSignedAppletWithExternalMainClassLaunch - > epiphany(SignedAppletExternalMainClassTest) applet did not initialize > - This test is known to fail > Total tests run: 8; From those : 8 known to fail > Test known to fail: passed: 4; failed: 4; ignored: 0 > Test results: passed: 4; failed: 4; ignored: 0 > > > > why??? > > (after removal of exception) > After reading description, whole thread,and code, the second four > should also pass.... Well, this is incredibly embarrassing. The latest commit (mine) to head introduces this regression - external main-class is broken now. :( At the time this patch was originally sent, that test would've been working, but it wasn't present for regression testing against that latest commit, so things broke... > > minor note: > > + private static void assertNoExceptions(ProcessResult pr) { > > + assertFalse(pr.stdout.contains("xception")); > > + assertFalse(pr.stderr.contains("xception")); > > + } > > Please , don't do this. I spent large amount of time in removal of all > those. > nor do assertTrue(pr.stderr.contains("xception"));. Unless you are > searching for appearence/notappearence of some ExactException. Okay, I'll fix this up. > > What about applet, which have few jars signed vith valid signature, > and some vith invalid??? > Isn't it also partially signed one? > The example is recently discovered reproducer for redirection - > https://java.net/projects/electric/downloads/download/electric.jnlp > > Well it is jnlp app, but in this case it sounds to me like valid.... > > What do you think? > I'm not entirely sure what you're asking here. The issues addressed by these patches have to do with loading un-JAR'd classes directly from the codebase - how is this JNLP application connected? Thanks, -- Andrew A From emailgrant at gmail.com Fri Feb 14 09:03:16 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 14 Feb 2014 09:03:16 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <52E7BFA2.20705@RedHat.Com> References: <52CFBD29.4000502@redhat.com> <52D6A58F.7060909@redhat.com> <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@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 > > 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. Has the new ARM stuff made it in? - Grant From thomas at m3y3r.de Fri Feb 14 09:38:27 2014 From: thomas at m3y3r.de (Thomas Meyer) Date: Fri, 14 Feb 2014 18:38:27 +0100 Subject: [icedtea-web] build fails with xulrunner 27 Message-ID: <1392399507.5349.5.camel@localhost.localdomain> Hi, $ hg tip changeset: 892:8a12faa4525d tag: tip user: Jiri Vanek date: Wed Feb 12 13:52:13 2014 +0100 summary: Updated NEWS any ideas? In file included from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaJavaRequestProcessor.h:47:0, from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:45, from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h: In destructor 'ITNPPluginData::~ITNPPluginData()': /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h:93:9: warning: 'void g_mutex_free(GMutex*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:274) [-Wdeprecated-declarations] g_mutex_free (appletviewer_mutex); ^ /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h:93:41: warning: 'void g_mutex_free(GMutex*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:274) [-Wdeprecated-declarations] g_mutex_free (appletviewer_mutex); ^ In file included from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static member function 'static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, NPVariant*)': /usr/include/xulrunner-27.0/npruntime.h:140:30: error: 'nullptr' was not declared in this scope (_v).value.objectValue = nullptr; \ ^ /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: note: in expansion of macro 'VOID_TO_NPVARIANT' VOID_TO_NPVARIANT(*result); ^ make: *** [/home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.o] Error 1 From omajid at redhat.com Fri Feb 14 09:45:57 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 14 Feb 2014 12:45:57 -0500 Subject: [icedtea-web] build fails with xulrunner 27 In-Reply-To: <1392399507.5349.5.camel@localhost.localdomain> References: <1392399507.5349.5.camel@localhost.localdomain> Message-ID: <20140214174557.GF2406@redhat.com> * Thomas Meyer [2014-02-14 12:40]: > In file included > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, > > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static member function 'static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, NPVariant*)': > /usr/include/xulrunner-27.0/npruntime.h:140:30: error: 'nullptr' was not > declared in this scope > (_v).value.objectValue = nullptr; > \ > ^ > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: note: in expansion of macro 'VOID_TO_NPVARIANT' > VOID_TO_NPVARIANT(*result); > ^ > make: *** > [/home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.o] Error 1 xulrunner has started using C++11 code (`nullptr`) in headers. We have to pass extra flags to the compiler to set the C++ standard to use. I am looking at writing a configure fix for this, but in the meantime, perhaps you can pass in CXXFLAGS to the build? There is a temporary fix in Fedora package that does this: http://pkgs.fedoraproject.org/cgit/icedtea-web.git/commit/?id=377d868bc17994a46fca2b0cbe5567ab1944a13b Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From aazores at redhat.com Fri Feb 14 09:46:25 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 14 Feb 2014 12:46:25 -0500 Subject: [icedtea-web] build fails with xulrunner 27 In-Reply-To: <1392399507.5349.5.camel@localhost.localdomain> References: <1392399507.5349.5.camel@localhost.localdomain> Message-ID: <52FE5671.508@redhat.com> On 02/14/2014 12:38 PM, Thomas Meyer wrote: > Hi, > > $ hg tip > changeset: 892:8a12faa4525d > tag: tip > user: Jiri Vanek > date: Wed Feb 12 13:52:13 2014 +0100 > summary: Updated NEWS > > any ideas? > > In file included > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaJavaRequestProcessor.h:47:0, > > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:45, > > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h: > In destructor 'ITNPPluginData::~ITNPPluginData()': > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h:93:9: warning: 'void g_mutex_free(GMutex*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:274) [-Wdeprecated-declarations] > g_mutex_free (appletviewer_mutex); > ^ > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaNPPlugin.h:93:41: warning: 'void g_mutex_free(GMutex*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:274) [-Wdeprecated-declarations] > g_mutex_free (appletviewer_mutex); > ^ > In file included > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, > > from /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static member function 'static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, NPVariant*)': > /usr/include/xulrunner-27.0/npruntime.h:140:30: error: 'nullptr' was not > declared in this scope > (_v).value.objectValue = nullptr; > \ > ^ > /home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: note: in expansion of macro 'VOID_TO_NPVARIANT' > VOID_TO_NPVARIANT(*result); > ^ > make: *** > [/home/thomas/workspace/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.o] Error 1 > > That revision isn't really related. This occurs after you upgrade xulrunner on your system to version 27. We haven't yet patched our configure to check for this, but for now you can edit your configure, look for "CXXFLAGS", and add "-std=c++11" to it. This should enable you to build again. Thanks, -- Andrew A From ChrisPhi at redhat.com Fri Feb 14 10:33:22 2014 From: ChrisPhi at redhat.com (Chris Phillips) Date: Fri, 14 Feb 2014 13:33:22 -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> <52E7BFA2.20705@RedHat.Com> Message-ID: <52FE6172.8090704@RedHat.Com> Hi Grant On 14/02/14 12:03 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 >>>>> 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. > > Has the new ARM stuff made it in? > > - Grant Its in the pipe, probably by next Monday... Chris From ELefeber at trustwave.com Mon Feb 17 02:05:07 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Mon, 17 Feb 2014 10:05:07 +0000 Subject: [icedtea-web-1.4] running sevrial plugins in parallel Message-ID: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. What I see a degradation in performance when there are more plugin processes running. Is there some kind of a lock between processes that could implement on the performance? Or any other idea why the performance gets worse when more plugin processes run in parallel? ________________________________ 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/20140217/188a4e5d/attachment.html From jvanek at redhat.com Mon Feb 17 23:35:24 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 18 Feb 2014 08:35:24 +0100 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> Message-ID: <53030D3C.9060201@redhat.com> On 02/17/2014 11:05 AM, Efrat Lefeber wrote: > I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. Hi! How have you manged it? All applets are supposed to run in single JVM. > > What I see a degradation in performance when there are more plugin processes running. > > Is there some kind of a lock between processes that could implement on the performance? > > Or any other idea why the performance gets worse when more plugin processes run in parallel? > > Regards, J. From ELefeber at trustwave.com Tue Feb 18 00:28:13 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Tue, 18 Feb 2014 08:28:13 +0000 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <53030D3C.9060201@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Tuesday, February 18, 2014 9:35 AM To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel On 02/17/2014 11:05 AM, Efrat Lefeber wrote: > I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. Hi! How have you manged it? All applets are supposed to run in single JVM. > > What I see a degradation in performance when there are more plugin processes running. > > Is there some kind of a lock between processes that could implement on the performance? > > Or any other idea why the performance gets worse when more plugin processes run in parallel? > > Regards, 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 Tue Feb 18 00:36:02 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 18 Feb 2014 09:36:02 +0100 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> Message-ID: <53031B72.3000704@redhat.com> On 02/18/2014 09:28 AM, Efrat Lefeber wrote: > If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) I will look onto it, but it will take time. Just for curiosity - what is an usecase? the workaround like "run just single browser" is probably unsuitable :) Sorry, funny morning here:) As I told, I will try to look whats hidden in this usecase. J. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Tuesday, February 18, 2014 9:35 AM > To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/17/2014 11:05 AM, Efrat Lefeber wrote: >> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. > > Hi! > > How have you manged it? All applets are supposed to run in single JVM. >> >> What I see a degradation in performance when there are more plugin processes running. >> >> Is there some kind of a lock between processes that could implement on the performance? >> >> Or any other idea why the performance gets worse when more plugin processes run in parallel? >> >> > > Regards, > 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 ELefeber at trustwave.com Tue Feb 18 00:52:03 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Tue, 18 Feb 2014 08:52:03 +0000 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <53031B72.3000704@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> <53031B72.3000704@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DECCA4@SKYMB1.trustwave.com> I am writing my own browser. And I have a test which runs several instances of the browser, loads an applet and checks the performance in a loop. What I see is that when running more browsers in parallel - 4,5, the performance drops. -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Tuesday, February 18, 2014 10:36 AM To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel On 02/18/2014 09:28 AM, Efrat Lefeber wrote: > If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) I will look onto it, but it will take time. Just for curiosity - what is an usecase? the workaround like "run just single browser" is probably unsuitable :) Sorry, funny morning here:) As I told, I will try to look whats hidden in this usecase. J. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Tuesday, February 18, 2014 9:35 AM > To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/17/2014 11:05 AM, Efrat Lefeber wrote: >> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. > > Hi! > > How have you manged it? All applets are supposed to run in single JVM. >> >> What I see a degradation in performance when there are more plugin processes running. >> >> Is there some kind of a lock between processes that could implement on the performance? >> >> Or any other idea why the performance gets worse when more plugin processes run in parallel? >> >> > > Regards, > 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 Tue Feb 18 01:41:23 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 18 Feb 2014 10:41:23 +0100 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <52FCE1C2.6080102@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> Message-ID: <53032AC3.3080601@redhat.com> Half of this patch is check for xulrunner enforcing c++x11 standard. The second half is reincarnation of http://icedtea.classpath.org/hg/icedtea-web/rev/c5faf63fc34e I think we should have all those checks valid. On 02/13/2014 04:16 PM, Jiri Vanek wrote: > On 02/13/2014 11:19 AM, Jiri Vanek wrote: >> checking for xulrunner version... 27000000 >> break ITW with >> >> .......... >> In file included from >> /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.h:43:0, >> from >> /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:41: >> /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc: In static >> member function ?static bool IcedTeaScriptableJavaObject::getProperty(NPObject*, NPIdentifier, >> NPVariant*)?: >> /usr/include/xulrunner-27.0/npruntime.h:140:30: error: ?nullptr? was not declared in this scope >> (_v).value.objectValue = nullptr; \ >> ^ >> /tmp/ICWDR_1392230148_BUILD/icedtea-web/plugin/icedteanp/IcedTeaScriptablePluginObject.cc:634:17: >> note: in expansion of macro ?VOID_TO_NPVARIANT? >> VOID_TO_NPVARIANT(*result); >> ............ >> >> J. > > http://osdir.com/ml/blfs-support/2014-02/msg00005.html > > SOunds like we have to add configure switch to xullrunner back > -... :-/ * acinclude.m4: added definition of (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR), which tries to compile small program against new xulrunner api Added (IT_CHECK_XULRUNNER_API_VERSION_C11) which tries to compile program with VOID_TO_NPVARIANT call without the c++0x standard and sets CXXFLAGS accordingly. * configure.ac: added call of (IT_CHECK_XULRUNNER_API_CONSTCHAR) and (IT_CHECK_XULRUNNER_API_VERSION_C11) * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) return type set-up by dependency on defined LEGACY_XULRUNNERAPI. This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. if defined, then old char* is used. New const char* is used otherwise. -------------- next part -------------- A non-text attachment was scrubbed... Name: runOnAllKnownXulrunnersSince2010.patch Type: text/x-patch Size: 3259 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140218/ac4126ce/runOnAllKnownXulrunnersSince2010.patch From mvyskocil at suse.cz Tue Feb 18 06:12:37 2014 From: mvyskocil at suse.cz (Michal Vyskocil) Date: Tue, 18 Feb 2014 15:12:37 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests Message-ID: <20140218141237.GA26115@linux-xtv2.site> Hi, when running more regression tests, I've found two issues in upstream. Attached patches fixes both of them. I have no idea if icedtea's http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules applies for icedtea-web. If so, please let me know and I'll rework them. Regards Michal Vyskocil -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-1.4.2-mkdir.patch Type: text/x-patch Size: 1205 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140218/d8705c2c/icedtea-web-1.4.2-mkdir.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-1.4.2-softkiller-link.patch Type: text/x-patch Size: 575 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140218/d8705c2c/icedtea-web-1.4.2-softkiller-link.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140218/d8705c2c/attachment.bin From jvanek at redhat.com Tue Feb 18 06:19:09 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 18 Feb 2014 15:19:09 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests In-Reply-To: <20140218141237.GA26115@linux-xtv2.site> References: <20140218141237.GA26115@linux-xtv2.site> Message-ID: <53036BDD.2070007@redhat.com> On 02/18/2014 03:12 PM, Michal Vyskocil wrote: > Hi, > > when running more regression tests, I've found two issues in upstream. > Attached patches fixes both of them. I have no idea if icedtea's > http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules > applies for icedtea-web. If so, please let me know and I'll rework them. > > Regards > Michal Vyskocil > Those looks ok. Only the changelog is missing. Those changes have to go also to head, where applicable. I guess all are applicable. May you verify? Do you have push rights? J. From omajid at redhat.com Tue Feb 18 07:32:09 2014 From: omajid at redhat.com (Omair Majid) Date: Tue, 18 Feb 2014 10:32:09 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <53032AC3.3080601@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> Message-ID: <20140218153209.GB4279@redhat.com> Hi Jiri, * Jiri Vanek [2014-02-18 04:43]: > Half of this patch is check for xulrunner enforcing c++x11 standard. > The second half is reincarnation of > http://icedtea.classpath.org/hg/icedtea-web/rev/c5faf63fc34e I like the patch overall, but some nits below. > * acinclude.m4: added definition of (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR), > which tries to compile small program against new xulrunner api > Added (IT_CHECK_XULRUNNER_API_VERSION_C11) which tries to compile program > with VOID_TO_NPVARIANT call without the c++0x standard and sets CXXFLAGS > accordingly. > * configure.ac: added call of (IT_CHECK_XULRUNNER_API_CONSTCHAR) and > (IT_CHECK_XULRUNNER_API_VERSION_C11) > * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) > return type set-up by dependency on defined LEGACY_XULRUNNERAPI. > This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. > if defined, then old char* is used. New const char* is used otherwise. Please read: http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs > diff -r d2563e68c74a acinclude.m4 > --- a/acinclude.m4 Thu Feb 13 12:56:17 2014 +0100 > +++ b/acinclude.m4 Tue Feb 18 10:28:19 2014 +0100 > @@ -520,6 +520,47 @@ > PKG_CHECK_MODULES([GLIB2_V_216],[glib-2.0 >= 2.16],[],[AC_DEFINE([LEGACY_GLIB])]) > ]) > > +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR], This is nitpicking, but I find the macro name confusing. I would either call it IT_CHECK_XULRUNNER_LEGACY_API (based on what it's changing) or call it IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR (based on what it's actually checking). I am open to other alternatives too (and in the worst case will to live with IT_CHEC_XULRUNNER_API_VERSION_CONSTCHAR). > + AC_LANG_PUSH(C++) Nice :) > + CXXFLAGS_BACKUP=$CXXFLAGS > + CXXFLAGS=$CXXFLAGS" "$MOZILLA_CFLAGS Please double quote all CXX/CFLAGS: CXXFLAGS_BACKUP="$CXXFLAGS" CXXFLAGS="$CXXFLAGS $MOZILLA_CFLAGS" > + AC_TRY_COMPILE([ AC_TRY_COMPILE is obsolete [1]. Maybe use AC_COMPILE_IFELSE ? > + #include > + const char* NP_GetMIMEDescription () > + {return (char*) "yap!";} > + ],[],[ The first argument to AC_TRY_COMPILE is includes and the second is the body. You probably want to change the lines to: [#include ], [const char* NP_GetMIMEDescription () {return (char*) "yap!";}], Well, with neater syntax. > +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_API_VERSION_C11], > +[ > + AC_MSG_CHECKING([for xulrunner enforcing C11 standard]) Based on this message, why not call this macro IT_CHECK_XULRUNNER_REQUIRES_C11? > + CXXFLAGS="$CXXFLAGS_BACKUP -std=c++0x" Would it be worth checking if compiler supports the -std=c++0x argument? Also, `man gcc` says the name 'c++0x' is deprecated. Maybe use 'c++11' instead? Thanks, Omair [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/Obsolete-Macros.html -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvr968 at gmail.com Tue Feb 18 10:50:36 2014 From: jvr968 at gmail.com (JvR O) Date: Tue, 18 Feb 2014 19:50:36 +0100 Subject: Accessing java applet public variables Message-ID: I sent values to the signed applet. On html: In the applet public class: public String[] str = new String[100]; @Override public void init() { nstr = this.getParameter("valuename1"); //TODO this.str[0]= "appletstringvalue1"; } At javascript: var a = document.getElementById('appletid'); var jstr = a.str; alert('jstr: '+jstr[0]); If I use a similar script with ORACLE JRE on windows or mac the alerts shows a string. jstr: appletstringvalue1 But if I use similiar script on ubuntu with OPENJDK I receive. jstr: undefined The java.log shows the value of jstr if I print to the log in both cases. Why Javascript is not receiving the applet values on linux or openjdk? The conversion of the objects (Java/Applet to JS) works correctly in the ORACLE JRE but with OPENJDK wich comes with linux (Ubuntu or Fedora, etc) is not working, or maybe I need to access to JavaArray in a different way? Any suggestion? Thank You. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140218/27f946b4/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Feb 18 14:50:22 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 18 Feb 2014 22:50:22 +0000 Subject: [Bug 1676] New: enhance the list of secure jnlp properties to support useLegacyMergeSort Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1676 Bug ID: 1676 Summary: enhance the list of secure jnlp properties to support useLegacyMergeSort Product: IcedTea-Web Version: 1.4 Hardware: x86_64 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: NetX (javaws) Assignee: omajid at redhat.com Reporter: vincent.privat at gmail.com CC: unassigned at icedtea.classpath.org This is an RFE to add the property java.util.Arrays.useLegacyMergeSort to the list of secure properties. This has been done in Oracle's WebStart implementation through https://bugs.openjdk.java.net/browse/JDK-7160619 and https://bugs.openjdk.java.net/browse/JDK-2226471 We use this property as a workaround to problems caused by the new JDK7 sorting algorithm, but it seems to work only with Oracle's VM, not IcedTea. Here is the software version that obviously does not allow to set this property: Identification: Linux Debian GNU/Linux 7.4 (wheezy) Java version: 1.7.0_25, Oracle Corporation, OpenJDK Server VM Java package: openjdk-7-jre:i386-7u25-2.3.10-1~deb7u1 WebStart package: icedtea-netx:i386-1.4-3~deb7u2 VM arguments: [-Xbootclasspath/a:/usr/share/icedtea-web/netx.jar, -Xms8m, -Dicedtea-web.bin.name=javaws, -Dicedtea-web.bin.location=/usr/bin/javaws, -Djava.security.manager, -Djava.security.policy=/etc/icedtea-web/javaws.policy] See https://josm.openstreetmap.de/ticket/8888#comment:5 and next comments for additional info. -- 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/20140218/34911e85/attachment.html From mvyskocil at suse.cz Wed Feb 19 01:31:34 2014 From: mvyskocil at suse.cz (Michal Vyskocil) Date: Wed, 19 Feb 2014 10:31:34 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests In-Reply-To: <53036BDD.2070007@redhat.com> References: <20140218141237.GA26115@linux-xtv2.site> <53036BDD.2070007@redhat.com> Message-ID: <20140219093134.GD9111@linux-xtv2.site> On Tue, Feb 18, 2014 at 03:19:09PM +0100, Jiri Vanek wrote: > On 02/18/2014 03:12 PM, Michal Vyskocil wrote: > >Hi, > > > >when running more regression tests, I've found two issues in upstream. > >Attached patches fixes both of them. I have no idea if icedtea's > >http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules > >applies for icedtea-web. If so, please let me know and I'll rework them. > > > >Regards > >Michal Vyskocil > > > > > Those looks ok. Only the changelog is missing. Those changes have to > go also to head, where applicable. I guess all are applicable. May > you verify? Do you have push rights? Hi Jiri, As you wish - those are reworked patches with added ChangeLog entry. The public keystore/mkdir patch is different between HEAD and 1.4.2 due XDG change. The link patch is basically the same, differs only in ChangeLog hunk. For HEAD (sorry, those are from git format-patch, hope that's ok): * 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch * 0002-Put-link-flags-to-the-end-of-gcc-command-line.patch For 1.4.2 (those are from quilt ...): * icedtea-web-1.4.2-mkdir.patch * icedtea-web-1.4.2-softkiller-link.patch I don't have a push access, so please apply them on your own. Regards Michal Vyskocil -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-1.4.2-mkdir.patch Type: text/x-patch Size: 1700 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/d7203ba4/icedtea-web-1.4.2-mkdir.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-1.4.2-softkiller-link.patch Type: text/x-patch Size: 1156 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/d7203ba4/icedtea-web-1.4.2-softkiller-link.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch Type: text/x-patch Size: 2454 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/d7203ba4/0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch Type: text/x-patch Size: 2454 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/d7203ba4/0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/d7203ba4/attachment.bin From jvanek at redhat.com Wed Feb 19 01:48:21 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 19 Feb 2014 10:48:21 +0100 Subject: Accessing java applet public variables In-Reply-To: References: Message-ID: <53047DE5.6030205@redhat.com> On 02/18/2014 07:50 PM, JvR O wrote: > I sent values to the signed applet. > > On html: > > id='appletid' > codebase="/demo/" > code='appletpkg.appletclass' > archive='./sapplet.jar' > width=1 height=1> > > > > In the applet public class: > > public String[] str = new String[100]; > > @Override > public void init() { > > nstr = this.getParameter("valuename1"); > //TODO > this.str[0]= "appletstringvalue1"; > > } From your description is not clear whats wrong. The access from applet is 100% working. We have eg this tests http://icedtea.classpath.org/hg/icedtea-web/file/d2563e68c74a/tests/reproducers/simple/AppletTakesLastParam/ and it is long term passing one. > > At javascript: > > var a = document.getElementById('appletid'); > var jstr = a.str; > > alert('jstr: '+jstr[0]); From html - it is working to. But it is the question for browser then. Or not? > > If I use a similar script with ORACLE JRE on windows or mac the alerts shows a string. > > jstr: appletstringvalue1 > > But if I use similiar script on ubuntu with OPENJDK I receive. > > jstr: undefined > > The java.log shows the value of jstr if I print to the log in both cases. > > Why Javascript is not receiving the applet values on linux or openjdk? tbh this is the first time I'm seeing this approach. Not sure if it is standart on[1] > > The conversion of the objects (Java/Applet to JS) works correctly in the ORACLE JRE but with OPENJDK > wich comes with linux (Ubuntu or Fedora, etc) is not working, or maybe I need to access to JavaArray > in a different way? > > > Any suggestion? > yes - use the DOM:) But it donot exclude that this is bug in ITW. j. [1] http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html ..well they could not make it simpple... This approach is heavily tested in ITW... But yes. The arrays have sometimes probelms. From mvyskocil at suse.cz Wed Feb 19 04:53:13 2014 From: mvyskocil at suse.cz (Michal Vyskocil) Date: Wed, 19 Feb 2014 13:53:13 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests In-Reply-To: <20140219093134.GD9111@linux-xtv2.site> References: <20140218141237.GA26115@linux-xtv2.site> <53036BDD.2070007@redhat.com> <20140219093134.GD9111@linux-xtv2.site> Message-ID: <20140219125313.GE5798@linux-xtv2.site> On Wed, Feb 19, 2014 at 10:31:34AM +0100, Michal Vyskocil wrote: > On Tue, Feb 18, 2014 at 03:19:09PM +0100, Jiri Vanek wrote: > > On 02/18/2014 03:12 PM, Michal Vyskocil wrote: > > >Hi, > > > > > >when running more regression tests, I've found two issues in upstream. > > >Attached patches fixes both of them. I have no idea if icedtea's > > >http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules > > >applies for icedtea-web. If so, please let me know and I'll rework them. > > > > > >Regards > > >Michal Vyskocil > > > > > > > > > Those looks ok. Only the changelog is missing. Those changes have to > > go also to head, where applicable. I guess all are applicable. May > > you verify? Do you have push rights? > > Hi Jiri, > > As you wish - those are reworked patches with added ChangeLog entry. The > public keystore/mkdir patch is different between HEAD and 1.4.2 due XDG > change. The link patch is basically the same, differs only in ChangeLog > hunk. > > For HEAD (sorry, those are from git format-patch, hope that's ok): > * 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch > * 0002-Put-link-flags-to-the-end-of-gcc-command-line.patch > For 1.4.2 (those are from quilt ...): > * icedtea-web-1.4.2-mkdir.patch > * icedtea-web-1.4.2-softkiller-link.patch OK an another attempt - just one patch per branch as requested ... * icedtea-web-HEAD-test-build-fixes.patch * icedtea-web-1.4.2-test-build-fixes.patch Hope that's OK now Regards Michal Vyskocil > > I don't have a push access, so please apply them on your own. > > Regards > Michal Vyskocil -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-HEAD-test-build-fixes.patch Type: text/x-patch Size: 2610 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/3df2c835/icedtea-web-HEAD-test-build-fixes-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: icedtea-web-1.4.2-test-build-fixes.patch Type: text/x-patch Size: 1880 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/3df2c835/icedtea-web-1.4.2-test-build-fixes-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/3df2c835/attachment-0001.bin From jvanek at icedtea.classpath.org Wed Feb 19 06:39:23 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 19 Feb 2014 14:39:23 +0000 Subject: /hg/release/icedtea-web-1.4: Make sure that path to PUBLIC_KEYST... Message-ID: changeset 1d4c7bc579d8 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=1d4c7bc579d8 author: Jiri Vanek date: Wed Feb 19 15:38:50 2014 +0100 Make sure that path to PUBLIC_KEYSTORE exists to prevent keytool fail and put link flags to the end of gcc command line to prevent link failures diffstat: ChangeLog | 7 +++++++ Makefile.am | 4 +++- tests/softkiller/Makefile | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diffs (47 lines): diff -r 50e472e1275f -r 1d4c7bc579d8 ChangeLog --- a/ChangeLog Wed Feb 05 12:56:23 2014 +0100 +++ b/ChangeLog Wed Feb 19 15:38:50 2014 +0100 @@ -1,3 +1,10 @@ +2014-02-19 Michal Vyskocil + + Put link flags to the end of gcc command line to prevent link failures + Make sure that path to PUBLIC_KEYSTORE exists to prevent keytool fail + * tests/softkiller/Makefile: put -lX11 to the end of command line + * Makefile.am: if path to PUBLIC_KEYSTORE does not exists, make it + 2014-02-04 Jiri Vanek Added salt to plugin-java pipes' directory (fixing RH1010958) diff -r 50e472e1275f -r 1d4c7bc579d8 Makefile.am --- a/Makefile.am Wed Feb 05 12:56:23 2014 +0100 +++ b/Makefile.am Wed Feb 19 15:38:50 2014 +0100 @@ -39,7 +39,8 @@ export EXPORTED_TEST_CERT_PREFIX=icedteatests export EXPORTED_TEST_CERT_SUFFIX=crt export TEST_CERT_ALIAS=icedteaweb -export PUBLIC_KEYSTORE=${HOME}/.icedtea/security/trusted.certs +export PUBLIC_KEYSTORE_DIR=${HOME}/.icedtea/security +export PUBLIC_KEYSTORE=$(PUBLIC_KEYSTORE_DIR)/trusted.certs export PUBLIC_KEYSTORE_PASS=changeit export SOFTKILLER=softkiller @@ -642,6 +643,7 @@ touch $@ stamps/netx-dist-tests-prepare-reproducers.stamp: stamps/junit-jnlp-dist-dirs stamps/liveconnect-dist.stamp stamps/netx-dist.stamp stamps/plugin.stamp + mkdir -p $(PUBLIC_KEYSTORE_DIR) ; \ types=($(ALL_NONCUSTOM_REPRODUCERS)); \ for which in "$${types[@]}" ; do \ . $(abs_top_srcdir)/NEW_LINE_IFS ; \ diff -r 50e472e1275f -r 1d4c7bc579d8 tests/softkiller/Makefile --- a/tests/softkiller/Makefile Wed Feb 05 12:56:23 2014 +0100 +++ b/tests/softkiller/Makefile Wed Feb 19 15:38:50 2014 +0100 @@ -2,7 +2,7 @@ # (this function does not exist in C89/ANSI C) softkiller: softkiller.c - $(CC) -Wall -pedantic -std=c99 -o $@ -lX11 $< + $(CC) -Wall -pedantic -std=c99 -o $@ $< -lX11 clean: rm softkiller From jvanek at icedtea.classpath.org Wed Feb 19 06:39:26 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 19 Feb 2014 14:39:26 +0000 Subject: /hg/icedtea-web: Make sure that path to PUBLIC_KEYSTORE exists t... Message-ID: changeset db83ddf35fc0 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=db83ddf35fc0 author: Jiri Vanek date: Wed Feb 19 15:39:02 2014 +0100 Make sure that path to PUBLIC_KEYSTORE exists to prevent keytool fail and put link flags to the end of gcc command line to prevent link failures diffstat: ChangeLog | 7 +++++++ Makefile.am | 6 ++++++ tests/softkiller/Makefile | 2 +- 3 files changed, 14 insertions(+), 1 deletions(-) diffs (56 lines): diff -r d2563e68c74a -r db83ddf35fc0 ChangeLog --- a/ChangeLog Thu Feb 13 12:56:17 2014 +0100 +++ b/ChangeLog Wed Feb 19 15:39:02 2014 +0100 @@ -1,3 +1,10 @@ +2014-02-19 Michal Vyskocil + + Put link flags to the end of gcc command line to prevent link failures + Make sure that path to PUBLIC_KEYSTORE exists to prevent keytool fail + * tests/softkiller/Makefile: put -lX11 to the end of command line + * Makefile.am: if path to PUBLIC_KEYSTORE does not exists, make it + 2014-02-13 Jiri Vanek Get rid of ConcurrentModificationException in Console output. diff -r d2563e68c74a -r db83ddf35fc0 Makefile.am --- a/Makefile.am Thu Feb 13 12:56:17 2014 +0100 +++ b/Makefile.am Wed Feb 19 15:39:02 2014 +0100 @@ -735,6 +735,8 @@ PUBLIC_KEYSTORE=${HOME}/.config ; \ fi ;\ PUBLIC_KEYSTORE=$$PUBLIC_KEYSTORE/$(PUBLIC_KEYSTORE_STUB); \ + keystoredir=`dirname $(PUBLIC_KEYSTORE)`; \ + [ ! -d $(keystoredir) ] && mkdir -p $(keystoredir); \ for which in "$${types[@]}" ; do \ $(BOOT_DIR)/bin/keytool -delete -alias $(TEST_CERT_ALIAS)_$$which -keystore $$PUBLIC_KEYSTORE -storepass $(PUBLIC_KEYSTORE_PASS) ; \ done ; @@ -752,6 +754,8 @@ PUBLIC_KEYSTORE=${HOME}/.config ; \ fi ;\ PUBLIC_KEYSTORE=$$PUBLIC_KEYSTORE/$(PUBLIC_KEYSTORE_STUB); \ + keystoredir=`dirname $(PUBLIC_KEYSTORE)`; \ + [ ! -d $(keystoredir) ] && mkdir -p $(keystoredir); \ for which in "$${types[@]}" ; do \ yes | $(BOOT_DIR)/bin/keytool -import -alias $(TEST_CERT_ALIAS)_$$which -keystore $$PUBLIC_KEYSTORE -storepass $(PUBLIC_KEYSTORE_PASS) -file $(EXPORTED_TEST_CERT_PREFIX)_$$which.$(EXPORTED_TEST_CERT_SUFFIX) ;\ done ; @@ -765,6 +769,8 @@ PUBLIC_KEYSTORE=${HOME}/.config ; \ fi ;\ PUBLIC_KEYSTORE=$$PUBLIC_KEYSTORE/$(PUBLIC_KEYSTORE_STUB); \ + keystoredir=`dirname $(PUBLIC_KEYSTORE)`; \ + [ ! -d $(keystoredir) ] && mkdir -p $(keystoredir); \ for which in "$${types[@]}" ; do \ $(BOOT_DIR)/bin/keytool -delete -alias $(TEST_CERT_ALIAS)_$$which -keystore $$PUBLIC_KEYSTORE -storepass $(PUBLIC_KEYSTORE_PASS) ; \ done ; diff -r d2563e68c74a -r db83ddf35fc0 tests/softkiller/Makefile --- a/tests/softkiller/Makefile Thu Feb 13 12:56:17 2014 +0100 +++ b/tests/softkiller/Makefile Wed Feb 19 15:39:02 2014 +0100 @@ -2,7 +2,7 @@ # (this function does not exist in C89/ANSI C) softkiller: softkiller.c - $(CC) -Wall -pedantic -std=c99 -o $@ -lX11 $< + $(CC) -Wall -pedantic -std=c99 -o $@ $< -lX11 clean: rm softkiller From jvanek at redhat.com Wed Feb 19 06:41:34 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 19 Feb 2014 15:41:34 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests In-Reply-To: <20140219125313.GE5798@linux-xtv2.site> References: <20140218141237.GA26115@linux-xtv2.site> <53036BDD.2070007@redhat.com> <20140219093134.GD9111@linux-xtv2.site> <20140219125313.GE5798@linux-xtv2.site> Message-ID: <5304C29E.3080302@redhat.com> On 02/19/2014 01:53 PM, Michal Vyskocil wrote: > On Wed, Feb 19, 2014 at 10:31:34AM +0100, Michal Vyskocil wrote: >> On Tue, Feb 18, 2014 at 03:19:09PM +0100, Jiri Vanek wrote: >>> On 02/18/2014 03:12 PM, Michal Vyskocil wrote: >>>> Hi, >>>> >>>> when running more regression tests, I've found two issues in upstream. >>>> Attached patches fixes both of them. I have no idea if icedtea's >>>> http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules >>>> applies for icedtea-web. If so, please let me know and I'll rework them. >>>> >>>> Regards >>>> Michal Vyskocil >>>> >>> >>> >>> Those looks ok. Only the changelog is missing. Those changes have to >>> go also to head, where applicable. I guess all are applicable. May >>> you verify? Do you have push rights? >> >> Hi Jiri, >> >> As you wish - those are reworked patches with added ChangeLog entry. The >> public keystore/mkdir patch is different between HEAD and 1.4.2 due XDG >> change. The link patch is basically the same, differs only in ChangeLog >> hunk. >> >> For HEAD (sorry, those are from git format-patch, hope that's ok): >> * 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch >> * 0002-Put-link-flags-to-the-end-of-gcc-command-line.patch >> For 1.4.2 (those are from quilt ...): >> * icedtea-web-1.4.2-mkdir.patch >> * icedtea-web-1.4.2-softkiller-link.patch > > OK an another attempt - just one patch per branch as requested ... > > * icedtea-web-HEAD-test-build-fixes.patch > * icedtea-web-1.4.2-test-build-fixes.patch > > Hope that's OK now > > Regards > Michal Vyskocil > >> >> I don't have a push access, so please apply them on your own. >> >> Regards >> Michal Vyskocil Hi! I have pushed both your changesets. Thanx! Just veryfing Do not 1.4 need the same check in +mkdir -p $(PUBLIC_KEYSTORE_DIR) ; \ as head do? ( [ ! -d $(keystoredir) ] && mkdir -p $(keystoredir); \) Thanx for contribution, J. From jvanek at redhat.com Wed Feb 19 06:56:12 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 19 Feb 2014 15:56:12 +0100 Subject: [rfc][icedtea-web] save runn urls to property Message-ID: <5304C60C.5070608@redhat.com> hi! As java abrt connector is sending quite good reports, the url, on which I can reproduce the issue is missing. So always my first question in bug is "may you please post url" ? Also java connector is printing out system properties. So it crossed my mind to store the launched jnlps/htmls for this usage. I have quite mixed feelings about it but do not have it makes java-abrt-connector a bit useless (users donot care to much about auto generated bugs) - see https://bugzilla.redhat.com/show_bug.cgi?id=1060390 This needs also some more work on java-abrt-conenctor - see https://github.com/jfilak/abrt-java-connector/issues/34 J. -------------- next part -------------- A non-text attachment was scrubbed... Name: saveVisitedUrlsToProperty.patch Type: text/x-patch Size: 2496 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/36b1ad19/saveVisitedUrlsToProperty.patch From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 07:19:02 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 15:19:02 +0000 Subject: [Bug 1677] New: [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Bug ID: 1677 Summary: [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools Product: IcedTea Version: 7-hg Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org https://bugs.gentoo.org/show_bug.cgi?id=498288 -- 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/20140219/49678632/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 07:19:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 15:19:58 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED URL| |https://bugs.gentoo.org/sho | |w_bug.cgi?id=498288 Target Milestone|--- |2.4.6 -- 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/20140219/bd645f7a/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 07:44:27 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 15:44:27 +0000 Subject: [Bug 1678] New: Could not read or parse the JNLP file Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 Bug ID: 1678 Summary: Could not read or parse the JNLP file Product: IcedTea-Web Version: 1.4 Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P5 Component: NetX (javaws) Assignee: omajid at redhat.com Reporter: priscila at redhat.com CC: unassigned at icedtea.classpath.org Created attachment 1027 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1027&action=edit fully error message Fatal: Read Error: Could not read or parse JNLP file. You can download this file manually and send it as bug report to IceTea-Web team. [pveiga at Coyote Desktop]$ javaws bomgar-rep-remotesupport.redhat.com.desktop netx: Read Error: Could not read or parse the JNLP file. (Invalid XML document syntax. (XML Parse Exception during parsing of the XML definition at line 1: Expected: '<' but got: '[')) Attached is the full error message. -- 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/20140219/cb93c911/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 08:54:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 16:54:53 +0000 Subject: [Bug 1678] Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jvanek at redhat.com --- Comment #1 from JiriVanek --- Why are you launching desktop file? You are supposed to run url to jnlp file. Ideally to remote jnlp file like http://doamin.some/blah.jnlp as offline is very often forbidden for jnlp apps. -- 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/20140219/d96b0d0a/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 09:00:59 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 17:00:59 +0000 Subject: [Bug 1678] Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 JiriVanek changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 |P1 Severity|major |minor --- Comment #2 from JiriVanek --- Also please, inlude text outputs from console in verbose mode, not screenshots of error. It is making indexing impossible. -- 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/20140219/da524c20/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 09:04:18 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 17:04:18 +0000 Subject: [Bug 1678] Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 pveiga at redhat.com changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P3 Severity|minor |major --- Comment #3 from pveiga at redhat.com --- 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:480) at net.sourceforge.jnlp.Launcher.launch(Launcher.java:285) 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:219) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:203) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:188) at net.sourceforge.jnlp.JNLPFile.(JNLPFile.java:174) at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:460) ... 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/20140219/82aaf6e6/attachment.html From jvanek at redhat.com Wed Feb 19 09:20:30 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 19 Feb 2014 18:20:30 +0100 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <20140218153209.GB4279@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> Message-ID: <5304E7DE.9060408@redhat.com> Here you go. All should be fixed. On 02/18/2014 04:32 PM, Omair Majid wrote: > Hi Jiri, > > * Jiri Vanek [2014-02-18 04:43]: >> Half of this patch is check for xulrunner enforcing c++x11 standard. >> The second half is reincarnation of >> http://icedtea.classpath.org/hg/icedtea-web/rev/c5faf63fc34e > > I like the patch overall, but some nits below. > >> * acinclude.m4: added definition of (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR), >> which tries to compile small program against new xulrunner api >> Added (IT_CHECK_XULRUNNER_API_VERSION_C11) which tries to compile program >> with VOID_TO_NPVARIANT call without the c++0x standard and sets CXXFLAGS >> accordingly. >> * configure.ac: added call of (IT_CHECK_XULRUNNER_API_CONSTCHAR) and >> (IT_CHECK_XULRUNNER_API_VERSION_C11) >> * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) >> return type set-up by dependency on defined LEGACY_XULRUNNERAPI. >> This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. >> if defined, then old char* is used. New const char* is used otherwise. > > Please read: > http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs zzz, what you dont like? > >> diff -r d2563e68c74a acinclude.m4 >> --- a/acinclude.m4 Thu Feb 13 12:56:17 2014 +0100 >> +++ b/acinclude.m4 Tue Feb 18 10:28:19 2014 +0100 >> @@ -520,6 +520,47 @@ >> PKG_CHECK_MODULES([GLIB2_V_216],[glib-2.0 >= 2.16],[],[AC_DEFINE([LEGACY_GLIB])]) >> ]) >> >> +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR], > > This is nitpicking, but I find the macro name confusing. I would either > call it IT_CHECK_XULRUNNER_LEGACY_API (based on what it's changing) or > call it IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR (based on what it's > actually checking). I am open to other alternatives too (and in the > worst case will to live with IT_CHEC_XULRUNNER_API_VERSION_CONSTCHAR). Sure - fixed. > >> + AC_LANG_PUSH(C++) > > Nice :) > >> + CXXFLAGS_BACKUP=$CXXFLAGS >> + CXXFLAGS=$CXXFLAGS" "$MOZILLA_CFLAGS > > Please double quote all CXX/CFLAGS: > > CXXFLAGS_BACKUP="$CXXFLAGS" > CXXFLAGS="$CXXFLAGS $MOZILLA_CFLAGS" > >> + AC_TRY_COMPILE([ > > AC_TRY_COMPILE is obsolete [1]. Maybe use AC_COMPILE_IFELSE ? Thank you! I'm a bit wiser again :) > >> + #include >> + const char* NP_GetMIMEDescription () >> + {return (char*) "yap!";} >> + ],[],[ > > The first argument to AC_TRY_COMPILE is includes and the second is the > body. You probably want to change the lines to: > > [#include ], > [const char* NP_GetMIMEDescription () > {return (char*) "yap!";}], > > Well, with neater syntax. ugh. yes. Fixed. > >> +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_API_VERSION_C11], >> +[ >> + AC_MSG_CHECKING([for xulrunner enforcing C11 standard]) > > Based on this message, why not call this macro > IT_CHECK_XULRUNNER_REQUIRES_C11? > Sure fixed. >> + CXXFLAGS="$CXXFLAGS_BACKUP -std=c++0x" > > Would it be worth checking if compiler supports the -std=c++0x argument? Nope. If it is not supported, we are screwed anyway, or not? > Also, `man gcc` says the name 'c++0x' is deprecated. Maybe use 'c++11' Sure. > instead? > > Thanks, > Omair > > [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/Obsolete-Macros.html > Thanx for review! I hop eyou will be more happy withnew version. The c11 aprt needs to be backported to 1.4. ok? And btw - is it worthy to so anrelease because of it? tarball and RPMS are now not-rebuildable:( J. -------------- next part -------------- A non-text attachment was scrubbed... Name: runOnAllKnownXulrunnersSince2010_2.patch Type: text/x-patch Size: 2289 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/a51a16bb/runOnAllKnownXulrunnersSince2010_2.patch From andrew at icedtea.classpath.org Wed Feb 19 10:18:38 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Wed, 19 Feb 2014 18:18:38 +0000 Subject: /hg/icedtea7: PR1677: Update PaX support to detect running PaX k... Message-ID: changeset ec3cd225cbec in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=ec3cd225cbec author: Andrew John Hughes date: Wed Feb 19 18:18:22 2014 +0000 PR1677: Update PaX support to detect running PaX kernel and use newer tools 2014-02-19 Andrew John Hughes PR1677: Update PaX support to detect running PaX kernel and use newer tools * NEWS: Updated. * acinclude.m4: (IT_HAS_PAX): New macro to detect whether the running kernel uses PaX. (IT_WITH_PAX): Rewritten to search for PaX tools - currently paxmark.sh, paxctl-ng, chpax and paxctl - and fail if a tool isn't found and a PaX kernel is being used. diffstat: ChangeLog | 13 ++++++++ NEWS | 1 + acinclude.m4 | 94 ++++++++++++++++++++++++++++++++++++++++------------------- 3 files changed, 78 insertions(+), 30 deletions(-) diffs (144 lines): diff -r e46a1e7c6441 -r ec3cd225cbec ChangeLog --- a/ChangeLog Wed Feb 05 12:19:45 2014 +0000 +++ b/ChangeLog Wed Feb 19 18:18:22 2014 +0000 @@ -1,3 +1,16 @@ +2014-02-19 Andrew John Hughes + + PR1677: Update PaX support to detect running PaX + kernel and use newer tools + * NEWS: Updated. + * acinclude.m4: + (IT_HAS_PAX): New macro to detect whether the running + kernel uses PaX. + (IT_WITH_PAX): Rewritten to search for PaX tools - + currently paxmark.sh, paxctl-ng, chpax and paxctl - + and fail if a tool isn't found and a PaX kernel is + being used. + 2014-02-05 Andrew John Hughes * Makefile.am: diff -r e46a1e7c6441 -r ec3cd225cbec NEWS --- a/NEWS Wed Feb 05 12:19:45 2014 +0000 +++ b/NEWS Wed Feb 19 18:18:22 2014 +0000 @@ -376,6 +376,7 @@ - Add new files from 8019229 - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp + - PR1677: Update PaX support to detect running PaX kernel and use newer tools * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim diff -r e46a1e7c6441 -r ec3cd225cbec acinclude.m4 --- a/acinclude.m4 Wed Feb 05 12:19:45 2014 +0000 +++ b/acinclude.m4 Wed Feb 19 18:18:22 2014 +0000 @@ -2330,45 +2330,79 @@ AC_SUBST([enable_downloading]) ]) +AC_DEFUN_ONCE([IT_HAS_PAX], +[ + AC_MSG_CHECKING([if a PaX kernel is in use]) + if cat /proc/self/status | grep '^PaX' >&AS_MESSAGE_LOG_FD 2>&1; then + pax_active=yes; + else + pax_active=no; + fi + AC_MSG_RESULT([${pax_active}]) + AM_CONDITIONAL([USING_PAX], test x"${pax_active}" = "xyes") +]) + AC_DEFUN_ONCE([IT_WITH_PAX], [ - AC_MSG_CHECKING([for pax utility to use]) + AC_REQUIRE([IT_HAS_PAX]) + PAX_DEFAULT=/usr/sbin/paxmark.sh + AC_MSG_CHECKING([if a PaX utility was specified]) AC_ARG_WITH([pax], [AS_HELP_STRING(--with-pax=COMMAND,the command used for pax marking)], [ - PAX_COMMAND=${withval} + if test "x${withval}" = "xyes"; then + PAX_COMMAND=no + else + PAX_COMMAND="${withval}" + fi ], [ + PAX_COMMAND=no + ]) + AC_MSG_RESULT(${PAX_COMMAND}) + if test "x${PAX_COMMAND}" == "xno"; then + PAX_COMMAND=${PAX_DEFAULT} + fi + AC_MSG_CHECKING([if $PAX_COMMAND is a valid executable file]) + if test -x "${PAX_COMMAND}" && test -f "${PAX_COMMAND}"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PAX_COMMAND="" + AC_PATH_PROG(PAX_COMMAND, "paxmark.sh") + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl-ng") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "chpax") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl") + fi + if test -z "${PAX_COMMAND}"; then + if test "x${pax_active}" = "xyes"; then + AC_MSG_ERROR("No PaX utility found and running on a PaX kernel.") + else + AC_MSG_WARN("No PaX utility found.") + fi + fi + fi + if test -z "${PAX_COMMAND}"; then PAX_COMMAND="not specified" - ]) - case "x${PAX_COMMAND}" in - xchpax) - case "${host_cpu}" in - i?86) - PAX_COMMAND_ARGS="-msp" - ;; - *) - PAX_COMMAND_ARGS="-m" - ;; - esac - ;; - xpaxctl) - case "${host_cpu}" in - i?86) - PAX_COMMAND_ARGS="-msp" - ;; - *) - PAX_COMMAND_ARGS="-m" - ;; - esac - ;; - *) - PAX_COMMAND="not specified" - PAX_COMMAND_ARGS="not specified" - ;; - esac + PAX_COMMAND_ARGS="not specified" + else + AC_MSG_CHECKING([which options to pass to ${PAX_COMMAND}]) + case "${host_cpu}" in + i?86) + PAX_COMMAND_ARGS="-msp" + ;; + *) + PAX_COMMAND_ARGS="-m" + ;; + esac + AC_MSG_RESULT(${PAX_COMMAND_ARGS}) + fi AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "xnot specified") - AC_MSG_RESULT(${PAX_COMMAND}) AC_SUBST(PAX_COMMAND) AC_SUBST(PAX_COMMAND_ARGS) ]) From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 10:18:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 18:18:49 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=ec3cd225cbec author: Andrew John Hughes date: Wed Feb 19 18:18:22 2014 +0000 PR1677: Update PaX support to detect running PaX kernel and use newer tools 2014-02-19 Andrew John Hughes PR1677: Update PaX support to detect running PaX kernel and use newer tools * NEWS: Updated. * acinclude.m4: (IT_HAS_PAX): New macro to detect whether the running kernel uses PaX. (IT_WITH_PAX): Rewritten to search for PaX tools - currently paxmark.sh, paxctl-ng, chpax and paxctl - and fail if a tool isn't found and a PaX kernel is being used. -- 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/20140219/e6e8f207/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 10:42:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 18:42:53 +0000 Subject: [Bug 1678] Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 Andrew Azores changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aazores at redhat.com --- Comment #4 from Andrew Azores --- Possible duplicate of 1635? http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1635 -- 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/20140219/3594adda/attachment.html From omajid at redhat.com Wed Feb 19 11:05:38 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 19 Feb 2014 14:05:38 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <5304E7DE.9060408@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> Message-ID: <20140219190538.GC19966@redhat.com> Hi Jiri, * Jiri Vanek [2014-02-19 12:20]: > On 02/18/2014 04:32 PM, Omair Majid wrote: > >* Jiri Vanek [2014-02-18 04:43]: > >> * acinclude.m4: added definition of (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR), > >> which tries to compile small program against new xulrunner api > >> Added (IT_CHECK_XULRUNNER_API_VERSION_C11) which tries to compile program > >> with VOID_TO_NPVARIANT call without the c++0x standard and sets CXXFLAGS > >> accordingly. > >> * configure.ac: added call of (IT_CHECK_XULRUNNER_API_CONSTCHAR) and > >> (IT_CHECK_XULRUNNER_API_VERSION_C11) > >> * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) > >> return type set-up by dependency on defined LEGACY_XULRUNNERAPI. > >> This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. > >> if defined, then old char* is used. New const char* is used otherwise. > > > >Please read: > >http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs > > zzz, what you dont like? Sorry, I know this is nitpicking, but the guidelines ask for a specific format. The acinclude.m4 change, for example, should be like this: * acinclude.m4 (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR): New macro. (IT_CHECK_XULRUNNER_API_VERSION_C11): New macro. As in: - Please put the macro/function name in first place in the line - Colon (`:`) goes after the function/macro name. - New functions/macros just get `New function` or `New macro`. - Documentation on functions/macros go with the function/macro implementation, not in the Changelog. - Parenthesis are used where a function is declared, not called. And often 'all callers changed' is sufficient. > >Would it be worth checking if compiler supports the -std=c++0x argument? > > Nope. If it is not supported, we are screwed anyway, or not? Yeah, we are. But it's much nicer if configure detects and reports this as the error. The other case, where the build mysteriously fails is not so nice. But it's your call whether you want to do that or not. > The c11 aprt needs to be backported to 1.4. ok? And btw - is it > worthy to so anrelease because of it? tarball and RPMS are now > not-rebuildable:( As the maintainer, new release are your call :) Anyway, +1 from me. > + CXXFLAGS="$CXXFLAGS"" ""$MOZILLA_CFLAGS" Why not just CXXFLAGS="$CXXFLAGS $MOZILLA_CFLAGS" ? > + AC_COMPILE_IFELSE([ > + #include > + ][ This '][' is weird style. Wouldn't it be nicer just leaving it out? On first look, I misread it as `],[` (with a `,` in the middle). On the other hand, maybe use AC_LANG_PROGRAM to generate the source [1] and you can keep the [#include ] separate. This also avoids the autoconf warning because autoconf expects AC_LANG_SOURCE or AC_LANG_PROGRAM to be used with AC_COMIPLE_IFELSE. > + AC_MSG_CHECKING([for xulrunner enforcing C11 standard]) Please replace C11 with C++11. These are different things, apparently [2] :) Thanks, Omair [1] https://www.flameeyes.eu/autotools-mythbuster/forwardporting/autoconf.html [2] http://en.wikipedia.org/wiki/C11_(C_standard_revision) -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gnu.andrew at redhat.com Wed Feb 19 12:28:34 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 19 Feb 2014 15:28:34 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: <52FE6172.8090704@RedHat.Com> References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> Message-ID: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> ----- Original Message ----- > Hi Grant > > On 14/02/14 12:03 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 > >>>>> 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. > > > > Has the new ARM stuff made it in? > > > > - Grant > Its in the pipe, probably by next Monday... > > Chris > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 -- 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 Wed Feb 19 12:30:20 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 20:30:20 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.4.6 |2.3.14 --- Comment #2 from Andrew John Hughes --- Also include in 2.3.14. -- 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/20140219/a320316b/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 12:49:42 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 20:49:42 +0000 Subject: [Bug 1679] New: [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1679 Bug ID: 1679 Summary: [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org If the kernel has PaX enabled with MPROTECT provisions, the OpenJDK build fails in two places: * Running the gamma test in HotSpot * Running the just-built rmic in the make/com/sun/jmx/Makefile part of the JDK build Both are cases of running just-built code and require that the binary is first PaX marked, disabling MPROTECT. IcedTea currently does this via patching but it should be done in OpenJDK itself to allow raw forest builds. -- 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/20140219/27b53b27/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 12:50:03 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 20:50:03 +0000 Subject: [Bug 1679] [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1679 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Target Milestone|--- |2.3.14 -- 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/20140219/6da2b1eb/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 12:50:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 20:50:31 +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 --- Comment #3 from Andrew John Hughes --- http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 should fix this. -- 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/20140219/b99b7d12/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 13:09:05 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 21:09:05 +0000 Subject: [Bug 1679] [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1679 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest?cmd=changeset;node=fc5d15cc35b4 author: andrew date: Wed Feb 19 21:07:59 2014 +0000 PR1679: Allow OpenJDK to build on PaX-enabled kernels -- 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/20140219/d2491373/attachment.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 13:09:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 21:09:34 +0000 Subject: [Bug 1679] [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1679 --- Comment #2 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/hotspot?cmd=changeset;node=07ff7650769e author: andrew date: Wed Feb 19 21:08:04 2014 +0000 PR1679: Allow OpenJDK to build on PaX-enabled kernels -- 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/20140219/b4694e95/attachment-0001.html From bugzilla-daemon at icedtea.classpath.org Wed Feb 19 13:09:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Wed, 19 Feb 2014 21:09:49 +0000 Subject: [Bug 1679] [IcedTea7] Allow OpenJDK to build on PaX-enabled kernels In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1679 --- Comment #3 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7-forest/jdk?cmd=changeset;node=3162252ff26b author: andrew date: Wed Feb 19 21:08:02 2014 +0000 PR1679: Allow OpenJDK to build on PaX-enabled kernels -- 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/20140219/5ebd20b7/attachment.html From aazores at redhat.com Wed Feb 19 14:19:33 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 19 Feb 2014 17:19:33 -0500 Subject: [rfc][icedtea-web] PolicyEditor In-Reply-To: <52FD43CB.9010102@redhat.com> References: <52FBAE01.7080202@redhat.com> <52FCCEE5.8080303@redhat.com> <52FD43CB.9010102@redhat.com> Message-ID: <53052DF5.3010700@redhat.com> On 02/13/2014 05:14 PM, Andrew Azores wrote: > On 02/13/2014 08:55 AM, Jiri Vanek wrote: > >> >> Hi! >> >> I have no general issues with this.Considering it was done n best mind;) >> After reading it, I'm against making it separate project. I would >> much ratehr keep it in itew.. and suggestion .. add new luncher? next >> to itw-settings javaws.. SimplePolicyEditor? > > I didn't get around to that with this patch, but I'll work on that > next. Either a new launcher beside itweb-settings and javaws, or a > standalone launcher as a separate project... ;) I really do think this > idea has some merit. Maybe the editor seems small and simple enough > now to stay within ITW, but I think it's already got enough utility to > be a replacement for PolicyTool for a lot of users. Most of whom > probably are using IcedTea-Web anyway, but not necessarily. > Launcher added as well. I think I did it right? Please carefully check that I didn't miss any steps or make any errors though. >> Onemore think I noted After I click the send - yo are allowing the >> app to open multiple simple editor windows in time. This may be >> dangerous. - maybe some check "underlying file have changed, reload?) >> (but yah, advaced tool do the same )I'm for - >> - have it as modal dialogue in itw-settings >> - have it on frame in case of seaprate application (see suggestion >> in previous email) >> - otherwse do as you wish ::) > > Hmm. I don't think I like the idea of making it modal in this > situation (just seems like it is not necessary, and unnecessary > modality is really irritating to deal with as a user IMO), but "file > has changed, reload/ignore/quit" does sound good. I will look into > that next. Besides, even if we make it modal, that doesn't actually > protect us against concurrent modification very much. Perhaps > itweb-settings control panel can be made to handle the PolicyEditor in > the same way that PolicyEditor handles CustomPolicyViewer - if there > is no instance, create one. If there is an instance, focus it rather > than creating another. I chose this approach after all. The PolicyPanel will bring the existing PolicyEditor to front, rather than making a new one. I think it works quite well. I wanted to implement a "underlying file has changed, reload/ignore/quit" type of check, but it seems like this was only made into a standard library feature in Java 7, and I didn't see anything in our own utilities to help with it. I'd rather avoid adding a worker thread to poll the file or something ugly like that as well, but I suppose it would be doable. Apache Commons VFS can provide this, but I don't know if we want to pull in that dependency just for this. > > - "parsing"/"deserializing" is not the most robust. I haven't tested > it with random garbage malformed text or with comments in the middle > of a block, etc. These hardening improvements will come a bit later > on, right now I want to nail down the functionality/visuals. I may end > up refactoring the models even further, so hardening it now might be a > waste of effort Comments mostly work, but if you have a line like this: /* comment */ permission somepermission ... ; then the whole thing is considered a comment. I think this is okay for a small, "lightweight" editor like this, but maybe eventually it will gain a proper parser (rather than the simple line-by-line "parsing" it does now) to be able to handle this. Double-slash type comments are handled a bit more nicely. Similarly, it doesn't properly handle multiple permissions on one line: permission permissionA ...; permission permissionB ...; and for now this will just have to be "good enough" I think. Anyway, this would only happen if someone edited their policy file by hand and did this. > > I'm planning to add plenty of unit testing to the models introduced > with this patch, but I'm out of time today and am taking a short day > tomorrow, so I'm not sure if I'll get those done before the end of the > week, and I wanted to get this out for at least visuals feedback first. > > Thanks, > - More unit tests were added, for the new models - Fixed some bugs with file loading and UI updating. Still, sometimes the list view looks strange after a load, as if the topmost list element is mostly above the list and can't be scrolled into view, and I'm not sure what to do about that. Adding a new codebase forces the list to update and it fixes itself at least. The topmost element is always "All Applets" anyway so that's not too bad. - FileUtils.getFileLock() usage was also added where the policy file is loaded and saved. - Launching policyeditor from the command line with exactly one arg is interpreted as being meant as a file path, since it's a little annoying to use the -file flag when this is also the only flag the program even accepts other than -help. The -file flag remains in use simply because policytool has it and I'd like to keep that option compatible. Still OK for head? Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policy-editor-5.patch Type: text/x-patch Size: 130337 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140219/cb72f7fd/policy-editor-5-0001.patch From andrew at icedtea.classpath.org Thu Feb 20 07:11:26 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 20 Feb 2014 15:11:26 +0000 Subject: /hg/icedtea7: Update to icedtea-2.5pre02. Message-ID: changeset 6a756a2b18c7 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=6a756a2b18c7 author: Andrew John Hughes date: Thu Feb 20 15:10:15 2014 +0000 Update to icedtea-2.5pre02. 2014-02-19 Andrew John Hughes * patches/boot/test_gamma.patch, * patches/pax-mark-rmic-java.patch, * patches/test_gamma.patch: Removed. * INSTALL: Document ARM32 JIT and --enable-arm32-jit option. * Makefile.am: (CORBA_CHANGESET): Update to icedtea-2.5pre02 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. (ICEDTEA_PATCHES): Remove PaX patches. (ICEDTEA_BOOT_PATCHES): Remove test_gamma patch (fixed by detection of non-Oracle JDK addition from PPC port) (ARM32JIT_STATUS): Set based on ENABLE_ARM32JIT. (ICEDTEA_ENV): Pass ARM32JIT and PAX_COMMAND to OpenJDK build. * NEWS: Move backports and bug fixes common to all archs above PPC items. Updated with PaX and ARM changes. * acinclude.m4: (IT_ENABLE_ARM32JIT): Allow the ARM32 JIT to be enabled. * configure.ac: Bump to 2.5pre02. Run IT_ENABLE_ARM32JIT macro. * hotspot.map: Update to icedtea-2.5pre02 tag. diffstat: ChangeLog | 38 ++++++++++++++++++ INSTALL | 5 ++ Makefile.am | 44 ++++++++++----------- NEWS | 81 ++++++++++++++++++++------------------- acinclude.m4 | 22 ++++++++++ configure.ac | 3 +- hotspot.map | 2 +- patches/boot/test_gamma.patch | 47 ----------------------- patches/pax-mark-rmic-java.patch | 10 ---- patches/test_gamma.patch | 47 ----------------------- 10 files changed, 131 insertions(+), 168 deletions(-) diffs (417 lines): diff -r ec3cd225cbec -r 6a756a2b18c7 ChangeLog --- a/ChangeLog Wed Feb 19 18:18:22 2014 +0000 +++ b/ChangeLog Thu Feb 20 15:10:15 2014 +0000 @@ -1,3 +1,41 @@ +2014-02-19 Andrew John Hughes + + * patches/boot/test_gamma.patch, + * patches/pax-mark-rmic-java.patch, + * patches/test_gamma.patch: + Removed. + * INSTALL: + Document ARM32 JIT and --enable-arm32-jit option. + * Makefile.am: + (CORBA_CHANGESET): Update to icedtea-2.5pre02 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. + (ICEDTEA_PATCHES): Remove PaX patches. + (ICEDTEA_BOOT_PATCHES): Remove test_gamma + patch (fixed by detection of non-Oracle JDK + addition from PPC port) + (ARM32JIT_STATUS): Set based on ENABLE_ARM32JIT. + (ICEDTEA_ENV): Pass ARM32JIT and PAX_COMMAND to + OpenJDK build. + * NEWS: Move backports and bug fixes common to + all archs above PPC items. Updated with PaX and + ARM changes. + * acinclude.m4: + (IT_ENABLE_ARM32JIT): Allow the ARM32 JIT to be + enabled. + * configure.ac: Bump to 2.5pre02. Run + IT_ENABLE_ARM32JIT macro. + * hotspot.map: Update to icedtea-2.5pre02 tag. + 2014-02-19 Andrew John Hughes PR1677: Update PaX support to detect running PaX diff -r ec3cd225cbec -r 6a756a2b18c7 INSTALL --- a/INSTALL Wed Feb 19 18:18:22 2014 +0000 +++ b/INSTALL Thu Feb 20 15:10:15 2014 +0000 @@ -206,6 +206,7 @@ * --enable-system-kerberos: Link against the system Kerberos library and query it at runtime to obtain the cache location, rather than using a hardcoded value. +* --enable-arm32-jit: Build the ARM32 JIT. Testing ======= @@ -303,6 +304,10 @@ --enable-shark to configure. Please note that Shark is still in development and builds are still likely to fail at present. +On ARM32, there is also a native JIT port built on top of Zero. This +still has issues and is thus not enabled by default. To enable it, +pass --enable-arm32-jit to configure. + Support for Different Versions of HotSpot ========================================= diff -r ec3cd225cbec -r 6a756a2b18c7 Makefile.am --- a/Makefile.am Wed Feb 19 18:18:22 2014 +0000 +++ b/Makefile.am Thu Feb 20 15:10:15 2014 +0000 @@ -4,19 +4,19 @@ BUILD_VERSION = b03 COMBINED_VERSION = $(JDK_UPDATE_VERSION)-$(BUILD_VERSION) -CORBA_CHANGESET = 47343904e95d -JAXP_CHANGESET = 74093b75ddd4 -JAXWS_CHANGESET = 3f7212cae6eb -JDK_CHANGESET = 7d5b758810c2 -LANGTOOLS_CHANGESET = 0d89cc5766d7 -OPENJDK_CHANGESET = ba9872fc05cc +CORBA_CHANGESET = 16906c5a09da +JAXP_CHANGESET = d7085aad637f +JAXWS_CHANGESET = 4aeccc3040fa +JDK_CHANGESET = 3162252ff26b +LANGTOOLS_CHANGESET = f75a642c2913 +OPENJDK_CHANGESET = fc5d15cc35b4 -CORBA_SHA256SUM = 78298de3f81eab8c6875f802d76789ad615920a4278f5665eea79045ee0da638 -JAXP_SHA256SUM = 5fc990186c57ed95ad3f9fb4783e874085f1fc624afb81899354c0df04cad73e -JAXWS_SHA256SUM = d31d69e23ccf362c569d714d3ba10236e5c2735ec1b156cdba75359b3f1e9e51 -JDK_SHA256SUM = 6c9615bad9788034df920514437ccfca7db44e06761cfc2b21d367f55938bcb2 -LANGTOOLS_SHA256SUM = b1ffddcca4bf3a68b95a410002235d062469362193aadf2b886e9a06092a8d35 -OPENJDK_SHA256SUM = 0c451d9f107ac425d1b1d0f283f12a268ec1ec1e6d13d266a53723896d1cb578 +CORBA_SHA256SUM = 29dec824dd068c8ba89e9d079bc63e5c408ccc915118098381734495a0ef6610 +JAXP_SHA256SUM = 68540ee04cc159e4fb1dcc6f138242049fb870e907c4268b163039ad8ab5cae3 +JAXWS_SHA256SUM = 773022f057151aefb8c632670f0059e49a1e9b1d95a45e86e2450b0b5aaf6619 +JDK_SHA256SUM = 8680fd2a56dc388abaa9c3350d79f38f6638099406e81bc665d8f1a1f09273e5 +LANGTOOLS_SHA256SUM = 61363d33c482ead26951ba60eef75a2f8410178b2bed1eea012365cbf6f26ad4 +OPENJDK_SHA256SUM = 5f1548010cce513537e232609557d12ab854ff17d4fbaa83a830e1b3216fc0ee CACAO_VERSION = e215e36be9fc CACAO_SHA256SUM = 4966514c72ee7ed108b882d9b6e65c3adf8a8f9c2dccb029f971b3c8cb4870ab @@ -297,12 +297,6 @@ ICEDTEA_PATCHES += patches/nss-config.patch endif -if WITH_PAX -ICEDTEA_PATCHES += \ - patches/test_gamma.patch \ - patches/pax-mark-rmic-java.patch -endif - ICEDTEA_PATCHES += $(DISTRIBUTION_PATCHES) # Bootstrapping patches @@ -350,10 +344,6 @@ patches/boot/xbootclasspath.patch endif -if !WITH_PAX -ICEDTEA_BOOT_PATCHES += patches/boot/test_gamma.patch -endif - if CP39408_JAVAH ICEDTEA_BOOT_PATCHES += patches/boot/pr39408.patch endif @@ -433,6 +423,12 @@ WERROR_STATUS=false endif +if ENABLE_ARM32JIT +ARM32JIT_STATUS=true +else +ARM32JIT_STATUS=false +endif + ICEDTEA_ENV = \ ALT_JDK_IMPORT_PATH="$(BOOT_DIR)" \ ANT="$(ANT)" \ @@ -517,7 +513,9 @@ SYSTEM_PCSC="${ENABLE_SYSTEM_PCSC}" \ PCSC_LIBS="${PCSC_LIBS}" \ PCSC_CFLAGS="${PCSC_CFLAGS}" \ - COMPRESS_JARS="${ENABLE_JAR_COMPRESSION}" + COMPRESS_JARS="${ENABLE_JAR_COMPRESSION}" \ + ARM32JIT="${ARM32JIT_STATUS}" \ + PAX_COMMAND="${PAX_COMMAND}" if ENABLE_CACAO ICEDTEA_ENV += \ diff -r ec3cd225cbec -r 6a756a2b18c7 NEWS --- a/NEWS Wed Feb 19 18:18:22 2014 +0000 +++ b/NEWS Thu Feb 20 15:10:15 2014 +0000 @@ -119,6 +119,46 @@ - 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 +* 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 + - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change + - 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 + - Add Shark definitions from 8003868 + - 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) + - PR1659: OpenJDK 7 returns incorrect TrueType font metrics when bold style is set + - PR1661: Cleanup COMPILE_AGAINST_SYSCALLS option and allow it to be set false + - PR1661: Cleanup COMPRESS_JARS option and allow it to be set false + - PR1661: Cleanup SYSTEM_CUPS option and allow it to be set false + - PR1661: Cleanup SYSTEM_FONTCONFIG option and allow it to be set false + - PR1661: Cleanup SYSTEM_GIF option and allow it to be set false + - PR1661: Cleanup SYSTEM_GIO option and allow it to be set false + - PR1661: Cleanup SYSTEM_GTK option and allow it to be set false + - PR1661: Cleanup SYSTEM_JPEG option and allow it to be set false + - PR1661: Cleanup SYSTEM_LCMS option and allow it to be set false + - PR1661: Cleanup SYSTEM_PCSC option and allow it to be set false + - PR1661: Cleanup SYSTEM_PNG option and allow it to be set false + - PR1664: Ensure all SYSTEM_* options are in jdk_generic_profile.sh + - Link against $(LIBDL) if SYSTEM_CUPS is not true + - Only get CFLAGS/LIBS for libpcsclite if installed + - Add lost #endif + - Add new files from 8019229 + - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp + - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp + - PR1677: Update PaX support to detect running PaX kernel and use newer tools + - PR1679: Allow OpenJDK to build on PaX-enabled kernels * 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 @@ -338,45 +378,8 @@ - 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 - - S8008509: 6588413 changed JNIEXPORT visibility for GCC on HSX, jdk's jni_md.h needs similar change - - 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 - - Add Shark definitions from 8003868 - - 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) - - PR1659: OpenJDK 7 returns incorrect TrueType font metrics when bold style is set - - PR1661: Cleanup COMPILE_AGAINST_SYSCALLS option and allow it to be set false - - PR1661: Cleanup COMPRESS_JARS option and allow it to be set false - - PR1661: Cleanup SYSTEM_CUPS option and allow it to be set false - - PR1661: Cleanup SYSTEM_FONTCONFIG option and allow it to be set false - - PR1661: Cleanup SYSTEM_GIF option and allow it to be set false - - PR1661: Cleanup SYSTEM_GIO option and allow it to be set false - - PR1661: Cleanup SYSTEM_GTK option and allow it to be set false - - PR1661: Cleanup SYSTEM_JPEG option and allow it to be set false - - PR1661: Cleanup SYSTEM_LCMS option and allow it to be set false - - PR1661: Cleanup SYSTEM_PCSC option and allow it to be set false - - PR1661: Cleanup SYSTEM_PNG option and allow it to be set false - - PR1664: Ensure all SYSTEM_* options are in jdk_generic_profile.sh - - Link against $(LIBDL) if SYSTEM_CUPS is not true - - Only get CFLAGS/LIBS for libpcsclite if installed - - Add lost #endif - - Add new files from 8019229 - - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp - - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp - - PR1677: Update PaX support to detect running PaX kernel and use newer tools +* ARM port + - ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off. * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim diff -r ec3cd225cbec -r 6a756a2b18c7 acinclude.m4 --- a/acinclude.m4 Wed Feb 19 18:18:22 2014 +0000 +++ b/acinclude.m4 Thu Feb 20 15:10:15 2014 +0000 @@ -2655,3 +2655,25 @@ AC_PROVIDE([$0])dnl AM_CONDITIONAL([VM_SUPPORTS_XBOOTCLASSPATH], test x"${it_cv_xbootclasspath_works}" = "xyes") ]) + +AC_DEFUN([IT_ENABLE_ARM32JIT], +[ + AC_MSG_CHECKING([whether to enable the ARM32 JIT]) + AC_ARG_ENABLE([arm32-jit], + [AS_HELP_STRING(--enable-arm32-jit,build with the ARM32 JIT [[default=no]])], + [ + case "${enableval}" in + yes) + enable_arm32jit=yes + ;; + *) + enable_arm32jit=no + ;; + esac + ], + [ + enable_arm32jit=no + ]) + AC_MSG_RESULT([$enable_arm32jit]) + AM_CONDITIONAL([ENABLE_ARM32JIT], test x"${enable_arm32jit}" = "xyes") +]) diff -r ec3cd225cbec -r 6a756a2b18c7 configure.ac --- a/configure.ac Wed Feb 19 18:18:22 2014 +0000 +++ b/configure.ac Thu Feb 20 15:10:15 2014 +0000 @@ -1,4 +1,4 @@ -AC_INIT([icedtea], [2.5pre], [distro-pkg-dev at openjdk.java.net]) +AC_INIT([icedtea], [2.5pre02], [distro-pkg-dev at openjdk.java.net]) AM_INIT_AUTOMAKE([1.9 tar-pax foreign]) AC_CONFIG_FILES([Makefile]) @@ -175,6 +175,7 @@ IT_ENABLE_WERROR IT_ENABLE_JAR_COMPRESSION IT_CHECK_ADDITIONAL_VMS +IT_ENABLE_ARM32JIT IT_WITH_VERSION_SUFFIX IT_WITH_PROJECT diff -r ec3cd225cbec -r 6a756a2b18c7 hotspot.map --- a/hotspot.map Wed Feb 19 18:18:22 2014 +0000 +++ b/hotspot.map Thu Feb 20 15:10:15 2014 +0000 @@ -1,2 +1,2 @@ # version url changeset sha256sum -default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot bc178be7e9d6 6811d400c0922adc78a7859f1b3e208889f0b4e3f7c4772379070ae7f11516f1 +default http://icedtea.classpath.org/hg/icedtea7-forest/hotspot f30e87f16d90 871fa08b8e9d7a2958cee844f940752c39b1946146dc382c005269e86b687a49 diff -r ec3cd225cbec -r 6a756a2b18c7 patches/boot/test_gamma.patch --- a/patches/boot/test_gamma.patch Wed Feb 19 18:18:22 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -diff -Nru ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile openjdk-boot/hotspot/make/linux/Makefile ---- ../openjdk.orig/openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 -+++ openjdk-boot/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 -@@ -287,42 +287,36 @@ - - $(TARGETS_C2): $(SUBDIRS_C2) - cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_TIERED): $(SUBDIRS_TIERED) - cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_C1): $(SUBDIRS_C1) - cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_CORE): $(SUBDIRS_CORE) - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_ZERO): $(SUBDIRS_ZERO) - cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_SHARK): $(SUBDIRS_SHARK) - cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install - endif - diff -r ec3cd225cbec -r 6a756a2b18c7 patches/pax-mark-rmic-java.patch --- a/patches/pax-mark-rmic-java.patch Wed Feb 19 18:18:22 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ ---- openjdk/jdk/make/com/sun/jmx/Makefile -+++ openjdk/jdk/make/com/sun/jmx/Makefile -@@ -119,6 +119,7 @@ - - $(CLASSDESTDIR)/%_Stub.class: $(CLASSDESTDIR)/%.class - $(prep-target) -+ "$(TOPDIR)"/../../pax-mark-vm "$(OUTPUTDIR)" - $(RMIC) -classpath "$(CLASSDESTDIR)" \ - -d $(CLASSDESTDIR) \ - -v1.2 \ diff -r ec3cd225cbec -r 6a756a2b18c7 patches/test_gamma.patch --- a/patches/test_gamma.patch Wed Feb 19 18:18:22 2014 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +0,0 @@ -diff -Nru ../openjdk.orig/openjdk/hotspot/make/linux/Makefile openjdk/hotspot/make/linux/Makefile ---- ../openjdk.orig/openjdk/hotspot/make/linux/Makefile 2009-10-30 17:37:07.000000000 +0000 -+++ openjdk/hotspot/make/linux/Makefile 2009-10-30 17:45:40.000000000 +0000 -@@ -287,42 +287,36 @@ - - $(TARGETS_C2): $(SUBDIRS_C2) - cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_compiler2/$@ && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_TIERED): $(SUBDIRS_TIERED) - cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_tiered/$(patsubst %tiered,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_C1): $(SUBDIRS_C1) - cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_compiler1/$(patsubst %1,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_CORE): $(SUBDIRS_CORE) - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_ZERO): $(SUBDIRS_ZERO) - cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(VARIANTARCH)_zero/$(patsubst %zero,%,$@) && $(MAKE) $(MFLAGS) install - endif - - $(TARGETS_SHARK): $(SUBDIRS_SHARK) - cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) -- cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && ./test_gamma - ifdef INSTALL - cd $(OSNAME)_$(VARIANTARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install - endif - From andrew at icedtea.classpath.org Thu Feb 20 07:21:36 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Thu, 20 Feb 2014 15:21:36 +0000 Subject: /hg/icedtea7: Mention PR1626 as fixed by last changeset. Message-ID: changeset 25092cbc5ace in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=25092cbc5ace author: Andrew John Hughes date: Thu Feb 20 15:21:28 2014 +0000 Mention PR1626 as fixed by last changeset. 2014-02-20 Andrew John Hughes * NEWS: Mention PR1626. diffstat: ChangeLog | 4 ++++ NEWS | 2 +- 2 files changed, 5 insertions(+), 1 deletions(-) diffs (23 lines): diff -r 6a756a2b18c7 -r 25092cbc5ace ChangeLog --- a/ChangeLog Thu Feb 20 15:10:15 2014 +0000 +++ b/ChangeLog Thu Feb 20 15:21:28 2014 +0000 @@ -1,3 +1,7 @@ +2014-02-20 Andrew John Hughes + + * NEWS: Mention PR1626. + 2014-02-19 Andrew John Hughes * patches/boot/test_gamma.patch, diff -r 6a756a2b18c7 -r 25092cbc5ace NEWS --- a/NEWS Thu Feb 20 15:10:15 2014 +0000 +++ b/NEWS Thu Feb 20 15:21:28 2014 +0000 @@ -379,7 +379,7 @@ - Use stubs to implement safefetch. - Use the solaris' approach of doing IsXRenderAvailable check for AIX * ARM port - - ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off. + - PR1626: ARM32 assembler update for hsx24. Use ARM32JIT to turn it on/off. * JamVM - JVM_NewMultiArray: element class may be an array - jtreg test java/lang/reflect/Array/ExceedMaxDim From bugzilla-daemon at icedtea.classpath.org Thu Feb 20 07:21:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 20 Feb 2014 15:21:43 +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 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=25092cbc5ace author: Andrew John Hughes date: Thu Feb 20 15:21:28 2014 +0000 Mention PR1626 as fixed by last changeset. 2014-02-20 Andrew John Hughes * NEWS: Mention PR1626. -- 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/20140220/16c60b45/attachment.html From bugzilla-daemon at icedtea.classpath.org Thu Feb 20 07:22:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 20 Feb 2014 15:22:38 +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|ASSIGNED |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/20140220/81ccdbf1/attachment-0001.html From jvanek at redhat.com Thu Feb 20 07:37:55 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 20 Feb 2014 16:37:55 +0100 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <20140219190538.GC19966@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> Message-ID: <53062153.2010806@redhat.com> On 02/19/2014 08:05 PM, Omair Majid wrote: > Hi Jiri, > > * Jiri Vanek [2014-02-19 12:20]: >> On 02/18/2014 04:32 PM, Omair Majid wrote: >>> * Jiri Vanek [2014-02-18 04:43]: >>>> * acinclude.m4: added definition of (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR), >>>> which tries to compile small program against new xulrunner api >>>> Added (IT_CHECK_XULRUNNER_API_VERSION_C11) which tries to compile program >>>> with VOID_TO_NPVARIANT call without the c++0x standard and sets CXXFLAGS >>>> accordingly. >>>> * configure.ac: added call of (IT_CHECK_XULRUNNER_API_CONSTCHAR) and >>>> (IT_CHECK_XULRUNNER_API_VERSION_C11) >>>> * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) >>>> return type set-up by dependency on defined LEGACY_XULRUNNERAPI. >>>> This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. >>>> if defined, then old char* is used. New const char* is used otherwise. >>> >>> Please read: >>> http://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html#Style-of-Change-Logs >> >> zzz, what you dont like? > > Sorry, I know this is nitpicking, but the guidelines ask for a specific > format. > > The acinclude.m4 change, for example, should be like this: > > * acinclude.m4 (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR): New macro. > (IT_CHECK_XULRUNNER_API_VERSION_C11): New macro. > > As in: > - Please put the macro/function name in first place in the line > - Colon (`:`) goes after the function/macro name. > - New functions/macros just get `New function` or `New macro`. > - Documentation on functions/macros go with the function/macro > implementation, not in the Changelog. > - Parenthesis are used where a function is declared, not called. And > often 'all callers changed' is sufficient. > hope that is better: * acinclude.m4: added (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR) macro, Added (IT_CHECK_XULRUNNER_API_VERSION_C11) * configure.ac: added call of IT_CHECK_XULRUNNER_API_CONSTCHAR and IT_CHECK_XULRUNNER_API_VERSION_C11 * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) return type set-up by dependency on defined LEGACY_XULRUNNERAPI. This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. if defined, then old char* is used. New const char* is used otherwise. >>> Would it be worth checking if compiler supports the -std=c++0x argument? >> >> Nope. If it is not supported, we are screwed anyway, or not? > > Yeah, we are. But it's much nicer if configure detects and reports this > as the error. The other case, where the build mysteriously fails is not > so nice. But it's your call whether you want to do that or not. > ok as separate changeset please (how time permit) >> The c11 aprt needs to be backported to 1.4. ok? And btw - is it >> worthy to so anrelease because of it? tarball and RPMS are now >> not-rebuildable:( > > As the maintainer, new release are your call :) > > Anyway, +1 from me. > >> + CXXFLAGS="$CXXFLAGS"" ""$MOZILLA_CFLAGS" > > Why not just CXXFLAGS="$CXXFLAGS $MOZILLA_CFLAGS" ? > >> + AC_COMPILE_IFELSE([ >> + #include >> + ][ > > This '][' is weird style. Wouldn't it be nicer just leaving it out? On > first look, I misread it as `],[` (with a `,` in the middle). ok send to separate lines > > On the other hand, maybe use AC_LANG_PROGRAM to generate the source [1] and > you can keep the [#include ] separate. This also avoids > the autoconf warning because autoconf expects AC_LANG_SOURCE or > AC_LANG_PROGRAM to be used with AC_COMIPLE_IFELSE. > Hmm, I tried to do so, but I was not able to keep includes separate. Maybe you know the cure. If not can I go with this version? >> + AC_MSG_CHECKING([for xulrunner enforcing C11 standard]) > > Please replace C11 with C++11. These are different things, > apparently [2] :) ugh! sure fixed! Sorry:( J. -------------- next part -------------- A non-text attachment was scrubbed... Name: runOnAllKnownXulrunnersSince2010_3.patch Type: text/x-patch Size: 2288 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140220/26b72bec/runOnAllKnownXulrunnersSince2010_3.patch From omajid at redhat.com Thu Feb 20 07:56:27 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 20 Feb 2014 10:56:27 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <53062153.2010806@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> Message-ID: <20140220155627.GC2186@redhat.com> * Jiri Vanek [2014-02-20 10:37]: > Maybe you know the cure. If not can I go with this version? I am still not very happy with the ChangeLog (it still doesn't fit the guidelines), but the rest of the patch is fine. We can tweak it later. Cheers, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From gnu.andrew at redhat.com Thu Feb 20 08:06:16 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 20 Feb 2014 11:06:16 -0500 (EST) Subject: Fwd: icedtea-2.5pre02 In-Reply-To: <807513681.6633181.1392909570652.JavaMail.zimbra@redhat.com> References: <807513681.6633181.1392909570652.JavaMail.zimbra@redhat.com> Message-ID: <1561061677.6682276.1392912376889.JavaMail.zimbra@redhat.com> [Don't see this in the archives...] ----- Forwarded Message ----- > IcedTea HEAD has been updated to the tag icedtea-2.5pre02. This is likely > to be the last update before a 2.5 branch & forest are created and we > update to the latest upstream u60 (currently b03). A 2.5.0 release is > expected within the next month. > > http://icedtea.classpath.org/hg/icedtea7/rev/6a756a2b18c7 > > The main changes in this revision are: > > * The ARM32 JIT now builds again. However, it crashes in most usage [0]. > Therefore, it is disabled by default. To enable it, pass --enable-arm32-jit > to configure. > * PaX support [1] has been updated so that systems using extended attributes > to store PaX markers can now build IcedTea. Support for PaX is also now > included in the OpenJDK forest itself, obsoleting the patches IcedTea > was applying. > * We also can now drop the test_gamma bootstrap patch, as the PPC port > added a check to the test_gamma script which stops it from trying to > run on non-HotSpot JDKs. > > [0] http://kojipkgs.fedoraproject.org//work/tasks/632/6550632/build.log > [1] https://pax.grsecurity.net/ > -- > 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 > > -- 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 Thu Feb 20 07:19:30 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Thu, 20 Feb 2014 10:19:30 -0500 (EST) Subject: icedtea-2.5pre02 In-Reply-To: <957244068.6629042.1392909157032.JavaMail.zimbra@redhat.com> Message-ID: <807513681.6633181.1392909570652.JavaMail.zimbra@redhat.com> IcedTea HEAD has been updated to the tag icedtea-2.5pre02. This is likely to be the last update before a 2.5 branch & forest are created and we update to the latest upstream u60 (currently b03). A 2.5.0 release is expected within the next month. http://icedtea.classpath.org/hg/icedtea7/rev/6a756a2b18c7 The main changes in this revision are: * The ARM32 JIT now builds again. However, it crashes in most usage [0]. Therefore, it is disabled by default. To enable it, pass --enable-arm32-jit to configure. * PaX support [1] has been updated so that systems using extended attributes to store PaX markers can now build IcedTea. Support for PaX is also now included in the OpenJDK forest itself, obsoleting the patches IcedTea was applying. * We also can now drop the test_gamma bootstrap patch, as the PPC port added a check to the test_gamma script which stops it from trying to run on non-HotSpot JDKs. [0] http://kojipkgs.fedoraproject.org//work/tasks/632/6550632/build.log [1] https://pax.grsecurity.net/ -- 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 Feb 20 08:08:41 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 20 Feb 2014 17:08:41 +0100 Subject: [rfc][icedtea-web] PolicyEditor In-Reply-To: <53052DF5.3010700@redhat.com> References: <52FBAE01.7080202@redhat.com> <52FCCEE5.8080303@redhat.com> <52FD43CB.9010102@redhat.com> <53052DF5.3010700@redhat.com> Message-ID: <53062889.6010706@redhat.com> On 02/19/2014 11:19 PM, Andrew Azores wrote: > On 02/13/2014 05:14 PM, Andrew Azores wrote: >> On 02/13/2014 08:55 AM, Jiri Vanek wrote: >> Hmm, I would be much more happy if those changes were add on top of previous commited one. >>> >>> Hi! >>> >>> I have no general issues with this.Considering it was done n best mind;) >>> After reading it, I'm against making it separate project. I would much ratehr keep it in itew.. >>> and suggestion .. add new luncher? next to itw-settings javaws.. SimplePolicyEditor? >> >> I didn't get around to that with this patch, but I'll work on that next. Either a new launcher >> beside itweb-settings and javaws, or a standalone launcher as a separate project... ;) I really do >> think this idea has some merit. Maybe the editor seems small and simple enough now to stay within >> ITW, but I think it's already got enough utility to be a replacement for PolicyTool for a lot of >> users. Most of whom probably are using IcedTea-Web anyway, but not necessarily. >> > > Launcher added as well. I think I did it right? Please carefully check that I didn't miss any steps > or make any errors though. > >>> Onemore think I noted After I click the send - yo are allowing the app to open multiple simple >>> editor windows in time. This may be dangerous. - maybe some check "underlying file have changed, >>> reload?) >>> (but yah, advaced tool do the same )I'm for - >>> - have it as modal dialogue in itw-settings >>> - have it on frame in case of seaprate application (see suggestion in previous email) >>> - otherwse do as you wish ::) >> >> Hmm. I don't think I like the idea of making it modal in this situation (just seems like it is not >> necessary, and unnecessary modality is really irritating to deal with as a user IMO), but "file >> has changed, reload/ignore/quit" does sound good. I will look into that next. Besides, even if we >> make it modal, that doesn't actually protect us against concurrent modification very much. Perhaps >> itweb-settings control panel can be made to handle the PolicyEditor in the same way that >> PolicyEditor handles CustomPolicyViewer - if there is no instance, create one. If there is an >> instance, focus it rather than creating another. > > I chose this approach after all. The PolicyPanel will bring the existing PolicyEditor to front, > rather than making a new one. I think it works quite well. > > I wanted to implement a "underlying file has changed, reload/ignore/quit" type of check, but it What? everything you need is to check timestamp(faster) or md5sum(better) before accessing the file... > seems like this was only made into a standard library feature in Java 7, and I didn't see anything > in our own utilities to help with it. I'd rather avoid adding a worker thread to poll the file or > something ugly like that as well, but I suppose it would be doable. Apache Commons VFS can provide > this, but I don't know if we want to pull in that dependency just for this. > >> >> - "parsing"/"deserializing" is not the most robust. I haven't tested it with random garbage >> malformed text or with comments in the middle of a block, etc. These hardening improvements will >> come a bit later on, right now I want to nail down the functionality/visuals. I may end up >> refactoring the models even further, so hardening it now might be a waste of effort Please heavilly unittest it together with known to fail cases.... (may come later! :) especially if more work is planned > > Comments mostly work, but if you have a line like this: > > /* comment */ permission somepermission ... ; > > then the whole thing is considered a comment. I think this is okay for a small, "lightweight" editor > like this, but maybe eventually it will gain a proper parser (rather than the simple line-by-line > "parsing" it does now) to be able to handle this. Double-slash type comments are handled a bit more > nicely. Similarly, it doesn't properly handle multiple permissions on one line: > > permission permissionA ...; permission permissionB ...; > > and for now this will just have to be "good enough" I think. Anyway, this would only happen if > someone edited their policy file by hand and did this. > >> >> I'm planning to add plenty of unit testing to the models introduced with this patch, but I'm out >> of time today and am taking a short day tomorrow, so I'm not sure if I'll get those done before >> the end of the week, and I wanted to get this out for at least visuals feedback first. >> >> Thanks, >> > > - More unit tests were added, for the new models > - Fixed some bugs with file loading and UI updating. Still, sometimes the list view looks strange > after a load, as if the topmost list element is mostly above the list and can't be scrolled into > view, and I'm not sure what to do about that. Adding a new codebase forces the list to update and it > fixes itself at least. The topmost element is always "All Applets" anyway so that's not too bad. > - FileUtils.getFileLock() usage was also added where the policy file is loaded and saved. > - Launching policyeditor from the command line with exactly one arg is interpreted as being meant as > a file path, since it's a little annoying to use the -file flag when this is also the only flag the > program even accepts other than -help. The -file flag remains in use simply because policytool has > it and I'd like to keep that option compatible. > > Still OK for head? As I told, I would like to see original pushed, andd this added on top of it, however yes. Also the lunchers looks ok! Thanks, J. From aazores at redhat.com Thu Feb 20 08:16:08 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 20 Feb 2014 11:16:08 -0500 Subject: [rfc][icedtea-web] PolicyEditor In-Reply-To: <53062889.6010706@redhat.com> References: <52FBAE01.7080202@redhat.com> <52FCCEE5.8080303@redhat.com> <52FD43CB.9010102@redhat.com> <53052DF5.3010700@redhat.com> <53062889.6010706@redhat.com> Message-ID: <53062A48.3010009@redhat.com> On 02/20/2014 11:08 AM, Jiri Vanek wrote: > On 02/19/2014 11:19 PM, Andrew Azores wrote: >> On 02/13/2014 05:14 PM, Andrew Azores wrote: >>> On 02/13/2014 08:55 AM, Jiri Vanek wrote: >>> > > > Hmm, I would be much more happy if those changes were add on top of > previous commited one. > >>>> >>>> Hi! >>>> >>>> I have no general issues with this.Considering it was done n best >>>> mind;) >>>> After reading it, I'm against making it separate project. I would >>>> much ratehr keep it in itew.. >>>> and suggestion .. add new luncher? next to itw-settings javaws.. >>>> SimplePolicyEditor? >>> >>> I didn't get around to that with this patch, but I'll work on that >>> next. Either a new launcher >>> beside itweb-settings and javaws, or a standalone launcher as a >>> separate project... ;) I really do >>> think this idea has some merit. Maybe the editor seems small and >>> simple enough now to stay within >>> ITW, but I think it's already got enough utility to be a replacement >>> for PolicyTool for a lot of >>> users. Most of whom probably are using IcedTea-Web anyway, but not >>> necessarily. >>> >> >> Launcher added as well. I think I did it right? Please carefully >> check that I didn't miss any steps >> or make any errors though. >> >>>> Onemore think I noted After I click the send - yo are allowing the >>>> app to open multiple simple >>>> editor windows in time. This may be dangerous. - maybe some check >>>> "underlying file have changed, >>>> reload?) >>>> (but yah, advaced tool do the same )I'm for - >>>> - have it as modal dialogue in itw-settings >>>> - have it on frame in case of seaprate application (see suggestion >>>> in previous email) >>>> - otherwse do as you wish ::) >>> >>> Hmm. I don't think I like the idea of making it modal in this >>> situation (just seems like it is not >>> necessary, and unnecessary modality is really irritating to deal >>> with as a user IMO), but "file >>> has changed, reload/ignore/quit" does sound good. I will look into >>> that next. Besides, even if we >>> make it modal, that doesn't actually protect us against concurrent >>> modification very much. Perhaps >>> itweb-settings control panel can be made to handle the PolicyEditor >>> in the same way that >>> PolicyEditor handles CustomPolicyViewer - if there is no instance, >>> create one. If there is an >>> instance, focus it rather than creating another. >> >> I chose this approach after all. The PolicyPanel will bring the >> existing PolicyEditor to front, >> rather than making a new one. I think it works quite well. >> >> I wanted to implement a "underlying file has changed, >> reload/ignore/quit" type of check, but it > > What? everything you need is to check timestamp(faster) or > md5sum(better) before accessing the file... Ah, so it would let you know if the file changed when you go to save again, basically. I was thinking of having it produce this dialog even when just "idling". I guess doing it only at file access time should be good enough. I'll do that as a separate changeset later on. > >> seems like this was only made into a standard library feature in Java >> 7, and I didn't see anything >> in our own utilities to help with it. I'd rather avoid adding a >> worker thread to poll the file or >> something ugly like that as well, but I suppose it would be doable. >> Apache Commons VFS can provide >> this, but I don't know if we want to pull in that dependency just for >> this. >> >>> >>> - "parsing"/"deserializing" is not the most robust. I haven't tested >>> it with random garbage >>> malformed text or with comments in the middle of a block, etc. These >>> hardening improvements will >>> come a bit later on, right now I want to nail down the >>> functionality/visuals. I may end up >>> refactoring the models even further, so hardening it now might be a >>> waste of effort > > Please heavilly unittest it together with known to fail cases.... > (may come later! :) especially if more work is planned More work is probably planned, yes, so heavier testing will also come later. >> >> Comments mostly work, but if you have a line like this: >> >> /* comment */ permission somepermission ... ; >> >> then the whole thing is considered a comment. I think this is okay >> for a small, "lightweight" editor >> like this, but maybe eventually it will gain a proper parser (rather >> than the simple line-by-line >> "parsing" it does now) to be able to handle this. Double-slash type >> comments are handled a bit more >> nicely. Similarly, it doesn't properly handle multiple permissions on >> one line: >> >> permission permissionA ...; permission permissionB ...; >> >> and for now this will just have to be "good enough" I think. Anyway, >> this would only happen if >> someone edited their policy file by hand and did this. >> >>> >>> I'm planning to add plenty of unit testing to the models introduced >>> with this patch, but I'm out >>> of time today and am taking a short day tomorrow, so I'm not sure if >>> I'll get those done before >>> the end of the week, and I wanted to get this out for at least >>> visuals feedback first. >>> >>> Thanks, >>> >> >> - More unit tests were added, for the new models >> - Fixed some bugs with file loading and UI updating. Still, sometimes >> the list view looks strange >> after a load, as if the topmost list element is mostly above the list >> and can't be scrolled into >> view, and I'm not sure what to do about that. Adding a new codebase >> forces the list to update and it >> fixes itself at least. The topmost element is always "All Applets" >> anyway so that's not too bad. >> - FileUtils.getFileLock() usage was also added where the policy file >> is loaded and saved. >> - Launching policyeditor from the command line with exactly one arg >> is interpreted as being meant as >> a file path, since it's a little annoying to use the -file flag when >> this is also the only flag the >> program even accepts other than -help. The -file flag remains in use >> simply because policytool has >> it and I'd like to keep that option compatible. >> >> Still OK for head? > > As I told, I would like to see original pushed, andd this added on top > of it, however yes. > > Also the lunchers looks ok! > > Thanks, > > J. Great, going to push shortly then. Thanks for review! -- Andrew A From aazores at icedtea.classpath.org Thu Feb 20 08:25:30 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 20 Feb 2014 16:25:30 +0000 Subject: /hg/icedtea-web: New, simplified PolicyEditor Message-ID: changeset 877209479c2f in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=877209479c2f author: Andrew Azores date: Thu Feb 20 11:25:01 2014 -0500 New, simplified PolicyEditor New simplified PolicyEditor for editing Java policy files, particularly user-level JNLP policies. * Makefile.am: added policyeditor launcher targets * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: (OpenFileResult, canOpenPolicyFile, testPolicyFileDirectory, showCouldNotOpenFileDialog, showReadOnlyDialog) moved into FileUtils. (PolicyPanel) added button for PolicyEditor. (launchSimplePolicyEditor) new function. (LaunchSimplePolicyEditorAction) new class, action for new button. * netx/net/sourceforge/jnlp/resources/Messages.properties: new messages for PolicyEditor * netx/net/sourceforge/jnlp/util/FileUtils.java: (OpenFileResult, testDirectoryPermissions, testFilePermissions, showReadOnlyDialog, showCouldNotOpenFileDialog) new functions * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PermissionType.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java: new class * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java: new class * policyeditor.desktop.in: new launcher desktop file * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: new class * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionActionsTest.java: new class * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTargetTest.java: new class * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTypeTest.java: new class * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java: new class * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: new class diffstat: ChangeLog | 46 + Makefile.am | 20 +- netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java | 210 +- netx/net/sourceforge/jnlp/resources/Messages.properties | 81 +- netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java | 130 + netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java | 212 ++ netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java | 89 + netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java | 72 + netx/net/sourceforge/jnlp/security/policyeditor/PermissionType.java | 72 + netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java | 956 ++++++++++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java | 203 ++ netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java | 102 + netx/net/sourceforge/jnlp/util/FileUtils.java | 146 +- policyeditor.desktop.in | 9 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java | 85 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionActionsTest.java | 71 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTargetTest.java | 58 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTypeTest.java | 56 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java | 66 + tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java | 173 + 20 files changed, 2707 insertions(+), 150 deletions(-) diffs (truncated from 3125 to 500 lines): diff -r db83ddf35fc0 -r 877209479c2f ChangeLog --- a/ChangeLog Wed Feb 19 15:39:02 2014 +0100 +++ b/ChangeLog Thu Feb 20 11:25:01 2014 -0500 @@ -1,3 +1,49 @@ +2014-02-20 Andrew Azores + + New simplified PolicyEditor for editing Java policy files, particularly + user-level JNLP policies. + * Makefile.am: added policyeditor launcher targets + * netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java: + (OpenFileResult, canOpenPolicyFile, testPolicyFileDirectory, + showCouldNotOpenFileDialog, showReadOnlyDialog) moved into FileUtils. + (PolicyPanel) added button for PolicyEditor. (launchSimplePolicyEditor) + new function. (LaunchSimplePolicyEditorAction) new class, action for new + button. + * netx/net/sourceforge/jnlp/resources/Messages.properties: new messages + for PolicyEditor + * netx/net/sourceforge/jnlp/util/FileUtils.java: (OpenFileResult, + testDirectoryPermissions, testFilePermissions, showReadOnlyDialog, + showCouldNotOpenFileDialog) new functions + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: + new class + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPolicyViewer.java: + new class + * netx/net/sourceforge/jnlp/security/policyeditor/PermissionActions.java: + new class + * netx/net/sourceforge/jnlp/security/policyeditor/PermissionTarget.java: + new class + * netx/net/sourceforge/jnlp/security/policyeditor/PermissionType.java: new + class + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: new + class + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissions.java: + new class + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEntry.java: new + class + * policyeditor.desktop.in: new launcher desktop file + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: + new class + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionActionsTest.java: + new class + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTargetTest.java: + new class + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PermissionTypeTest.java: + new class + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorPermissionsTest.java: + new class + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: + new class + 2014-02-19 Michal Vyskocil Put link flags to the end of gcc command line to prevent link failures diff -r db83ddf35fc0 -r 877209479c2f Makefile.am --- a/Makefile.am Wed Feb 19 15:39:02 2014 +0100 +++ b/Makefile.am Thu Feb 20 11:25:01 2014 -0500 @@ -208,6 +208,7 @@ # binary names javaws:= $(shell echo javaws | sed '@program_transform_name@') itweb_settings:= $(shell echo itweb-settings | sed '@program_transform_name@') +policyeditor:= $(shell echo policyeditor | sed '@program_transform_name@') # the launcher needs to know $(bindir) and $(datadir) which can be different at # make-time from configure-time @@ -224,7 +225,8 @@ # ================= all-local: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ - javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop + javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ + launcher.build/$(policyeditor) policyeditor.desktop check-local: $(RHINO_TESTS) $(JUNIT_TESTS) @@ -249,6 +251,7 @@ ${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png ${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir) ${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir) + ${INSTALL_PROGRAM} launcher.build/$(policyeditor) $(DESTDIR)$(bindir) install-data-local: ${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1 @@ -276,6 +279,7 @@ rm -f $(DESTDIR)$(mandir)/man1/javaws.1 rm -f $(DESTDIR)$(bindir)/$(javaws) rm -f $(DESTDIR)$(bindir)/$(itweb_settings) + rm -f $(DESTDIR)$(bindir)/$(policyeditor) rm -rf $(DESTDIR)$(htmldir) # Plugin @@ -531,9 +535,17 @@ PROGRAM_NAME=$(itweb_settings) ;\ $(edit_launcher_script) < $< > $@ +launcher.build/$(policyeditor): launcher/launchers.in + mkdir -p launcher.build + MAIN_CLASS=net.sourceforge.jnlp.security.policyeditor.PolicyEditor ;\ + BIN_LOCATION=$(bindir)/$(policyeditor) ;\ + PROGRAM_NAME=$(policyeditor) ;\ + $(edit_launcher_script) < $< > $@ + clean-launchers: rm -f launcher.build/$(javaws) rm -f launcher.build/$(itweb_settings) + rm -f launcher.build/$(policyeditor) if [ -e launcher.build ] ; then \ rmdir launcher.build ; \ fi @@ -545,6 +557,10 @@ sed "s#PATH_TO_ITWEB_SETTINGS#$(bindir)/$(itweb_settings)#" \ < $(srcdir)/itweb-settings.desktop.in > itweb-settings.desktop +policyeditor.desktop: $(srcdir)/policyeditor.desktop.in + sed 's#PATH_TO_POLICYEDITOR#$(bindir)/$(policyeditor)#' \ + < $(srcdir)/policyeditor.desktop.in > policyeditor.desktop + # documentation stamps/docs.stamp: stamps/netx-docs.stamp stamps/plugin-docs.stamp @@ -870,7 +886,7 @@ mv $(SOFTKILLER) $(TESTS_DIR)/ stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \ - javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \ + javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop launcher.build/$(policyeditor) policyeditor.desktop \ stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public $(TESTS_DIR)/softkiller \ stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\ $(TESTS_DIR)/$(REPORT_STYLES_DIRNAME) $(REPRODUCERS_CLASS_NAMES) stamps/process-custom-reproducers.stamp diff -r db83ddf35fc0 -r 877209479c2f netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java --- a/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Wed Feb 19 15:39:02 2014 +0100 +++ b/netx/net/sourceforge/jnlp/controlpanel/PolicyPanel.java Thu Feb 20 11:25:01 2014 -0500 @@ -49,8 +49,6 @@ 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; @@ -61,9 +59,9 @@ 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.security.policyeditor.PolicyEditor; import net.sourceforge.jnlp.util.FileUtils; +import net.sourceforge.jnlp.util.FileUtils.OpenFileResult; import net.sourceforge.jnlp.util.logging.OutputController; /** @@ -74,22 +72,7 @@ */ 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 - } + private PolicyEditor policyEditor = null; public PolicyPanel(final JFrame frame, final DeploymentConfiguration config) { super(R("CPHeadPolicy"), new GridBagLayout()); @@ -100,11 +83,14 @@ 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 JButton simpleEditorButton = new JButton(R("CPButSimpleEditor")); + simpleEditorButton.addActionListener(new LaunchSimplePolicyEditorAction(frame, fileUrlString)); + + final JButton advancedEditorButton = new JButton(R("CPButAdvancedEditor")); + advancedEditorButton.addActionListener(new LaunchPolicyToolAction(frame, fileUrlString)); final String pathPart = localFilePathFromUrlString(fileUrlString); - showUserPolicyButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); + simpleEditorButton.setToolTipText(R("CPPolicyTooltip", FileUtils.displayablePath(pathPart, 60))); final JTextField locationField = new JTextField(pathPart); locationField.setEditable(false); @@ -123,7 +109,10 @@ c.fill = GridBagConstraints.NONE; c.gridx++; - add(showUserPolicyButton, c); + add(simpleEditorButton, c); + c.gridx++; + add(advancedEditorButton, c); + c.gridx--; /* Keep all the elements at the top of the panel (Extra padding) * Keep View/Edit button next to location field, with padding between @@ -148,18 +137,36 @@ private static void launchPolicyTool(final JFrame frame, final String filePath) { try { final File policyFile = new File(filePath).getCanonicalFile(); - final OpenFileResult result = canOpenPolicyFile(policyFile); + final OpenFileResult result = FileUtils.testFilePermissions(policyFile); if (result == OpenFileResult.SUCCESS) { policyToolLaunchHelper(frame, filePath); } else if (result == OpenFileResult.CANT_WRITE) { - showReadOnlyDialog(frame); + OutputController.getLogger().log(OutputController.Level.WARNING_ALL, "Opening user JNLP policy read-only"); + FileUtils.showReadOnlyDialog(frame); policyToolLaunchHelper(frame, filePath); } else { - showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); + FileUtils.showCouldNotOpenFileDialog(frame, policyFile.getPath(), result); } } catch (IOException e) { OutputController.getLogger().log(e); - showCouldNotOpenFileDialog(frame, filePath); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); + FileUtils.showCouldNotOpenFilepathDialog(frame, filePath); + } + } + + /** + * Launch the simplified PolicyEditor 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 void launchSimplePolicyEditor(final String filePath) { + if (policyEditor == null || policyEditor.isClosed()) { + policyEditor = PolicyEditor.createInstance(filePath); + policyEditor.setVisible(true); + } else { + policyEditor.toFront(); + policyEditor.repaint(); } } @@ -189,7 +196,8 @@ reflectivePolicyToolLaunch(filePath); } catch (Exception e) { OutputController.getLogger().log(e); - showCouldNotOpenFileDialog(frame, filePath, R("CPPolicyEditorNotFound")); + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Could not open user JNLP policy"); + FileUtils.showCouldNotOpenDialog(frame, R("CPPolicyEditorNotFound")); } } } @@ -221,116 +229,6 @@ } /** - * 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 - * @throws IOException if the file is not accessible - */ - private static OpenFileResult canOpenPolicyFile(final File policyFile) { - final 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; - } - 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; - } - 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 {@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) { - final List policyDirectory = new ArrayList(); - policyDirectory.add(policyFile.getParentFile()); - final DirectoryValidator validator = new DirectoryValidator(policyDirectory); - final DirectoryCheckResults result = validator.ensureDirs(); - - 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) { - 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) { - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "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 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"); - 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. @@ -347,13 +245,13 @@ } /** - * Implements the action to be performed when the "View Policy" button is clicked + * Implements the action to be performed when the "Advanced" button is clicked */ - private class ViewPolicyButtonAction implements ActionListener { + private class LaunchPolicyToolAction implements ActionListener { private final JFrame frame; private final String fileUrlString; - public ViewPolicyButtonAction(final JFrame frame, final String fileUrlString) { + public LaunchPolicyToolAction(final JFrame frame, final String fileUrlString) { this.fileUrlString = fileUrlString; this.frame = frame; } @@ -370,7 +268,33 @@ }); } catch (MalformedURLException ex) { OutputController.getLogger().log(ex); - showCouldNotOpenFileDialog(frame, fileUrlString); + FileUtils.showCouldNotOpenFilepathDialog(frame, fileUrlString); + } + } + } + + private class LaunchSimplePolicyEditorAction implements ActionListener { + private final JFrame frame; + private final String fileUrlString; + + public LaunchSimplePolicyEditorAction(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() { + launchSimplePolicyEditor(fileUrl.getPath()); + } + }); + } catch (MalformedURLException ex) { + OutputController.getLogger().log(ex); + FileUtils.showCouldNotOpenFilepathDialog(frame, fileUrlString); } } } diff -r db83ddf35fc0 -r 877209479c2f netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Wed Feb 19 15:39:02 2014 +0100 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Feb 20 11:25:01 2014 -0500 @@ -370,7 +370,8 @@ CPButSettings=Settings... CPButView=View... CPButCertificates=Certificates... -CPButPolicy=View/Edit with Policy Tool +CPButSimpleEditor=Simple editor +CPButAdvancedEditor=Advanced editor # Control Panel - Headers CPHead=IcedTea-Web Control Panel @@ -438,6 +439,84 @@ DPJavaConsole=Java Console DPJavaConsoleDisabledHint=Java console is disabled. Use itweb-settings to configure it out of disabled to any show or hide value. +# PolicyEditor +PEUsage=policyeditor [-file policyfile] +PEHelpFlag=Print this message and exit +PEFileFlag=Specify a policyfile path to open +PETitle=Policy Editor +PEReadProps=Read system properties +PEReadPropsDetail=Allow applets to read system properties such as your username and home directory location +PEReadFiles=Read from local files +PEReadFilesDetail=Allow applets to read from files in your home directory +PEWriteFiles=Write to local files +PEWriteFilesDetail=Allow applets to write to files in your home directory +PEReadSystemFiles=Read all system files +PEReadSystemFilesDetail=Allow applets read-only access to all locations on your computer +PEReadTempFiles=Read from temp files +PEReadTempFilesDetail=Allow applets to read from your temporary files directory +PEWriteTempFiles=Write to temp files +PEWriteTempFilesDetail=Allow applets to write to your temporary files directory +PEClipboard=Access clipboard +PEClipboardDetail=Allow applets to read from and write to your clipboard +PENetwork=Access the network +PENetworkDetail=Allow applets to establish any network connections +PEPrint=Print documents +PEPrintDetail=Allow applets to queue print jobs +PEAudio=Play sounds +PEAudioDetail=Allow applets to play sounds, but not record +PECouldNotOpen=Unable to open policy file +PECouldNotSave=Unable to save policy file +PEAddCodebase=Add new Codebase +PERemoveCodebase=Remove +PECodebasePrompt=Enter a new codebase +PEGlobalSettings=All Applets +PESaveChanges=Save changes before exiting? +PEChangesSaved=Changes saved +PECheckboxLabel=Permissions +PECodebaseLabel=Codebases +PEFileMenu=File +PEOpenMenuItem=Open... +PESaveMenuItem=Save +PESaveAsMenuItem=Save As... +PEExitMenuItem=Exit +PEViewMenu=View +PECustomPermissionsItem=Custom Permissions... + +# Policy Editor CustomPolicyViewer +PECPTitle=Custom Policy Viewer +PECPListLabel=Other policies for {0} +PECPAddButton=Add +PECPRemoveButton=Remove +PECPCloseButton=Close +PECPType=type +PECPTarget=target +PECPActions=actions +PECPPrompt=Enter a custom permission. Do not include \"permission\" or punctuation marks. + +# PolicyEditor key mnemonics. See KeyEvent.VK_* +# N +PEAddCodebaseMnemonic=78 From emailgrant at gmail.com Thu Feb 20 09:32:52 2014 From: emailgrant at gmail.com (Grant) Date: Thu, 20 Feb 2014 09:32:52 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@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 >> >> 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. >> > >> > Has the new ARM stuff made it in? >> > >> > - Grant >> Its in the pipe, probably by next Monday... >> >> Chris >> > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > -- > Andrew :) Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't changed, just the patch needs to be applied? Any idea when new tarballs will be ready? - Grant From omajid at redhat.com Thu Feb 20 09:56:44 2014 From: omajid at redhat.com (Omair Majid) Date: Thu, 20 Feb 2014 12:56:44 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <20140220155627.GC2186@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> <20140220155627.GC2186@redhat.com> Message-ID: <20140220175643.GD2186@redhat.com> * Omair Majid [2014-02-20 10:59]: > * Jiri Vanek [2014-02-20 10:37]: > > Maybe you know the cure. If not can I go with this version? > > I am still not very happy with the ChangeLog (it still doesn't fit the > guidelines), but the rest of the patch is fine. We can tweak it later. If you haven't pushed this yet, you may want to hold off pushing this. I pinged upstream a few days ago about this C++11 header change and they have reverted it: https://hg.mozilla.org/mozilla-central/rev/0691948a0abe I am not sure we should try and work with an incorrect version of the header given that it was a mistake by upstream that they have fixed. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From emailgrant at gmail.com Thu Feb 20 14:07:55 2014 From: emailgrant at gmail.com (Grant) Date: Thu, 20 Feb 2014 14:07:55 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@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 >>> >> 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. >>> > >>> > Has the new ARM stuff made it in? >>> > >>> > - Grant >>> Its in the pipe, probably by next Monday... >>> >>> Chris >>> >> >> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >> -- >> Andrew :) > > > Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > changed, just the patch needs to be applied? Any idea when new > tarballs will be ready? > > - Grant I have the new tarballs and I get: Checking patches/boot/arm32.patch The text leading up to this was: -------------------------- |diff -r c9da84d02a61 -r 0a9100ca5a41 make/linux/makefiles/zeroshark.make |--- a/make/linux/makefiles/zeroshark.make Wed Feb 05 12:13:11 2014 +0000 |+++ b/make/linux/makefiles/zeroshark.make Tue Feb 18 20:45:28 2014 +0000 -------------------------- No file to patch. Skipping patch. 2 out of 2 hunks ignored The text leading up to this was: -------------------------- |diff -r c9da84d02a61 -r 0a9100ca5a41 src/cpu/zero/vm/asm_helper.cpp |--- a/src/cpu/zero/vm/asm_helper.cpp Wed Feb 05 12:13:11 2014 +0000 |+++ b/src/cpu/zero/vm/asm_helper.cpp Tue Feb 18 20:45:28 2014 +0000 -------------------------- No file to patch. Skipping patch. /usr/bin/patch: **** unexpected end of file in patch ERROR patch patches/boot/arm32.patch FAILED! WARNING make clean-patch before retrying a fix make: *** [stamps/patch-boot.stamp] Error 2 - Grant From emailgrant at gmail.com Thu Feb 20 14:22:27 2014 From: emailgrant at gmail.com (Grant) Date: Thu, 20 Feb 2014 14:22:27 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@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 >>>> >> 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. >>>> > >>>> > Has the new ARM stuff made it in? >>>> > >>>> > - Grant >>>> Its in the pipe, probably by next Monday... >>>> >>>> Chris >>>> >>> >>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >>> -- >>> Andrew :) >> >> >> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >> changed, just the patch needs to be applied? Any idea when new >> tarballs will be ready? >> >> - Grant > > > I have the new tarballs and I get: > > Checking patches/boot/arm32.patch Or maybe the patch isn't necessary with the new tarballs? I'll find out soon. - Grant From emailgrant at gmail.com Thu Feb 20 15:06:51 2014 From: emailgrant at gmail.com (Grant) Date: Thu, 20 Feb 2014 15:06:51 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@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 >>>>> >> 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. >>>>> > >>>>> > Has the new ARM stuff made it in? >>>>> > >>>>> > - Grant >>>>> Its in the pipe, probably by next Monday... >>>>> >>>>> Chris >>>>> >>>> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >>>> -- >>>> Andrew :) >>> >>> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >>> changed, just the patch needs to be applied? Any idea when new >>> tarballs will be ready? >>> >>> - Grant >> >> >> I have the new tarballs and I get: >> >> Checking patches/boot/arm32.patch > > > Or maybe the patch isn't necessary with the new tarballs? I'll find out soon. > > - Grant I get the following without the patch: INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=no_strip INFO: ZIP_DEBUGINFO_FILES=1 make[3]: Entering directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=no_strip INFO: ZIP_DEBUGINFO_FILES=1 make[3]: *** No rule to make target `specified'. Stop. - Grant From bugzilla-daemon at icedtea.classpath.org Fri Feb 21 02:35:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 21 Feb 2014 10:35:21 +0000 Subject: [Bug 1680] New: Applet is not released memory till browser not closed Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1680 Bug ID: 1680 Summary: Applet is not released memory till browser not closed Product: IcedTea-Web Version: 1.2.3 Hardware: 64-bit OS: Linux Status: NEW Severity: major Priority: P5 Component: NetX (javaws) Assignee: omajid at redhat.com Reporter: jitender.chauhan at yahoo.com CC: unassigned at icedtea.classpath.org Hi, I am using ubuntu 12.04 with 64 bit machine. when i am using one website that is having applet run and process lots of havvy log files and a JFrame also populate. after logout or close my browser tab my system still using the same memory while processing the application/applet and that popup is not closed. but same thing i am doing in windows and popup open with Java program then is releasing the memory as well popup is closed. Memory only released when i will closing my browser completely. i think icedtea-web is not able to call applet destory funcation. please help me to resolve this. BR// Jitender Chauhan -- 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/20140221/d03b3318/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Feb 21 02:37:18 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 21 Feb 2014 10:37:18 +0000 Subject: [Bug 1680] Applet is not released memory till browser not closed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1680 Jitender changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.2.3 -- 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/20140221/cfaf1e99/attachment.html From jvanek at redhat.com Fri Feb 21 04:25:21 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 21 Feb 2014 13:25:21 +0100 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <20140220175643.GD2186@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> <20140220155627.GC2186@redhat.com> <20140220175643.GD2186@redhat.com> Message-ID: <530745B1.9060905@redhat.com> On 02/20/2014 06:56 PM, Omair Majid wrote: > * Omair Majid [2014-02-20 10:59]: >> * Jiri Vanek [2014-02-20 10:37]: >>> Maybe you know the cure. If not can I go with this version? >> >> I am still not very happy with the ChangeLog (it still doesn't fit the >> guidelines), but the rest of the patch is fine. We can tweak it later. > > If you haven't pushed this yet, you may want to hold off pushing this. I > pinged upstream a few days ago about this C++11 header change and they > have reverted it: > https://hg.mozilla.org/mozilla-central/rev/0691948a0abe > > I am not sure we should try and work with an incorrect version of the > header given that it was a mistake by upstream that they have fixed. Hmm, yees, this is really embarrassing. DO you knw when fixed version will reaach public release? > > Thanks, > Omair > From omajid at redhat.com Fri Feb 21 06:31:09 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 21 Feb 2014 09:31:09 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <530745B1.9060905@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> <20140220155627.GC2186@redhat.com> <20140220175643.GD2186@redhat.com> <530745B1.9060905@redhat.com> Message-ID: <20140221143109.GB2144@redhat.com> * Jiri Vanek [2014-02-21 07:25]: > On 02/20/2014 06:56 PM, Omair Majid wrote: > >If you haven't pushed this yet, you may want to hold off pushing this. I > >pinged upstream a few days ago about this C++11 header change and they > >have reverted it: > >https://hg.mozilla.org/mozilla-central/rev/0691948a0abe > > > >I am not sure we should try and work with an incorrect version of the > >header given that it was a mistake by upstream that they have fixed. > > Hmm, yees, this is really embarrassing. DO you knw when fixed version > will reaach public release? Sorry, I don't know the exact dates. An estimate: 3 to 4 months. The original mistake was pushed on 2013-10-23 [1]. It took until now for this to hit a xulrunner release. That's more than 3 months. This seems consistent with the 16-week window between mozilla-central and release as noted in the mozilla release process document [2]. Thanks, Omair [1] https://hg.mozilla.org/mozilla-central/rev/3656e6195ed2 [2] http://mozilla.github.io/process-releases/draft/development_overview/ -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at redhat.com Fri Feb 21 06:32:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 21 Feb 2014 15:32:29 +0100 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <20140221143109.GB2144@redhat.com> References: <52FC9C30.8000309@redhat.com> <52FCE1C2.6080102@redhat.com> <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> <20140220155627.GC2186@redhat.com> <20140220175643.GD2186@redhat.com> <530745B1.9060905@redhat.com> <20140221143109.GB2144@redhat.com> Message-ID: <5307637D.9000105@redhat.com> On 02/21/2014 03:31 PM, Omair Majid wrote: > * Jiri Vanek [2014-02-21 07:25]: >> On 02/20/2014 06:56 PM, Omair Majid wrote: >>> If you haven't pushed this yet, you may want to hold off pushing this. I >>> pinged upstream a few days ago about this C++11 header change and they >>> have reverted it: >>> https://hg.mozilla.org/mozilla-central/rev/0691948a0abe >>> >>> I am not sure we should try and work with an incorrect version of the >>> header given that it was a mistake by upstream that they have fixed. >> >> Hmm, yees, this is really embarrassing. DO you knw when fixed version >> will reaach public release? > > Sorry, I don't know the exact dates. An estimate: 3 to 4 months. > > The original mistake was pushed on 2013-10-23 [1]. It took until now for > this to hit a xulrunner release. That's more than 3 months. This seems > consistent with the 16-week window between mozilla-central and release > as noted in the mozilla release process document [2]. > > Thanks, > Omair > > [1] https://hg.mozilla.org/mozilla-central/rev/3656e6195ed2 > [2] http://mozilla.github.io/process-releases/draft/development_overview/ > Then I would probably like to push to both head and 1.4... Are you ok? From omajid at redhat.com Fri Feb 21 06:34:12 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 21 Feb 2014 09:34:12 -0500 Subject: [rfc][icedtea-web] fix to newest xullrunner 27000000 break build In-Reply-To: <5307637D.9000105@redhat.com> References: <53032AC3.3080601@redhat.com> <20140218153209.GB4279@redhat.com> <5304E7DE.9060408@redhat.com> <20140219190538.GC19966@redhat.com> <53062153.2010806@redhat.com> <20140220155627.GC2186@redhat.com> <20140220175643.GD2186@redhat.com> <530745B1.9060905@redhat.com> <20140221143109.GB2144@redhat.com> <5307637D.9000105@redhat.com> Message-ID: <20140221143411.GC2144@redhat.com> * Jiri Vanek [2014-02-21 09:32]: > On 02/21/2014 03:31 PM, Omair Majid wrote: > >* Jiri Vanek [2014-02-21 07:25]: > >>On 02/20/2014 06:56 PM, Omair Majid wrote: > >>>I am not sure we should try and work with an incorrect version of the > >>>header given that it was a mistake by upstream that they have fixed. > >> > >>Hmm, yees, this is really embarrassing. DO you knw when fixed version > >>will reaach public release? > > > >Sorry, I don't know the exact dates. An estimate: 3 to 4 months. > > Then I would probably like to push to both head and 1.4... If you intend to branch head to 1.5 within that timeframe, then that seems entirely reasonable. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From jvanek at icedtea.classpath.org Fri Feb 21 06:41:47 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 21 Feb 2014 14:41:47 +0000 Subject: /hg/icedtea-web: Make it run with legacy and 27.0 xullrunner Message-ID: changeset 8fda69bc5375 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=8fda69bc5375 author: Jiri Vanek date: Fri Feb 21 15:41:34 2014 +0100 Make it run with legacy and 27.0 xullrunner diffstat: ChangeLog | 11 +++++++++ acinclude.m4 | 41 +++++++++++++++++++++++++++++++++++++ configure.ac | 2 + plugin/icedteanp/IcedTeaNPPlugin.cc | 6 ++++- 4 files changed, 59 insertions(+), 1 deletions(-) diffs (97 lines): diff -r 877209479c2f -r 8fda69bc5375 ChangeLog --- a/ChangeLog Thu Feb 20 11:25:01 2014 -0500 +++ b/ChangeLog Fri Feb 21 15:41:34 2014 +0100 @@ -1,3 +1,14 @@ +2014-02-21 Jiri Vanek + + * acinclude.m4: added (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR) macro, + Added (IT_CHECK_XULRUNNER_API_VERSION_C11) + * configure.ac: added call of IT_CHECK_XULRUNNER_API_CONSTCHAR and + IT_CHECK_XULRUNNER_API_VERSION_C11 + * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) + return type set-up by dependency on defined LEGACY_XULRUNNERAPI. + This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. + if defined, then old char* is used. New const char* is used otherwise. + 2014-02-20 Andrew Azores New simplified PolicyEditor for editing Java policy files, particularly diff -r 877209479c2f -r 8fda69bc5375 acinclude.m4 --- a/acinclude.m4 Thu Feb 20 11:25:01 2014 -0500 +++ b/acinclude.m4 Fri Feb 21 15:41:34 2014 +0100 @@ -520,6 +520,47 @@ PKG_CHECK_MODULES([GLIB2_V_216],[glib-2.0 >= 2.16],[],[AC_DEFINE([LEGACY_GLIB])]) ]) +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR], +[ + AC_MSG_CHECKING([for legacy xulrunner api]) + AC_LANG_PUSH(C++) + CXXFLAGS_BACKUP="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS"" ""$MOZILLA_CFLAGS" + AC_COMPILE_IFELSE([ + #include ] + [const char* NP_GetMIMEDescription () + {return (char*) "yap!";} + ],[ + AC_MSG_RESULT(no) + ],[ + AC_MSG_RESULT(yes) + AC_DEFINE([LEGACY_XULRUNNERAPI]) + ]) + CXXFLAGS="$CXXFLAGS_BACKUP" + AC_LANG_POP(C++) +]) + +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_REQUIRES_C11], +[ + AC_MSG_CHECKING([for xulrunner enforcing C++11 standard]) + AC_LANG_PUSH(C++) + CXXFLAGS_BACKUP="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS"" ""$MOZILLA_CFLAGS" + AC_COMPILE_IFELSE([ + #include + #include ] + [void setnpptr (NPVariant *result) + {VOID_TO_NPVARIANT(*result);} + ],[ + AC_MSG_RESULT(no) + CXXFLAGS="$CXXFLAGS_BACKUP" + ],[ + AC_MSG_RESULT(yes) + CXXFLAGS="$CXXFLAGS_BACKUP -std=c++11" + ]) + AC_LANG_POP(C++) +]) + AC_DEFUN([IT_CHECK_WITH_GCJ], [ AC_MSG_CHECKING([whether to compile ecj natively]) diff -r 877209479c2f -r 8fda69bc5375 configure.ac --- a/configure.ac Thu Feb 20 11:25:01 2014 -0500 +++ b/configure.ac Fri Feb 21 15:41:34 2014 +0100 @@ -81,6 +81,8 @@ IT_CHECK_FOR_CLASS(SUN_APPLET_APPLETIMAGEREF, [sun.applet.AppletImageRef]) IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE IT_CHECK_GLIB_VERSION +IT_CHECK_XULRUNNER_MIMEDESCRIPTION_CONSTCHAR +IT_CHECK_XULRUNNER_REQUIRES_C11 # # Find optional depedencies diff -r 877209479c2f -r 8fda69bc5375 plugin/icedteanp/IcedTeaNPPlugin.cc --- a/plugin/icedteanp/IcedTeaNPPlugin.cc Thu Feb 20 11:25:01 2014 -0500 +++ b/plugin/icedteanp/IcedTeaNPPlugin.cc Fri Feb 21 15:41:34 2014 +0100 @@ -2079,7 +2079,11 @@ // Returns a string describing the MIME type that this plugin // handles. __attribute__ ((visibility ("default"))) -const char* +#ifdef LEGACY_XULRUNNERAPI + char* +#else + const char* +#endif NP_GetMIMEDescription () { //this function is called severaltimes between lunches From jvanek at icedtea.classpath.org Fri Feb 21 06:48:54 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Fri, 21 Feb 2014 14:48:54 +0000 Subject: /hg/release/icedtea-web-1.4: Make it build with xulrunner 27 Message-ID: changeset 9eadfcabb570 in /hg/release/icedtea-web-1.4 details: http://icedtea.classpath.org/hg/release/icedtea-web-1.4?cmd=changeset;node=9eadfcabb570 author: Jiri Vanek date: Fri Feb 21 15:48:43 2014 +0100 Make it build with xulrunner 27 diffstat: ChangeLog | 5 +++++ acinclude.m4 | 21 +++++++++++++++++++++ configure.ac | 1 + 3 files changed, 27 insertions(+), 0 deletions(-) diffs (54 lines): diff -r 1d4c7bc579d8 -r 9eadfcabb570 ChangeLog --- a/ChangeLog Wed Feb 19 15:38:50 2014 +0100 +++ b/ChangeLog Fri Feb 21 15:48:43 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-21 Jiri Vanek + + * acinclude.m4: Added (IT_CHECK_XULRUNNER_API_VERSION_C11) macro + * configure.ac: added call of IT_CHECK_XULRUNNER_API_VERSION_C11 + 2014-02-19 Michal Vyskocil Put link flags to the end of gcc command line to prevent link failures diff -r 1d4c7bc579d8 -r 9eadfcabb570 acinclude.m4 --- a/acinclude.m4 Wed Feb 19 15:38:50 2014 +0100 +++ b/acinclude.m4 Fri Feb 21 15:48:43 2014 +0100 @@ -515,6 +515,27 @@ AC_LANG_POP(C++) ]) +AC_DEFUN_ONCE([IT_CHECK_XULRUNNER_REQUIRES_C11], +[ + AC_MSG_CHECKING([for xulrunner enforcing C++11 standard]) + AC_LANG_PUSH(C++) + CXXFLAGS_BACKUP="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS"" ""$MOZILLA_CFLAGS" + AC_COMPILE_IFELSE([ + #include + #include ] + [void setnpptr (NPVariant *result) + {VOID_TO_NPVARIANT(*result);} + ],[ + AC_MSG_RESULT(no) + CXXFLAGS="$CXXFLAGS_BACKUP" + ],[ + AC_MSG_RESULT(yes) + CXXFLAGS="$CXXFLAGS_BACKUP -std=c++11" + ]) + AC_LANG_POP(C++) +]) + AC_DEFUN([IT_CHECK_WITH_GCJ], [ AC_MSG_CHECKING([whether to compile ecj natively]) diff -r 1d4c7bc579d8 -r 9eadfcabb570 configure.ac --- a/configure.ac Wed Feb 19 15:38:50 2014 +0100 +++ b/configure.ac Fri Feb 21 15:48:43 2014 +0100 @@ -83,6 +83,7 @@ IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE IT_CHECK_GLIB_VERSION IT_CHECK_XULRUNNER_API_VERSION +IT_CHECK_XULRUNNER_REQUIRES_C11 # # Find optional depedencies From gnu.andrew at redhat.com Fri Feb 21 07:02:45 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 21 Feb 2014 10:02:45 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> Message-ID: <1241533863.7170362.1392994965027.JavaMail.zimbra@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 :) > >>>>> >>> 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. > >>>>> > > >>>>> > Has the new ARM stuff made it in? > >>>>> > > >>>>> > - Grant > >>>>> Its in the pipe, probably by next Monday... > >>>>> > >>>>> Chris > >>>>> > >>>> > >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > >>>> -- > >>>> Andrew :) > >>> > >>> > >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > >>> changed, just the patch needs to be applied? Any idea when new > >>> tarballs will be ready? > >>> > >>> - Grant > >> > >> > >> I have the new tarballs and I get: > >> > >> Checking patches/boot/arm32.patch > > > > > > Or maybe the patch isn't necessary with the new tarballs? I'll find out > > soon. > > > > - Grant > > > I get the following without the patch: > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: *** No rule to make target `specified'. Stop. > > - Grant > What/how are you building, because I see no such patch? I'm not sure what your failure is there because you haven't included enough of the log. -- 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 emailgrant at gmail.com Fri Feb 21 07:24:33 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 21 Feb 2014 07:24:33 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> References: <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> Message-ID: >> >>>>> > Has the new ARM stuff made it in? >> >>>>> > >> >>>>> > - Grant >> >>>>> Its in the pipe, probably by next Monday... >> >>>>> >> >>>>> Chris >> >>>>> >> >>>> >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >> >>>> -- >> >>>> Andrew :) >> >>> >> >>> >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >> >>> changed, just the patch needs to be applied? Any idea when new >> >>> tarballs will be ready? >> >>> >> >>> - Grant >> >> >> >> >> >> I have the new tarballs and I get: >> >> >> >> Checking patches/boot/arm32.patch >> > >> > >> > Or maybe the patch isn't necessary with the new tarballs? I'll find out >> > soon. >> > >> > - Grant >> >> >> I get the following without the patch: >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> INFO: STRIP_POLICY=no_strip >> INFO: ZIP_DEBUGINFO_FILES=1 >> make[3]: Entering directory >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> INFO: STRIP_POLICY=no_strip >> INFO: ZIP_DEBUGINFO_FILES=1 >> make[3]: *** No rule to make target `specified'. Stop. >> >> - Grant >> > > What/how are you building, because I see no such patch? I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch myself after you referenced it earlier: http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 But it wouldn't apply so I'm thinking the new tarballs already incorporate it. The build failure below is without that patch. > I'm not sure what your failure is there because you haven't included enough of the log. Is this enough info? make[1]: Entering directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' /usr/bin/make SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all make[2]: Entering directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' ( cd ./jdk/make && \ /usr/bin/make sanity HOTSPOT_IMPORT_CHECK=false LANGTOOLS_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/langtools JDK_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk JDK_MAKE_SHARED_DIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make/common/shared EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b03 JDK_BUILD_NUMBER=b03 FULL_VERSION=1.7.0_60-b03 PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0_60 JDK_MKTG_VERSION=7u60 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 PREVIOUS_MICRO_VERSION=0 STATIC_CXX=false PAX_COMMAND=not specified PAX_COMMAND_ARGS="-m" ARCH_DATA_MODEL=32 COOKED_JDK_UPDATE_VERSION=600 COOKED_BUILD_NUMBER=3 ANT_HOME="/usr/share/ant" ALT_OUTPUTDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot ALT_LANGTOOLS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist ALT_CORBA_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/corba/dist ALT_JAXP_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxp/dist ALT_JAXWS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist BUILD_HOTSPOT=false PARALLEL_COMPILE_JOBS=1 ; ) INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=no_strip INFO: ZIP_DEBUGINFO_FILES=1 make[3]: Entering directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. INFO: STRIP_POLICY=no_strip INFO: ZIP_DEBUGINFO_FILES=1 make[3]: *** No rule to make target `specified'. Stop. make[3]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' make[2]: *** [jdk-sanity] Error 2 make[2]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' make[1]: *** [jdk_only] Error 2 make[1]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' make: *** [stamps/icedtea-boot.stamp] Error 2 - Grant From gnu.andrew at redhat.com Fri Feb 21 07:38:11 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 21 Feb 2014 10:38:11 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> Message-ID: <1363245781.7195729.1392997091394.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >> >>>>> > Has the new ARM stuff made it in? > >> >>>>> > > >> >>>>> > - Grant > >> >>>>> Its in the pipe, probably by next Monday... > >> >>>>> > >> >>>>> Chris > >> >>>>> > >> >>>> > >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > >> >>>> -- > >> >>>> Andrew :) > >> >>> > >> >>> > >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > >> >>> changed, just the patch needs to be applied? Any idea when new > >> >>> tarballs will be ready? > >> >>> > >> >>> - Grant > >> >> > >> >> > >> >> I have the new tarballs and I get: > >> >> > >> >> Checking patches/boot/arm32.patch > >> > > >> > > >> > Or maybe the patch isn't necessary with the new tarballs? I'll find out > >> > soon. > >> > > >> > - Grant > >> > >> > >> I get the following without the patch: > >> > >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> INFO: STRIP_POLICY=no_strip > >> INFO: ZIP_DEBUGINFO_FILES=1 > >> make[3]: Entering directory > >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> INFO: STRIP_POLICY=no_strip > >> INFO: ZIP_DEBUGINFO_FILES=1 > >> make[3]: *** No rule to make target `specified'. Stop. > >> > >> - Grant > >> > > > > What/how are you building, because I see no such patch? > > > I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch > myself after you referenced it earlier: > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > > But it wouldn't apply so I'm thinking the new tarballs already > incorporate it. The build failure below is without that patch. > They do. I'm about to test that ebuild anyway. > > I'm not sure what your failure is there because you haven't included enough > > of the log. > > Is this enough info? > > make[1]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > /usr/bin/make SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all > make[2]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > ( cd ./jdk/make && \ > /usr/bin/make sanity HOTSPOT_IMPORT_CHECK=false > LANGTOOLS_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/langtools > JDK_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk > JDK_MAKE_SHARED_DIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make/common/shared > EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 > TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b03 > JDK_BUILD_NUMBER=b03 FULL_VERSION=1.7.0_60-b03 > PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0_60 JDK_MKTG_VERSION=7u60 > JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 > PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 > PREVIOUS_MICRO_VERSION=0 STATIC_CXX=false PAX_COMMAND=not specified > PAX_COMMAND_ARGS="-m" ARCH_DATA_MODEL=32 COOKED_JDK_UPDATE_VERSION=600 > COOKED_BUILD_NUMBER=3 ANT_HOME="/usr/share/ant" > ALT_OUTPUTDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot > ALT_LANGTOOLS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist > ALT_CORBA_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/corba/dist > ALT_JAXP_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxp/dist > ALT_JAXWS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist > BUILD_HOTSPOT=false PARALLEL_COMPILE_JOBS=1 ; ) > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: *** No rule to make target `specified'. Stop. > make[3]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > make[2]: *** [jdk-sanity] Error 2 > make[2]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make[1]: *** [jdk_only] Error 2 > make[1]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make: *** [stamps/icedtea-boot.stamp] Error 2 > > - Grant > Yeah... very helpful. PAX_COMMAND=not specified I guess I need to not add that argument on systems that don't have PaX. -- 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 ChrisPhi at redhat.com Fri Feb 21 07:40:29 2014 From: ChrisPhi at redhat.com (Chris Phillips) Date: Fri, 21 Feb 2014 10:40:29 -0500 Subject: building icedtea-7 on ARM In-Reply-To: References: <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> Message-ID: <5307736D.90506@RedHat.Com> On 21/02/14 10:24 AM, Grant wrote: >>>>>>>>> Has the new ARM stuff made it in? >>>>>>>>> >>>>>>>>> - Grant >>>>>>>> Its in the pipe, probably by next Monday... >>>>>>>> >>>>>>>> Chris >>>>>>>> >>>>>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >>>>>>> -- >>>>>>> Andrew :) >>>>>> >>>>>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >>>>>> changed, just the patch needs to be applied? Any idea when new >>>>>> tarballs will be ready? >>>>>> >>>>>> - Grant >>>>> >>>>> I have the new tarballs and I get: >>>>> >>>>> Checking patches/boot/arm32.patch >>>> >>>> Or maybe the patch isn't necessary with the new tarballs? I'll find out >>>> soon. >>>> >>>> - Grant >>> >>> I get the following without the patch: >>> >>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >>> INFO: STRIP_POLICY=no_strip >>> INFO: ZIP_DEBUGINFO_FILES=1 >>> make[3]: Entering directory >>> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' >>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >>> INFO: STRIP_POLICY=no_strip >>> INFO: ZIP_DEBUGINFO_FILES=1 >>> make[3]: *** No rule to make target `specified'. Stop. >>> >>> - Grant >>> >> What/how are you building, because I see no such patch? > > I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch > myself after you referenced it earlier: > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > > But it wouldn't apply so I'm thinking the new tarballs already > incorporate it. The build failure below is without that patch. > >> I'm not sure what your failure is there because you haven't included enough of the log. > Is this enough info? > > make[1]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > /usr/bin/make SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all > make[2]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > ( cd ./jdk/make && \ > /usr/bin/make sanity HOTSPOT_IMPORT_CHECK=false > LANGTOOLS_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/langtools > JDK_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk > JDK_MAKE_SHARED_DIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make/common/shared > EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 > TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b03 > JDK_BUILD_NUMBER=b03 FULL_VERSION=1.7.0_60-b03 > PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0_60 JDK_MKTG_VERSION=7u60 > JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 > PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 > PREVIOUS_MICRO_VERSION=0 STATIC_CXX=false PAX_COMMAND=not specified > PAX_COMMAND_ARGS="-m" ARCH_DATA_MODEL=32 COOKED_JDK_UPDATE_VERSION=600 > COOKED_BUILD_NUMBER=3 ANT_HOME="/usr/share/ant" > ALT_OUTPUTDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot > ALT_LANGTOOLS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist > ALT_CORBA_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/corba/dist > ALT_JAXP_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxp/dist > ALT_JAXWS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist > BUILD_HOTSPOT=false PARALLEL_COMPILE_JOBS=1 ; ) > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: Entering directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > INFO: STRIP_POLICY=no_strip > INFO: ZIP_DEBUGINFO_FILES=1 > make[3]: *** No rule to make target `specified'. Stop. > make[3]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > make[2]: *** [jdk-sanity] Error 2 > make[2]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make[1]: *** [jdk_only] Error 2 > make[1]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make: *** [stamps/icedtea-boot.stamp] Error 2 > > - Grant On fedora17 arm (trimslice) I get the same as above ... here's the configure i used : ./configure --enable-zero --enable-arm32-jit --disable-system-lcms --disable-system-pcsc --disable-bootstrap Not sure why make in jdk is trying to build "specified"? will try to determine later. Chris PS I can build from the icedtea7-forest repos with my "generic" build script, but in order to build with arm32jit I have to patch zeroshark.make [attached] , otherwise the c flags and -I's still don't make it into the proper places so the jvm link fails. (patch also is required to just build hotspot on its own as I try to do regularly given compile time on my trimslowasmice :) PPS The failure you saw in pulseaudio may be the same as I am looking at in the javac langtools build, at least it goes away when you specify -Xint (which still uses the arm32 asm cpp interpreter but not the thumb2 compiler code. -------------- next part -------------- diff --git a/make/linux/makefiles/zeroshark.make b/make/linux/makefiles/zeroshark.make --- a/make/linux/makefiles/zeroshark.make +++ b/make/linux/makefiles/zeroshark.make @@ -43,7 +43,7 @@ bytecodes_arm.s: bytecodes_arm.def mkbc @echo Generating ARM assembler bytecode sequences - $(CXX_COMPILE) -E - < $< | ./mkbc - $@ $(COMPILE_DONE) + $(CC_COMPILE) $(CFLAGS) -E -x c++ - < $< | ./mkbc - $@ $(COMPILE_DONE) mkbc: $(GAMMADIR)/tools/mkbc.c @echo Compiling mkbc tool @@ -52,7 +52,7 @@ mkoffsets: asm_helper.cpp @echo Compiling offset generator $(QUIETLY) $(REMOVE_TARGET) - $(CXX_COMPILE) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE) + $(CC_COMPILE) $(CFLAGS) -DSTATIC_OFFSETS -o $@ $< $(COMPILE_DONE) endif endif @@ -60,7 +60,7 @@ %.o: %.S @echo Assembling $< $(QUIETLY) $(REMOVE_TARGET) - $(COMPILE.CC) -o $@ $< $(COMPILE_DONE) + $(COMPILE.CC) $(CFLAGS) -o $@ $< $(COMPILE_DONE) # The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT) From aazores at redhat.com Fri Feb 21 08:48:53 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 21 Feb 2014 11:48:53 -0500 Subject: [rfc][icedtea-web][policyeditor] Parsing enhancement, unit testing, file-changed checking Message-ID: <53078375.1000705@redhat.com> Hi, One of the attached patches changes PolicyEditor to use regexes when attempting to convert Strings into PolicyEditorPermissions, and adds plenty of unit tests for various things. The other patch adds functionality so PolicyEditor will warn the user if the file on disk is modified externally in between the time PolicyEditor opened the file and when it is to be saved. This is done by checking the file's MD5, which was added to FileUtils so it's reusable in the future. ChangeLogs are included in the patches. They should apply cleanly together. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: policy-editor-filechanged-check.patch Type: text/x-patch Size: 10222 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140221/ab7e73e9/policy-editor-filechanged-check-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: policy-editor-parsing-tests.patch Type: text/x-patch Size: 23124 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140221/ab7e73e9/policy-editor-parsing-tests-0001.patch From gnu.andrew at redhat.com Fri Feb 21 13:30:18 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 21 Feb 2014 16:30:18 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: <5307736D.90506@RedHat.Com> References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <5307736D.90506@RedHat.Com> Message-ID: <1092595503.7353237.1393018218790.JavaMail.zimbra@redhat.com> ----- Original Message ----- > On 21/02/14 10:24 AM, Grant wrote: > >>>>>>>>> Has the new ARM stuff made it in? > >>>>>>>>> > >>>>>>>>> - Grant > >>>>>>>> Its in the pipe, probably by next Monday... > >>>>>>>> > >>>>>>>> Chris > >>>>>>>> > >>>>>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > >>>>>>> -- > >>>>>>> Andrew :) > >>>>>> > >>>>>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > >>>>>> changed, just the patch needs to be applied? Any idea when new > >>>>>> tarballs will be ready? > >>>>>> > >>>>>> - Grant > >>>>> > >>>>> I have the new tarballs and I get: > >>>>> > >>>>> Checking patches/boot/arm32.patch > >>>> > >>>> Or maybe the patch isn't necessary with the new tarballs? I'll find out > >>>> soon. > >>>> > >>>> - Grant > >>> > >>> I get the following without the patch: > >>> > >>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >>> INFO: STRIP_POLICY=no_strip > >>> INFO: ZIP_DEBUGINFO_FILES=1 > >>> make[3]: Entering directory > >>> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > >>> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >>> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >>> INFO: STRIP_POLICY=no_strip > >>> INFO: ZIP_DEBUGINFO_FILES=1 > >>> make[3]: *** No rule to make target `specified'. Stop. > >>> > >>> - Grant > >>> > >> What/how are you building, because I see no such patch? > > > > I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch > > myself after you referenced it earlier: > > > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > > > > But it wouldn't apply so I'm thinking the new tarballs already > > incorporate it. The build failure below is without that patch. > > > >> I'm not sure what your failure is there because you haven't included > >> enough of the log. > > Is this enough info? > > > > make[1]: Entering directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > > /usr/bin/make SKIP_FASTDEBUG_BUILD=true BUILD_HOTSPOT=false all > > make[2]: Entering directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > > ( cd ./jdk/make && \ > > /usr/bin/make sanity HOTSPOT_IMPORT_CHECK=false > > LANGTOOLS_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/langtools > > JDK_TOPDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk > > JDK_MAKE_SHARED_DIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make/common/shared > > EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7 > > TARGET_CLASS_VERSION=7 MILESTONE=fcs BUILD_NUMBER=b03 > > JDK_BUILD_NUMBER=b03 FULL_VERSION=1.7.0_60-b03 > > PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0_60 JDK_MKTG_VERSION=7u60 > > JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0 > > PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6 > > PREVIOUS_MICRO_VERSION=0 STATIC_CXX=false PAX_COMMAND=not specified > > PAX_COMMAND_ARGS="-m" ARCH_DATA_MODEL=32 COOKED_JDK_UPDATE_VERSION=600 > > COOKED_BUILD_NUMBER=3 ANT_HOME="/usr/share/ant" > > ALT_OUTPUTDIR=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot > > ALT_LANGTOOLS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist > > ALT_CORBA_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/corba/dist > > ALT_JAXP_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxp/dist > > ALT_JAXWS_DIST=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist > > BUILD_HOTSPOT=false PARALLEL_COMPILE_JOBS=1 ; ) > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > INFO: STRIP_POLICY=no_strip > > INFO: ZIP_DEBUGINFO_FILES=1 > > make[3]: Entering directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > > INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > > INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > > INFO: STRIP_POLICY=no_strip > > INFO: ZIP_DEBUGINFO_FILES=1 > > make[3]: *** No rule to make target `specified'. Stop. > > make[3]: Leaving directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > > make[2]: *** [jdk-sanity] Error 2 > > make[2]: Leaving directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > > make[1]: *** [jdk_only] Error 2 > > make[1]: Leaving directory > > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > > make: *** [stamps/icedtea-boot.stamp] Error 2 > > > > - Grant > On fedora17 arm (trimslice) I get the same as above ... here's the > configure i used : > > ./configure --enable-zero --enable-arm32-jit --disable-system-lcms > --disable-system-pcsc --disable-bootstrap > > Not sure why make in jdk is trying to build "specified"? will try to > determine later. > I already know. Please don't waste time on it. > Chris > PS > I can build from the icedtea7-forest repos with my "generic" build > script, but in order to > build with arm32jit I have to patch zeroshark.make [attached] , > otherwise the c flags and -I's > still don't make it into the proper places so the jvm link fails. (patch > also is required to just build hotspot on its own as I try to do > regularly given compile time > on my trimslowasmice :) > I guess you're not using latest HEAD as I already fixed this in testing on Fedora. A couple of changesets were in 2.3 but not HEAD. > PPS > The failure you saw in pulseaudio may be the same as I am looking at in > the javac langtools > build, at least it goes away when you specify -Xint (which still uses > the arm32 asm cpp interpreter > but not the thumb2 compiler code. I very much suspect it is, and so looks like it would be relatively easy for someone to reproduce. > -- 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 Feb 21 13:31:07 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 21 Feb 2014 16:31:07 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> Message-ID: <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >> >>>>> > Has the new ARM stuff made it in? > >> >>>>> > > >> >>>>> > - Grant > >> >>>>> Its in the pipe, probably by next Monday... > >> >>>>> > >> >>>>> Chris > >> >>>>> > >> >>>> > >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > >> >>>> -- > >> >>>> Andrew :) > >> >>> > >> >>> > >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > >> >>> changed, just the patch needs to be applied? Any idea when new > >> >>> tarballs will be ready? > >> >>> > >> >>> - Grant > >> >> > >> >> > >> >> I have the new tarballs and I get: > >> >> > >> >> Checking patches/boot/arm32.patch > >> > > >> > > >> > Or maybe the patch isn't necessary with the new tarballs? I'll find out > >> > soon. > >> > > >> > - Grant > >> > >> > >> I get the following without the patch: > >> > >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> INFO: STRIP_POLICY=no_strip > >> INFO: ZIP_DEBUGINFO_FILES=1 > >> make[3]: Entering directory > >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> INFO: STRIP_POLICY=no_strip > >> INFO: ZIP_DEBUGINFO_FILES=1 > >> make[3]: *** No rule to make target `specified'. Stop. > >> > >> - Grant > >> > > > > What/how are you building, because I see no such patch? > > > I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch > myself after you referenced it earlier: Updating it now. Are you altering the tarballs in the ebuild? -- 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 emailgrant at gmail.com Fri Feb 21 13:37:57 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 21 Feb 2014 13:37:57 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> References: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> Message-ID: >> >> >>>>> > Has the new ARM stuff made it in? >> >> >>>>> > >> >> >>>>> > - Grant >> >> >>>>> Its in the pipe, probably by next Monday... >> >> >>>>> >> >> >>>>> Chris >> >> >>>>> >> >> >>>> >> >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >> >> >>>> -- >> >> >>>> Andrew :) >> >> >>> >> >> >>> >> >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >> >> >>> changed, just the patch needs to be applied? Any idea when new >> >> >>> tarballs will be ready? >> >> >>> >> >> >>> - Grant >> >> >> >> >> >> >> >> >> I have the new tarballs and I get: >> >> >> >> >> >> Checking patches/boot/arm32.patch >> >> > >> >> > >> >> > Or maybe the patch isn't necessary with the new tarballs? I'll find out >> >> > soon. >> >> > >> >> > - Grant >> >> >> >> >> >> I get the following without the patch: >> >> >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> >> INFO: STRIP_POLICY=no_strip >> >> INFO: ZIP_DEBUGINFO_FILES=1 >> >> make[3]: Entering directory >> >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> >> INFO: STRIP_POLICY=no_strip >> >> INFO: ZIP_DEBUGINFO_FILES=1 >> >> make[3]: *** No rule to make target `specified'. Stop. >> >> >> >> - Grant >> >> >> > >> > What/how are you building, because I see no such patch? >> >> >> I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch >> myself after you referenced it earlier: > > Updating it now. Are you altering the tarballs in the ebuild? Yes sir: CORBA_TARBALL="16906c5a09da.tar.gz" JAXP_TARBALL="d7085aad637f.tar.gz" JAXWS_TARBALL="4aeccc3040fa.tar.gz" JDK_TARBALL="3162252ff26b.tar.gz" LANGTOOLS_TARBALL="f75a642c2913.tar.gz" OPENJDK_TARBALL="fc5d15cc35b4.tar.gz" HOTSPOT_TARBALL="f30e87f16d90.tar.gz" CACAO_TARBALL="e215e36be9fc.tar.gz" JAMVM_TARBALL="jamvm-ac22c9948434e528ece451642b4ebde40953ee7e.tar.gz" Should the PAX issue be fixed in HEAD? - Grant From andrew at icedtea.classpath.org Fri Feb 21 14:04:41 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Fri, 21 Feb 2014 22:04:41 +0000 Subject: /hg/icedtea7: Avoid giving PAX_COMMAND a value if no PaX utility... Message-ID: changeset ffb3f0d91d72 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=ffb3f0d91d72 author: Andrew John Hughes date: Fri Feb 21 22:04:31 2014 +0000 Avoid giving PAX_COMMAND a value if no PaX utility is available. 2014-02-21 Andrew John Hughes * acinclude.m4: (IT_WITH_PAX): Leave PAX_COMMAND with the empty string rather than "not specified" to avoid build failures. * pax-mark-vm.in: Update PAX_COMMAND check. diffstat: ChangeLog | 8 ++++++++ acinclude.m4 | 7 ++----- pax-mark-vm.in | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diffs (51 lines): diff -r 25092cbc5ace -r ffb3f0d91d72 ChangeLog --- a/ChangeLog Thu Feb 20 15:21:28 2014 +0000 +++ b/ChangeLog Fri Feb 21 22:04:31 2014 +0000 @@ -1,3 +1,11 @@ +2014-02-21 Andrew John Hughes + + * acinclude.m4: + (IT_WITH_PAX): Leave PAX_COMMAND with the empty + string rather than "not specified" to avoid build + failures. + * pax-mark-vm.in: Update PAX_COMMAND check. + 2014-02-20 Andrew John Hughes * NEWS: Mention PR1626. diff -r 25092cbc5ace -r ffb3f0d91d72 acinclude.m4 --- a/acinclude.m4 Thu Feb 20 15:21:28 2014 +0000 +++ b/acinclude.m4 Fri Feb 21 22:04:31 2014 +0000 @@ -2387,10 +2387,7 @@ fi fi fi - if test -z "${PAX_COMMAND}"; then - PAX_COMMAND="not specified" - PAX_COMMAND_ARGS="not specified" - else + if test -n "${PAX_COMMAND}"; then AC_MSG_CHECKING([which options to pass to ${PAX_COMMAND}]) case "${host_cpu}" in i?86) @@ -2402,7 +2399,7 @@ esac AC_MSG_RESULT(${PAX_COMMAND_ARGS}) fi - AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "xnot specified") + AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "x") AC_SUBST(PAX_COMMAND) AC_SUBST(PAX_COMMAND_ARGS) ]) diff -r 25092cbc5ace -r ffb3f0d91d72 pax-mark-vm.in --- a/pax-mark-vm.in Thu Feb 20 15:21:28 2014 +0000 +++ b/pax-mark-vm.in Fri Feb 21 22:04:31 2014 +0000 @@ -5,7 +5,7 @@ file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//' } -if test "@PAX_COMMAND@" != "not specified"; then +if test "x at PAX_COMMAND@" != "x"; then for paxable in `list_paxables "${1}"/bin/* "${1}"/jre/bin/*`; do echo "PaX mark @PAX_COMMAND_ARGS@ ${paxable}" @PAX_COMMAND@ @PAX_COMMAND_ARGS@ "${paxable}" From gnu.andrew at redhat.com Fri Feb 21 14:04:59 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Fri, 21 Feb 2014 17:04:59 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> Message-ID: <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >> >> >>>>> > Has the new ARM stuff made it in? > >> >> >>>>> > > >> >> >>>>> > - Grant > >> >> >>>>> Its in the pipe, probably by next Monday... > >> >> >>>>> > >> >> >>>>> Chris > >> >> >>>>> > >> >> >>>> > >> >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > >> >> >>>> -- > >> >> >>>> Andrew :) > >> >> >>> > >> >> >>> > >> >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't > >> >> >>> changed, just the patch needs to be applied? Any idea when new > >> >> >>> tarballs will be ready? > >> >> >>> > >> >> >>> - Grant > >> >> >> > >> >> >> > >> >> >> I have the new tarballs and I get: > >> >> >> > >> >> >> Checking patches/boot/arm32.patch > >> >> > > >> >> > > >> >> > Or maybe the patch isn't necessary with the new tarballs? I'll find > >> >> > out > >> >> > soon. > >> >> > > >> >> > - Grant > >> >> > >> >> > >> >> I get the following without the patch: > >> >> > >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> >> INFO: STRIP_POLICY=no_strip > >> >> INFO: ZIP_DEBUGINFO_FILES=1 > >> >> make[3]: Entering directory > >> >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' > >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 > >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. > >> >> INFO: STRIP_POLICY=no_strip > >> >> INFO: ZIP_DEBUGINFO_FILES=1 > >> >> make[3]: *** No rule to make target `specified'. Stop. > >> >> > >> >> - Grant > >> >> > >> > > >> > What/how are you building, because I see no such patch? > >> > >> > >> I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch > >> myself after you referenced it earlier: > > > > Updating it now. Are you altering the tarballs in the ebuild? > > > Yes sir: > > CORBA_TARBALL="16906c5a09da.tar.gz" > JAXP_TARBALL="d7085aad637f.tar.gz" > JAXWS_TARBALL="4aeccc3040fa.tar.gz" > JDK_TARBALL="3162252ff26b.tar.gz" > LANGTOOLS_TARBALL="f75a642c2913.tar.gz" > OPENJDK_TARBALL="fc5d15cc35b4.tar.gz" > HOTSPOT_TARBALL="f30e87f16d90.tar.gz" > CACAO_TARBALL="e215e36be9fc.tar.gz" > JAMVM_TARBALL="jamvm-ac22c9948434e528ece451642b4ebde40953ee7e.tar.gz" > > Should the PAX issue be fixed in HEAD? > > - Grant > Should be now if you update. -- 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 emailgrant at gmail.com Fri Feb 21 18:32:05 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 21 Feb 2014 18:32:05 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> Message-ID: >> >> >> >>>>> > Has the new ARM stuff made it in? >> >> >> >>>>> > >> >> >> >>>>> > - Grant >> >> >> >>>>> Its in the pipe, probably by next Monday... >> >> >> >>>>> >> >> >> >>>>> Chris >> >> >> >>>>> >> >> >> >>>> >> >> >> >>>> http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 >> >> >> >>>> -- >> >> >> >>>> Andrew :) >> >> >> >>> >> >> >> >>> >> >> >> >>> Many thanks Andrew and Chris! I'm compiling now. Tarballs haven't >> >> >> >>> changed, just the patch needs to be applied? Any idea when new >> >> >> >>> tarballs will be ready? >> >> >> >>> >> >> >> >>> - Grant >> >> >> >> >> >> >> >> >> >> >> >> I have the new tarballs and I get: >> >> >> >> >> >> >> >> Checking patches/boot/arm32.patch >> >> >> > >> >> >> > >> >> >> > Or maybe the patch isn't necessary with the new tarballs? I'll find >> >> >> > out >> >> >> > soon. >> >> >> > >> >> >> > - Grant >> >> >> >> >> >> >> >> >> I get the following without the patch: >> >> >> >> >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> >> >> INFO: STRIP_POLICY=no_strip >> >> >> INFO: ZIP_DEBUGINFO_FILES=1 >> >> >> make[3]: Entering directory >> >> >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk/make' >> >> >> INFO: ENABLE_FULL_DEBUG_SYMBOLS=1 >> >> >> INFO: /usr/bin/objcopy cmd found so will create .debuginfo files. >> >> >> INFO: STRIP_POLICY=no_strip >> >> >> INFO: ZIP_DEBUGINFO_FILES=1 >> >> >> make[3]: *** No rule to make target `specified'. Stop. >> >> >> >> >> >> - Grant >> >> >> >> >> > >> >> > What/how are you building, because I see no such patch? >> >> >> >> >> >> I'm building with icedtea-7.9999.ebuild on Gentoo. I added the patch >> >> myself after you referenced it earlier: >> > >> > Updating it now. Are you altering the tarballs in the ebuild? >> >> >> Yes sir: >> >> CORBA_TARBALL="16906c5a09da.tar.gz" >> JAXP_TARBALL="d7085aad637f.tar.gz" >> JAXWS_TARBALL="4aeccc3040fa.tar.gz" >> JDK_TARBALL="3162252ff26b.tar.gz" >> LANGTOOLS_TARBALL="f75a642c2913.tar.gz" >> OPENJDK_TARBALL="fc5d15cc35b4.tar.gz" >> HOTSPOT_TARBALL="f30e87f16d90.tar.gz" >> CACAO_TARBALL="e215e36be9fc.tar.gz" >> JAMVM_TARBALL="jamvm-ac22c9948434e528ece451642b4ebde40953ee7e.tar.gz" >> >> Should the PAX issue be fixed in HEAD? >> >> - Grant >> > > Should be now if you update. I get the following: Buildfile: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml -banner: [echo] +---------------------------------------+ [echo] + Starting ant project jaxws + [echo] +---------------------------------------+ -javac-jar-exists: sanity: [echo] Sanity Settings: [echo] ant.home=/usr/share/ant-core [echo] ant.version=Apache Ant(TM) version 1.9.1 compiled on February 20 2014 [echo] ant.java.version=1.6 [echo] java.home=/usr/lib/icedtea6/jre [echo] java.version=1.6.0_29 [echo] os.name=Linux [echo] os.arch=arm [echo] os.version=3.13.3-gentoo [echo] bootstrap.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap [echo] javac.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap/lib/javac.jar [echo] langtools.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/lib/classes.jar [echo] javac.memoryInitialSize=256m [echo] javac.memoryMaximumSize=512m [echo] javac.source=7 [echo] javac.debug=true [echo] javac.target=7 [echo] javac.version.opt= [echo] javac.lint.opts= [echo] javac.no.jdk.warnings=-XDignore.symbol.file=true [echo] output.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws [echo] build.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build [echo] dist.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist [echo] jdk.topdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk [echo] jdk.gensrcdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/generated.build [echo] init: [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist/lib compile: [javac] Compiling 2749 source files to /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes [javac] Exception in thread "main" java.lang.NoSuchMethodError: java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; [javac] at java.text.MessageFormat.(MessageFormat.java:362) [javac] at java.text.MessageFormat.format(MessageFormat.java:835) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:200) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:141) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:135) [javac] at com.sun.tools.javac.main.Main.getLocalizedString(Main.java:585) [javac] at com.sun.tools.javac.main.Main.bugMessage(Main.java:503) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:484) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:353) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:342) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:333) [javac] at com.sun.tools.javac.Main.compile(Main.java:76) [javac] at com.sun.tools.javac.Main.main(Main.java:61) BUILD FAILED /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml:155: Compile failed; see the compiler error output for details. Total time: 9 minutes 9 seconds make[4]: *** [all] Error 1 make[4]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/make' make[3]: *** [jaxws-build] Error 2 make[3]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' make[2]: *** [build_product_image] Error 2 make[2]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' make[1]: *** [jdk_only] Error 2 make[1]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' make: *** [stamps/icedtea-boot.stamp] Error 2 - Grant From emailgrant at gmail.com Sat Feb 22 07:50:28 2014 From: emailgrant at gmail.com (Grant) Date: Sat, 22 Feb 2014 07:50:28 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> Message-ID: >>> Should the PAX issue be fixed in HEAD? >>> >>> - Grant >>> >> >> Should be now if you update. > > > I get the following: I just noticed the icedtea-7.9999.ebuild has been updated so I'm trying that now. I get the following error from the ebuild: !!! A file is not listed in the Manifest: '/var/lib/layman/java/dev-java/icedtea/files/openjdk6-prefer_source.patch' But the fix is easy: # ebuild icedtea-7.9999.ebuild manifest - Grant > Buildfile: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml > > -banner: > [echo] +---------------------------------------+ > [echo] + Starting ant project jaxws + > [echo] +---------------------------------------+ > > -javac-jar-exists: > > sanity: > [echo] Sanity Settings: > [echo] ant.home=/usr/share/ant-core > [echo] ant.version=Apache Ant(TM) version 1.9.1 compiled on > February 20 2014 > [echo] ant.java.version=1.6 > [echo] java.home=/usr/lib/icedtea6/jre > [echo] java.version=1.6.0_29 > [echo] os.name=Linux > [echo] os.arch=arm > [echo] os.version=3.13.3-gentoo > [echo] bootstrap.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap > [echo] javac.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap/lib/javac.jar > [echo] langtools.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/lib/classes.jar > [echo] javac.memoryInitialSize=256m > [echo] javac.memoryMaximumSize=512m > [echo] javac.source=7 > [echo] javac.debug=true > [echo] javac.target=7 > [echo] javac.version.opt= > [echo] javac.lint.opts= > [echo] javac.no.jdk.warnings=-XDignore.symbol.file=true > [echo] output.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws > [echo] build.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build > [echo] dist.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist > [echo] jdk.topdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk > [echo] jdk.gensrcdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/generated.build > [echo] > > init: > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist/lib > > compile: > [javac] Compiling 2749 source files to > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes > [javac] Exception in thread "main" java.lang.NoSuchMethodError: > java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; > [javac] at java.text.MessageFormat.(MessageFormat.java:362) > [javac] at java.text.MessageFormat.format(MessageFormat.java:835) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:200) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:141) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:135) > [javac] at > com.sun.tools.javac.main.Main.getLocalizedString(Main.java:585) > [javac] at com.sun.tools.javac.main.Main.bugMessage(Main.java:503) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:484) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:353) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:342) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:333) > [javac] at com.sun.tools.javac.Main.compile(Main.java:76) > [javac] at com.sun.tools.javac.Main.main(Main.java:61) > > BUILD FAILED > /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml:155: > Compile failed; see the compiler error output for details. > > Total time: 9 minutes 9 seconds > make[4]: *** [all] Error 1 > make[4]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/make' > make[3]: *** [jaxws-build] Error 2 > make[3]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make[2]: *** [build_product_image] Error 2 > make[2]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make[1]: *** [jdk_only] Error 2 > make[1]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' > make: *** [stamps/icedtea-boot.stamp] Error 2 > > - Grant From emailgrant at gmail.com Sat Feb 22 11:16:20 2014 From: emailgrant at gmail.com (Grant) Date: Sat, 22 Feb 2014 11:16:20 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> Message-ID: >>>> Should the PAX issue be fixed in HEAD? >>>> >>>> - Grant >>>> >>> >>> Should be now if you update. >> >> >> I get the following: > > I just noticed the icedtea-7.9999.ebuild has been updated so I'm > trying that now. I get the following error from the ebuild: > > !!! A file is not listed in the Manifest: > '/var/lib/layman/java/dev-java/icedtea/files/openjdk6-prefer_source.patch' > > But the fix is easy: > > # ebuild icedtea-7.9999.ebuild manifest > > - Grant I still get the same error as below with the new ebuild: - Grant >> Buildfile: /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml >> >> -banner: >> [echo] +---------------------------------------+ >> [echo] + Starting ant project jaxws + >> [echo] +---------------------------------------+ >> >> -javac-jar-exists: >> >> sanity: >> [echo] Sanity Settings: >> [echo] ant.home=/usr/share/ant-core >> [echo] ant.version=Apache Ant(TM) version 1.9.1 compiled on >> February 20 2014 >> [echo] ant.java.version=1.6 >> [echo] java.home=/usr/lib/icedtea6/jre >> [echo] java.version=1.6.0_29 >> [echo] os.name=Linux >> [echo] os.arch=arm >> [echo] os.version=3.13.3-gentoo >> [echo] bootstrap.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap >> [echo] javac.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap/lib/javac.jar >> [echo] langtools.jar=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/langtools/dist/lib/classes.jar >> [echo] javac.memoryInitialSize=256m >> [echo] javac.memoryMaximumSize=512m >> [echo] javac.source=7 >> [echo] javac.debug=true >> [echo] javac.target=7 >> [echo] javac.version.opt= >> [echo] javac.lint.opts= >> [echo] javac.no.jdk.warnings=-XDignore.symbol.file=true >> [echo] output.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws >> [echo] build.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build >> [echo] dist.dir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist >> [echo] jdk.topdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jdk >> [echo] jdk.gensrcdir=/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/generated.build >> [echo] >> >> init: >> [mkdir] Created dir: >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build >> [mkdir] Created dir: >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes >> [mkdir] Created dir: >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist >> [mkdir] Created dir: >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/dist/lib >> >> compile: >> [javac] Compiling 2749 source files to >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes >> [javac] Exception in thread "main" java.lang.NoSuchMethodError: >> java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; >> [javac] at java.text.MessageFormat.(MessageFormat.java:362) >> [javac] at java.text.MessageFormat.format(MessageFormat.java:835) >> [javac] at >> com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:200) >> [javac] at >> com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:141) >> [javac] at >> com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:135) >> [javac] at >> com.sun.tools.javac.main.Main.getLocalizedString(Main.java:585) >> [javac] at com.sun.tools.javac.main.Main.bugMessage(Main.java:503) >> [javac] at com.sun.tools.javac.main.Main.compile(Main.java:484) >> [javac] at com.sun.tools.javac.main.Main.compile(Main.java:353) >> [javac] at com.sun.tools.javac.main.Main.compile(Main.java:342) >> [javac] at com.sun.tools.javac.main.Main.compile(Main.java:333) >> [javac] at com.sun.tools.javac.Main.compile(Main.java:76) >> [javac] at com.sun.tools.javac.Main.main(Main.java:61) >> >> BUILD FAILED >> /var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/build.xml:155: >> Compile failed; see the compiler error output for details. >> >> Total time: 9 minutes 9 seconds >> make[4]: *** [all] Error 1 >> make[4]: Leaving directory >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot/jaxws/make' >> make[3]: *** [jaxws-build] Error 2 >> make[3]: Leaving directory >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' >> make[2]: *** [build_product_image] Error 2 >> make[2]: Leaving directory >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' >> make[1]: *** [jdk_only] Error 2 >> make[1]: Leaving directory >> `/var/tmp/portage/dev-java/icedtea-7.9999-r2/work/icedtea-9999/openjdk-boot' >> make: *** [stamps/icedtea-boot.stamp] Error 2 >> >> - Grant From bugzilla-daemon at icedtea.classpath.org Sat Feb 22 13:54:19 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sat, 22 Feb 2014 21:54:19 +0000 Subject: [Bug 1681] New: Minecraft on Linux/Crunchbang crashes straight away Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1681 Bug ID: 1681 Summary: Minecraft on Linux/Crunchbang crashes straight away Product: IcedTea Version: 6-1.12.6 Hardware: x86 OS: Linux Status: NEW Severity: enhancement Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: caleb at live.com.au CC: unassigned at icedtea.classpath.org Created attachment 1028 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1028&action=edit log generated from minecraft after crash This is my first time ever trying to use Minecraft, and I have installed it on my Crunchbang (Linux) IBM Thinkcentre (old) machine. The launcher starts, then after clicking "Play Demo" it appears to crash straight away (window flashes) and I can see it logged error log (attached). Any ideas? -- 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/20140222/dc2566e7/attachment.html From ELefeber at trustwave.com Sun Feb 23 04:56:16 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Sun, 23 Feb 2014 12:56:16 +0000 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <53031B72.3000704@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> <53031B72.3000704@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DED856@SKYMB1.trustwave.com> I see there are all kind of FileLocks in the java side to synchronize between processes. For example in net/sourceforge/jnlp/util/lockingfile/LockedFile.java. Do you know why there is a need to synchronize between processes? -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Tuesday, February 18, 2014 10:36 AM To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel On 02/18/2014 09:28 AM, Efrat Lefeber wrote: > If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) I will look onto it, but it will take time. Just for curiosity - what is an usecase? the workaround like "run just single browser" is probably unsuitable :) Sorry, funny morning here:) As I told, I will try to look whats hidden in this usecase. J. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Tuesday, February 18, 2014 9:35 AM > To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/17/2014 11:05 AM, Efrat Lefeber wrote: >> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. > > Hi! > > How have you manged it? All applets are supposed to run in single JVM. >> >> What I see a degradation in performance when there are more plugin processes running. >> >> Is there some kind of a lock between processes that could implement on the performance? >> >> Or any other idea why the performance gets worse when more plugin processes run in parallel? >> >> > > Regards, > 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 thomas at m3y3r.de Sun Feb 23 05:36:55 2014 From: thomas at m3y3r.de (Thomas Meyer) Date: Sun, 23 Feb 2014 14:36:55 +0100 Subject: [icedtea-web] plugin hangs in xcb_wait_for_reply Message-ID: <1393162615.4301.5.camel@localhost.localdomain> Hi, The icedtea-web plugin hangs on my computer in xcb_wait_for_reply while trying to init the GTK look and feel: I'm using this version: Name : icedtea-web Architektur : x86_64 Version : 1.4.2 Ausgabe : 0.fc20 Gr??e : 1.1 M Thread 16 (Thread 0x7f73bc4eb700 (LWP 14468)): #0 0x0000003623aea9dd in poll () from /lib64/libc.so.6 #1 0x0000003627209f72 in poll (__timeout=-1, __nfds=1, __fds=0x7f73bc4ea0e0) at /usr/include/bits/poll2.h:46 #2 _xcb_conn_wait (c=c at entry=0x7f73b82a6c20, cond=cond at entry=0x7f73bc4ea160, vector=vector at entry=0x0, count=count at entry=0x0) at xcb_conn.c:414 #3 0x000000362720b44f in wait_for_reply (c=c at entry=0x7f73b82a6c20, request=112, e=e at entry=0x7f73bc4ea220) at xcb_in.c:399 #4 0x000000362720b562 in xcb_wait_for_reply (c=c at entry=0x7f73b82a6c20, request=112, e=e at entry=0x7f73bc4ea220) at xcb_in.c:429 #5 0x0000003626e43017 in _XReply (dpy=dpy at entry=0x7f73b82a59d0, rep=rep at entry=0x7f73bc4ea270, extra=extra at entry=0, discard=discard at entry=1) at xcb_io.c:602 #6 0x0000003626e38f04 in XQueryExtension (dpy=dpy at entry=0x7f73b82a59d0, name=name at entry=0x362e20c724 "XInputExtension", major_opcode=major_opcode at entry=0x7f73bc4ea2e4, first_event=first_event at entry=0x7f73bc4ea2e8, first_error=first_error at entry=0x7f73bc4ea2ec) at QuExt.c:48 #7 0x0000003626e2ccc2 in XInitExtension (dpy=0x7f73b82a59d0, name=0x362e20c724 "XInputExtension") at InitExt.c:47 #8 0x000000362760d07f in XextAddDisplay () from /lib64/libXext.so.6 #9 0x000000362e207313 in XInput_find_display (dpy=dpy at entry=0x7f73b82a59d0) at XExtInt.c:223 #10 0x000000362e205c19 in XListInputDevices (dpy=0x7f73b82a59d0, ndevices=0x7f73bc4ea46c) at XListDev.c:184 #11 0x0000003e3c87d684 in _gdk_input_common_init () from /lib64/libgdk-x11-2.0.so.0 #12 0x0000003e3c8516df in gdk_display_open () from /lib64/libgdk-x11-2.0.so.0 #13 0x0000003e3c81f03d in gdk_display_open_default_libgtk_only () from /lib64/libgdk-x11-2.0.so.0 #14 0x0000003e3cd45aa4 in gtk_init_check () from /lib64/libgtk-x11-2.0.so.0 #15 0x00007f73b339e3c1 in gtk2_load () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/xawt/libmawt.so #16 0x00007f73b3386c6b in Java_sun_awt_UNIXToolkit_load_1gtk () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/xawt/libmawt.so #17 0x00007f73b49d304c in ?? () #18 0x00007f73bc4ea640 in ?? () #19 0x00000007f6045368 in ?? () #20 0x00007f73bc4ea698 in ?? () #21 0x00000007f6046ce0 in ?? () #22 0x0000000000000000 in ?? () Probably in net.sourceforge.jnlp.runtime.JNLPRuntime in the UIManager.setLookAndFeel() call. any ideas? Maybe these threads are related? Thread 2 (Thread 0x7f73b2577700 (LWP 14492)): #0 0x0000003623aea9dd in poll () from /lib64/libc.so.6 #1 0x00000036266495b4 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0 #2 0x0000003626649a3a in g_main_loop_run () from /lib64/libglib-2.0.so.0 #3 0x00007f73b2bcfbb9 in jni_main_loop () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/libatk-wrapper.so #4 0x000000362666ea45 in g_thread_proxy () from /lib64/libglib-2.0.so.0 #5 0x0000003624607f33 in start_thread () from /lib64/libpthread.so.0 #6 0x0000003623af4ded in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f73bd2c9740 (LWP 14465)): #0 0x0000003624609297 in pthread_join () from /lib64/libpthread.so.0 #1 0x0000003fc5a096d5 in ContinueInNewThread0 () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so #2 0x0000003fc5a04307 in ContinueInNewThread () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so #3 0x0000003fc5a04db9 in JLI_Launch () from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so #4 0x0000000000400685 in main () From bugzilla-daemon at icedtea.classpath.org Sun Feb 23 09:58:57 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Sun, 23 Feb 2014 17:58:57 +0000 Subject: [Bug 1682] New: Fix m68k inlines for class atomic Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1682 Bug ID: 1682 Summary: Fix m68k inlines for class atomic Product: IcedTea Version: 7-hg Hardware: other OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: schwab at linux-m68k.org CC: unassigned at icedtea.classpath.org Created attachment 1029 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1029&action=edit Fix m68k inlines for class atomic This is a patch for hotspot to fix the m68k inlines for class atomic. -- 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/20140223/08a0873b/attachment.html From jvanek at redhat.com Sun Feb 23 23:24:35 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 24 Feb 2014 08:24:35 +0100 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <8823656A11DC6F49A9AA74FC990659F519DED856@SKYMB1.trustwave.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> <53031B72.3000704@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DED856@SKYMB1.trustwave.com> Message-ID: <530AF3B3.4070105@redhat.com> On 02/23/2014 01:56 PM, Efrat Lefeber wrote: > I see there are all kind of FileLocks in the java side to synchronize between processes. For example in net/sourceforge/jnlp/util/lockingfile/LockedFile.java. > Do you know why there is a need to synchronize between processes? Yes. Those file should be accessed only by one process/thread per time. I it is used only for Extended Applets security. And there is important that only one process write to it in time. And all others then pick up the fresh version. And act based on this action. If you suspect this, you may try to disable extended applets security in itw-settings or in code , but i doubt a bit. Thank you for digging into it! J. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Tuesday, February 18, 2014 10:36 AM > To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/18/2014 09:28 AM, Efrat Lefeber wrote: >> If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. > > Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) > > TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) > > I will look onto it, but it will take time. Just for curiosity - what is an usecase? > > the workaround like "run just single browser" is probably unsuitable :) > > Sorry, funny morning here:) > As I told, I will try to look whats hidden in this usecase. > J. >> >> -----Original Message----- >> From: Jiri Vanek [mailto:jvanek at redhat.com] >> Sent: Tuesday, February 18, 2014 9:35 AM >> To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net >> Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel >> >> On 02/17/2014 11:05 AM, Efrat Lefeber wrote: >>> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. >> >> Hi! >> >> How have you manged it? All applets are supposed to run in single JVM. >>> >>> What I see a degradation in performance when there are more plugin processes running. >>> >>> Is there some kind of a lock between processes that could implement on the performance? >>> >>> Or any other idea why the performance gets worse when more plugin processes run in parallel? >>> >>> >> >> Regards, >> 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 Sun Feb 23 23:29:52 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 24 Feb 2014 08:29:52 +0100 Subject: [icedtea-web] plugin hangs in xcb_wait_for_reply In-Reply-To: <1393162615.4301.5.camel@localhost.localdomain> References: <1393162615.4301.5.camel@localhost.localdomain> Message-ID: <530AF4F0.50400@redhat.com> On 02/23/2014 02:36 PM, Thomas Meyer wrote: > Hi, > > The icedtea-web plugin hangs on my computer in xcb_wait_for_reply while > trying to init the GTK look and feel: > > I'm using this version: > Name : icedtea-web > Architektur : x86_64 > Version : 1.4.2 > Ausgabe : 0.fc20 > Gr??e : 1.1 M How is it reproducible? Personally I don know why the look and feel is used there anyway? It have probably its place in Various dialogues, but the usage in jnlpruntime is a little bit confusing. How does it behave when you remove those lines? Thankx, J. > > Thread 16 (Thread 0x7f73bc4eb700 (LWP 14468)): > #0 0x0000003623aea9dd in poll () from /lib64/libc.so.6 > #1 0x0000003627209f72 in poll (__timeout=-1, __nfds=1, > __fds=0x7f73bc4ea0e0) > at /usr/include/bits/poll2.h:46 > #2 _xcb_conn_wait (c=c at entry=0x7f73b82a6c20, > cond=cond at entry=0x7f73bc4ea160, > vector=vector at entry=0x0, count=count at entry=0x0) at xcb_conn.c:414 > #3 0x000000362720b44f in wait_for_reply (c=c at entry=0x7f73b82a6c20, > request=112, > e=e at entry=0x7f73bc4ea220) at xcb_in.c:399 > #4 0x000000362720b562 in xcb_wait_for_reply (c=c at entry=0x7f73b82a6c20, > request=112, > e=e at entry=0x7f73bc4ea220) at xcb_in.c:429 > #5 0x0000003626e43017 in _XReply (dpy=dpy at entry=0x7f73b82a59d0, > rep=rep at entry=0x7f73bc4ea270, extra=extra at entry=0, > discard=discard at entry=1) > at xcb_io.c:602 > #6 0x0000003626e38f04 in XQueryExtension > (dpy=dpy at entry=0x7f73b82a59d0, > name=name at entry=0x362e20c724 "XInputExtension", > major_opcode=major_opcode at entry=0x7f73bc4ea2e4, > first_event=first_event at entry=0x7f73bc4ea2e8, > first_error=first_error at entry=0x7f73bc4ea2ec) at QuExt.c:48 > #7 0x0000003626e2ccc2 in XInitExtension (dpy=0x7f73b82a59d0, > name=0x362e20c724 "XInputExtension") at InitExt.c:47 > #8 0x000000362760d07f in XextAddDisplay () from /lib64/libXext.so.6 > #9 0x000000362e207313 in XInput_find_display > (dpy=dpy at entry=0x7f73b82a59d0) at XExtInt.c:223 > #10 0x000000362e205c19 in XListInputDevices (dpy=0x7f73b82a59d0, > ndevices=0x7f73bc4ea46c) > at XListDev.c:184 > #11 0x0000003e3c87d684 in _gdk_input_common_init () > from /lib64/libgdk-x11-2.0.so.0 > #12 0x0000003e3c8516df in gdk_display_open () > from /lib64/libgdk-x11-2.0.so.0 > #13 0x0000003e3c81f03d in gdk_display_open_default_libgtk_only () > from /lib64/libgdk-x11-2.0.so.0 > #14 0x0000003e3cd45aa4 in gtk_init_check () > from /lib64/libgtk-x11-2.0.so.0 > #15 0x00007f73b339e3c1 in gtk2_load () > > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/xawt/libmawt.so > #16 0x00007f73b3386c6b in Java_sun_awt_UNIXToolkit_load_1gtk () > > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/xawt/libmawt.so > #17 0x00007f73b49d304c in ?? () > #18 0x00007f73bc4ea640 in ?? () > #19 0x00000007f6045368 in ?? () > #20 0x00007f73bc4ea698 in ?? () > #21 0x00000007f6046ce0 in ?? () > #22 0x0000000000000000 in ?? () > > Probably in net.sourceforge.jnlp.runtime.JNLPRuntime in the > UIManager.setLookAndFeel() call. > > > any ideas? > > > Maybe these threads are related? > Thread 2 (Thread 0x7f73b2577700 (LWP 14492)): > #0 0x0000003623aea9dd in poll () from /lib64/libc.so.6 > #1 0x00000036266495b4 in g_main_context_iterate.isra.24 () > from /lib64/libglib-2.0.so.0 > #2 0x0000003626649a3a in g_main_loop_run () > from /lib64/libglib-2.0.so.0 > #3 0x00007f73b2bcfbb9 in jni_main_loop () > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre/lib/amd64/libatk-wrapper.so > #4 0x000000362666ea45 in g_thread_proxy () from /lib64/libglib-2.0.so.0 > #5 0x0000003624607f33 in start_thread () from /lib64/libpthread.so.0 > #6 0x0000003623af4ded in clone () from /lib64/libc.so.6 > > Thread 1 (Thread 0x7f73bd2c9740 (LWP 14465)): > #0 0x0000003624609297 in pthread_join () from /lib64/libpthread.so.0 > #1 0x0000003fc5a096d5 in ContinueInNewThread0 () > > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so > #2 0x0000003fc5a04307 in ContinueInNewThread () > > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so > #3 0x0000003fc5a04db9 in JLI_Launch () > > from /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64/jre-abrt/bin/../lib/amd64/jli/libjli.so > #4 0x0000000000400685 in main () > > From ELefeber at trustwave.com Mon Feb 24 00:27:54 2014 From: ELefeber at trustwave.com (Efrat Lefeber) Date: Mon, 24 Feb 2014 08:27:54 +0000 Subject: [icedtea-web-1.4] running sevrial plugins in parallel In-Reply-To: <530AF3B3.4070105@redhat.com> References: <8823656A11DC6F49A9AA74FC990659F519DECAB1@SKYMB1.trustwave.com> <53030D3C.9060201@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DECC7E@SKYMB1.trustwave.com> <53031B72.3000704@redhat.com> <8823656A11DC6F49A9AA74FC990659F519DED856@SKYMB1.trustwave.com> <530AF3B3.4070105@redhat.com> Message-ID: <8823656A11DC6F49A9AA74FC990659F519DED9B4@SKYMB1.trustwave.com> How do I disable the extended applet security? -----Original Message----- From: Jiri Vanek [mailto:jvanek at redhat.com] Sent: Monday, February 24, 2014 9:25 AM To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel On 02/23/2014 01:56 PM, Efrat Lefeber wrote: > I see there are all kind of FileLocks in the java side to synchronize between processes. For example in net/sourceforge/jnlp/util/lockingfile/LockedFile.java. > Do you know why there is a need to synchronize between processes? Yes. Those file should be accessed only by one process/thread per time. I it is used only for Extended Applets security. And there is important that only one process write to it in time. And all others then pick up the fresh version. And act based on this action. If you suspect this, you may try to disable extended applets security in itw-settings or in code , but i doubt a bit. Thank you for digging into it! J. > > -----Original Message----- > From: Jiri Vanek [mailto:jvanek at redhat.com] > Sent: Tuesday, February 18, 2014 10:36 AM > To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net > Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel > > On 02/18/2014 09:28 AM, Efrat Lefeber wrote: >> If you have several browsers running, each browser loads a different plugin instance which loads a different jvm instance. > > Ah, yes. Sorry I did not realize, but it is obvious. I would probably call it a bug:) > > TBH, this state was never examined nor profiled. Sorry:( but well it is not common :) ) > > I will look onto it, but it will take time. Just for curiosity - what is an usecase? > > the workaround like "run just single browser" is probably unsuitable :) > > Sorry, funny morning here:) > As I told, I will try to look whats hidden in this usecase. > J. >> >> -----Original Message----- >> From: Jiri Vanek [mailto:jvanek at redhat.com] >> Sent: Tuesday, February 18, 2014 9:35 AM >> To: Efrat Lefeber; distro-pkg-dev at openjdk.java.net >> Subject: Re: [icedtea-web-1.4] running sevrial plugins in parallel >> >> On 02/17/2014 11:05 AM, Efrat Lefeber wrote: >>> I am running several plugin processes in parallel (each runs its own jvm). No more than 5-6 in parallel. >> >> Hi! >> >> How have you manged it? All applets are supposed to run in single JVM. >>> >>> What I see a degradation in performance when there are more plugin processes running. >>> >>> Is there some kind of a lock between processes that could implement on the performance? >>> >>> Or any other idea why the performance gets worse when more plugin processes run in parallel? >>> >>> >> >> Regards, >> 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. > ________________________________ 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 Mon Feb 24 01:42:36 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 24 Feb 2014 09:42:36 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBitAffineIdentityTrans... Message-ID: changeset 47c220990ab6 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=47c220990ab6 author: Pavel Tisnovsky date: Mon Feb 24 10:46:55 2014 +0100 Ten new tests added into BitBitAffineIdentityTransformOp.java: diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r 6c9bc506c372 -r 47c220990ab6 ChangeLog --- a/ChangeLog Fri Feb 14 14:07:40 2014 +0100 +++ b/ChangeLog Mon Feb 24 10:46:55 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-24 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: + Ten new tests added into BitBitAffineIdentityTransformOp.java: + 2014-02-14 Pavel Tisnovsky * src/org/gfxtest/testsuites/CAGOperationsOnTwoTouchingCircles.java: diff -r 6c9bc506c372 -r 47c220990ab6 src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Fri Feb 14 14:07:40 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java Mon Feb 24 10:46:55 2014 +0100 @@ -3235,6 +3235,146 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_RGB. + * + * @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 testBitBltDiagonalCheckerBufferedImageTypeIntRGBIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntRGB(image, graphics2d, IdentifyTranspormationOp6); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp1(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp1); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp2(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp2); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp3(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp3); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp4(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp4); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp5(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp5); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_INT_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 testBitBltDiagonalCheckerBufferedImageTypeIntBGRIdentifyTranspormationOp6(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeIntBGR(image, graphics2d, IdentifyTranspormationOp6); + } + + /** * Entry point to the test suite. * * @param args not used in this case From mvyskocil at suse.cz Mon Feb 24 01:25:17 2014 From: mvyskocil at suse.cz (Michal Vyskocil) Date: Mon, 24 Feb 2014 10:25:17 +0100 Subject: [PATCH] [icedtea-web] Small fixes for icedtea-web-1.4.2 tests In-Reply-To: <5304C29E.3080302@redhat.com> References: <20140218141237.GA26115@linux-xtv2.site> <53036BDD.2070007@redhat.com> <20140219093134.GD9111@linux-xtv2.site> <20140219125313.GE5798@linux-xtv2.site> <5304C29E.3080302@redhat.com> Message-ID: <20140224092517.GE32564@linux-xtv2.site> On Wed, Feb 19, 2014 at 03:41:34PM +0100, Jiri Vanek wrote: > On 02/19/2014 01:53 PM, Michal Vyskocil wrote: > >On Wed, Feb 19, 2014 at 10:31:34AM +0100, Michal Vyskocil wrote: > >>On Tue, Feb 18, 2014 at 03:19:09PM +0100, Jiri Vanek wrote: > >>>On 02/18/2014 03:12 PM, Michal Vyskocil wrote: > >>>>Hi, > >>>> > >>>>when running more regression tests, I've found two issues in upstream. > >>>>Attached patches fixes both of them. I have no idea if icedtea's > >>>>http://icedtea.classpath.org/wiki/CommitPolicy#Posting_Your_Patch rules > >>>>applies for icedtea-web. If so, please let me know and I'll rework them. > >>>> > >>>>Regards > >>>>Michal Vyskocil > >>>> > >>> > >>> > >>>Those looks ok. Only the changelog is missing. Those changes have to > >>>go also to head, where applicable. I guess all are applicable. May > >>>you verify? Do you have push rights? > >> > >>Hi Jiri, > >> > >>As you wish - those are reworked patches with added ChangeLog entry. The > >>public keystore/mkdir patch is different between HEAD and 1.4.2 due XDG > >>change. The link patch is basically the same, differs only in ChangeLog > >>hunk. > >> > >>For HEAD (sorry, those are from git format-patch, hope that's ok): > >> * 0001-Make-sure-that-path-to-PUBLIC_KEYSTORE-exists.patch > >> * 0002-Put-link-flags-to-the-end-of-gcc-command-line.patch > >>For 1.4.2 (those are from quilt ...): > >> * icedtea-web-1.4.2-mkdir.patch > >> * icedtea-web-1.4.2-softkiller-link.patch > > > >OK an another attempt - just one patch per branch as requested ... > > > > * icedtea-web-HEAD-test-build-fixes.patch > > * icedtea-web-1.4.2-test-build-fixes.patch > > > >Hope that's OK now > > > >Regards > >Michal Vyskocil > > > >> > >>I don't have a push access, so please apply them on your own. > >> > >>Regards > >>Michal Vyskocil > > Hi! > > > I have pushed both your changesets. Thanx! Cool! > Just veryfing Do not 1.4 need the same check in +mkdir -p $(PUBLIC_KEYSTORE_DIR) ; \ as head do? ( > [ ! -d $(keystoredir) ] && mkdir -p $(keystoredir); \) I'd say it is mostly a consistency issue. Regards Michal Vyskocil > > Thanx for contribution, > J. > > -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: Digital signature Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140224/87c3b5a1/attachment-0001.bin From ptisnovs at icedtea.classpath.org Mon Feb 24 01:46:07 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Mon, 24 Feb 2014 09:46:07 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamPositiveT... Message-ID: changeset e97b81e2f125 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=e97b81e2f125 author: Pavel Tisnovsky date: Mon Feb 24 10:50:30 2014 +0100 Added new test testGetResourceAsStreamPositiveTest into SimpleBindingsClassTest. diffstat: ChangeLog | 6 ++++++ src/org/RhinoTests/SimpleBindingsClassTest.java | 13 +++++++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diffs (36 lines): diff -r cc40267835dc -r e97b81e2f125 ChangeLog --- a/ChangeLog Fri Feb 14 14:09:52 2014 +0100 +++ b/ChangeLog Mon Feb 24 10:50:30 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-24 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Added new test testGetResourceAsStreamPositiveTest into + SimpleBindingsClassTest. + 2014-02-14 Pavel Tisnovsky * src/org/RhinoTests/CompiledScriptClassTest.java: diff -r cc40267835dc -r e97b81e2f125 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Fri Feb 14 14:09:52 2014 +0100 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Mon Feb 24 10:50:30 2014 +0100 @@ -2080,6 +2080,19 @@ } /** + * Test for method javax.script.SimpleBindings.getClass().getResourceAsStreamNPETest() + */ + protected void testGetResourceAsStreamNPETest() { + try { + Object resource = this.simpleBindingsClass.getResourceAsStream(null); + throw new AssertionError("NullPointerException expected!"); + } + catch (NullPointerException e) { + //This is OK OK + } + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleBindings */ @SuppressWarnings("cast") From jvanek at redhat.com Mon Feb 24 05:15:29 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 24 Feb 2014 14:15:29 +0100 Subject: [rfc][icedtea-web][policyeditor] Parsing enhancement, unit testing, file-changed checking In-Reply-To: <53078375.1000705@redhat.com> References: <53078375.1000705@redhat.com> Message-ID: <530B45F1.2000702@redhat.com> On 02/21/2014 05:48 PM, Andrew Azores wrote: > Hi, > > One of the attached patches changes PolicyEditor to use regexes when attempting to convert Strings > into PolicyEditorPermissions, and adds plenty of unit tests for various things. The other patch adds > functionality so PolicyEditor will warn the user if the file on disk is modified externally in > between the time PolicyEditor opened the file and when it is to be saved. This is done by checking > the file's MD5, which was added to FileUtils so it's reusable in the future. ChangeLogs are included > in the patches. They should apply cleanly together. > > Thanks, > overall ok, few nits inline: > -- > Andrew A > > > policy-editor-filechanged-check.patch > > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,15 @@ > +2014-02-21 Andrew Azores > + > + * netx/net/sourceforge/jnlp/resources/Messages.properties: > + (RFileModifiedWhileLoaded, RFileModifiedWhileLoadedDetail, PEFileModified) > + new messages for when a loaded file changes on disk > + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: > + (fileMd5, openAndParsePolicyFile, savePolicyFile) keep track of file MD5, > + prompt user if MD5 changes between file load and save. (updateCheckboxes) > + avoid an NPE > + * netx/net/sourceforge/jnlp/util/FileUtils.java: > + (showFileChangedWhileLoadedDialog) new functions > + > 2014-02-20 Andrew Azores > > New simplified PolicyEditor for editing Java policy files, particularly > diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties > --- a/netx/net/sourceforge/jnlp/resources/Messages.properties > +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties > @@ -164,6 +164,8 @@ > 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 > +RFileModifiedWhileLoaded=File Modification Warning > +RFileModifiedWhileLoadedDetail=The file {0} has been modified on disk since it was loaded. Reload? > RRemoveRPermFailed=Removing read permission on file {0} failed > RRemoveWPermFailed=Removing write permissions on file {0} failed > RRemoveXPermFailed=Removing execute permissions on file {0} failed > @@ -481,6 +483,7 @@ > PEExitMenuItem=Exit > PEViewMenu=View > PECustomPermissionsItem=Custom Permissions... > +PEFileModified=The policy file has been modified since it was opened. Reload and re-edit before saving? > > # Policy Editor CustomPolicyViewer > PECPTitle=Custom Policy Viewer > diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > @@ -161,6 +161,7 @@ > private final JFileChooser fileChooser; > private CustomPolicyViewer cpViewer = null; > private final WeakReference weakThis = new WeakReference(this); > + private byte[] fileMd5; > > private final ActionListener okButtonAction, closeButtonAction, addCodebaseButtonAction, > removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, viewCustomButtonAction; > @@ -546,12 +547,24 @@ > for (final ActionListener l : box.getActionListeners()) { > box.removeActionListener(l); > } > - box.setSelected(codebasePermissionsMap.get(codebase).get(perm)); > + final Map map = codebasePermissionsMap.get(codebase); > + final boolean state; > + if (map != null) { > + final Boolean s = map.get(perm); > + if (s != null) { > + state = s; > + } else { > + state = false; > + } > + } else { > + state = false; > + } > + box.setSelected(state); > box.addActionListener(new ActionListener() { > @Override > public void actionPerformed(final ActionEvent e) { > changesMade = true; > - codebasePermissionsMap.get(codebase).put(perm, box.isSelected()); > + map.put(perm, box.isSelected()); > } > }); > } > @@ -720,17 +733,21 @@ > } > final String contents; > try { > - contents = FileUtils.loadFileAsString(new File(filePath)); > + final File f = new File(filePath); > + fileMd5 = FileUtils.getFileMD5Sum(f); > + contents = FileUtils.loadFileAsString(f); > } catch (final IOException e) { > OutputController.getLogger().log(e); > OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", filePath)); > FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); > return; > } > + codebasePermissionsMap.clear(); > + customPermissionsMap.clear(); > // Split on newlines, both \r\n and \n style, for platform-independence > final String[] lines = contents.split("[\\r\\n]+"); > String codebase = ""; > - FileLock fileLock = null; > + final FileLock fileLock; > try { > fileLock = FileUtils.getFileLock(filePath, false, true); > } catch (final FileNotFoundException e) { > @@ -809,6 +826,34 @@ > new Thread() { > @Override > public void run() { > + if (fileMd5 != null) { > + try { > + final byte[] newChecksum = FileUtils.getFileMD5Sum(new File(filePath)); > + if (!Arrays.equals(fileMd5, newChecksum)) { > + final int response = FileUtils.showFileChangedWhileLoadedDialog(weakThis.get(), > + R("PEFileModified"), R("RFileModifiedWhileLoaded")); > + switch (response) { > + case JOptionPane.YES_OPTION: > + openAndParsePolicyFile(); > + return; > + case JOptionPane.NO_OPTION: > + break; > + case JOptionPane.CANCEL_OPTION: > + return; > + default: > + break; > + } > + } > + } catch (final FileNotFoundException e) { > + OutputController.getLogger().log(e); > + showCouldNotSaveDialog(); Why can not we save if file is not found? - we can not load - or we can not save because of not existing path to file -? > + return; > + } catch (final IOException e) { > + OutputController.getLogger().log(e); > + showCouldNotSaveDialog(); > + return; > + } > + } > final StringBuilder sb = new StringBuilder(); > sb.append(AUTOGENERATED_NOTICE); > sb.append("\n/* Generated by PolicyEditor at " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") > @@ -839,6 +884,7 @@ > > try { > FileUtils.saveFile(sb.toString(), new File(filePath)); > + fileMd5 = FileUtils.getFileMD5Sum(new File(filePath)); > changesMade = false; > showChangesSavedDialog(); > } catch (final IOException e) { > 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 > @@ -30,8 +30,12 @@ > import java.io.OutputStreamWriter; > import java.io.RandomAccessFile; > import java.io.Writer; > +import java.nio.ByteBuffer; > import java.nio.channels.FileChannel; > import java.nio.channels.FileLock; > +import java.security.DigestInputStream; > +import java.security.MessageDigest; > +import java.security.NoSuchAlgorithmException; > import java.util.ArrayList; > import java.util.List; > > @@ -394,6 +398,27 @@ > } > > /** > + * Show a message warning the user that a file has been modified on disk since it was loaded and asking to reload > + * @param frame a {@link JFrame} to act as parent to this dialog > + * @param message the dialog message to display > + * @param title the dialog title > + * @return the user's choice > + */ > + public static int showFileChangedWhileLoadedDialog(final JFrame frame, final String message, final String title) { > + return JOptionPane.showConfirmDialog(frame, message, title, JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); Not sure if this generalization belongs here. If yes, then whole md5sum compression belongs here. I'm imagining new class around netx/net/sourceforge/jnlp/util/FileUtils.java , eg md5sumWatcher. Or UpdateWatchingFile And it will encapsulate all md5sum checks you do PolicyEditor. and of course handle the dialogue. > + } > + > + /** > + * Show a message warning the user that a file has been modified on disk since it was loaded and asking to reload > + * @param frame a {@link JFrame} to act as parent to this dialog > + * @param filePath the path to the file > + * @return the user's choice > + */ > + public static int showFileChangeWhileLoadedDialog(final JFrame frame, final String filePath) { > + return showFileChangedWhileLoadedDialog(frame, R("RFileModifiedWhileLoadedDetail", filePath), R("RFileModifiedWhileLoaded")); > + } > + > + /** > * Returns a String that is suitable for using in GUI elements for > * displaying (long) paths to users. > * > @@ -579,4 +604,39 @@ > public static String loadFileAsString(File f, String encoding) throws IOException { > return getContentOfStream(new FileInputStream(f), encoding); > } > + > + public static byte[] getFileMD5Sum(final File f) throws FileNotFoundException, IOException { > + final MessageDigest md5; > + final InputStream is; > + final DigestInputStream dis; > + try { > + md5 = MessageDigest.getInstance("MD5"); > + is = new FileInputStream(f); > + dis = new DigestInputStream(is, md5); > + > + md5.update(getContentOfStream(dis).getBytes()); > + } catch (final NoSuchAlgorithmException e) { > + // There definitely should be an MD5 algorithm... if not, well, nothing to do but fail. Then maybe rather bubble the exception up? Yes log, but rethrow. Or at least let user know. Or use timestamp as fall back. This return null is suspicious and smell by NPE later. ( I mean also in changesets time horizon later) > + OutputController.getLogger().log(e); > + return null; > + } > + > + try { > + if (is != null) { > + is.close(); > + } > + } catch (final IOException e) { > + OutputController.getLogger().log(e); blah :)) To match try/catch -> log Something better here? Eg utility method which throw sensible information, Which is catched in proper place with proper reaction? > + } > + > + try { > + if (dis != null) { > + dis.close(); > + } > + } catch (final IOException e) { > + OutputController.getLogger().log(e); > + } > + > + return md5.digest(); > + } > } > > > policy-editor-parsing-tests.patch > > > diff --git a/ChangeLog b/ChangeLog > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,24 @@ > +2014-02-21 Andrew Azores > + > + * NEWS: added entry for PolicyEditor > + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: > + (fromString) use regexes to parse > + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: > + (getPermissions) returns empty map rather than null. > + (getCustomPermissions) new function. (openAndParsePolicyFile) check for > + OpenFileResult FAILURE and NOT_FILE rather than null > + * netx/net/sourceforge/jnlp/util/FileUtils.java: > + (testDirectoryPermissions) add check for getCanonicalFile and null > + safeguarding. (testFilePermissions) add check for getCanonicalFile and > + return FAILURE rather than null > + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: > + (testMissingQuotationMarks) new test > + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: > + (testReturnedCustomPermissionsSetIsCopy, > + testCodebaseTrailingSlashesDoNotMatch) new tests > + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java: > + new tests > + > 2014-02-20 Andrew Azores > > New simplified PolicyEditor for editing Java policy files, particularly > diff --git a/NEWS b/NEWS > --- a/NEWS > +++ b/NEWS > @@ -16,6 +16,7 @@ > * Dialogs center on screen before becoming visible > * Support for u45 and u51 new manifest attributes (Application-Name, Codebase) > * Custom applet permission policies panel in itweb-settings control panel > +* New PolicyEditor for easily adding/removing permissions to individual applets > * Cache Viewer > - Can be closed by ESC key > - Enabling and disabling of operational buttons is handled properly > diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java > @@ -36,6 +36,9 @@ > > package net.sourceforge.jnlp.security.policyeditor; > > +import java.util.regex.Matcher; > +import java.util.regex.Pattern; > + > /** > * This class models a permission entry in a policy file which is not included > * in the default set of permissions used by the PolicyEditor, ie, permissions > @@ -63,16 +66,15 @@ > * @return a CustomPermission representing this string > */ > public static CustomPermission fromString(final String string) { > - final String[] parts = string.trim().split(" "); > - if (!parts[0].equals("permission") || parts.length < 3 || !string.trim().endsWith(";")) { The pattenr should be precompiled, and then reused. Pelase extract the variable. Also some comments would be nice :)) What is expected to be parsed and what not. > + final Pattern pattern = > + Pattern.compile("permission\\s+([\\w.]+)\\s+\"([^\"]+)\",?\\s*\"?([^\"]*)\"?;"); Isn't the regex to benevolent? > + final Matcher matcher = pattern.matcher(string); > + if (!matcher.matches()) { > return null; > } > - final String typeStr = removeQuotes(parts[1]); > - final String targetStr = removeQuotes(removeSemicolon(removeComma(parts[2]))); > - String actionsStr = ""; > - if (parts.length > 3) { > - actionsStr = removeQuotes(removeSemicolon(parts[3])); > - } > + final String typeStr = matcher.group(1); > + final String targetStr = matcher.group(2); > + final String actionsStr = matcher.group(3); > return new CustomPermission(typeStr, targetStr, actionsStr); > } > > @@ -96,18 +98,6 @@ > return sb.toString(); > } > > - private static String removeQuotes(final String string) { > - return string.replaceAll("\"", ""); > - } > - > - private static String removeSemicolon(final String string) { > - return string.replaceAll(";", ""); > - } > - > - private static String removeComma(final String string) { > - return string.replaceAll(",", ""); > - } > - > @Override > public int compareTo(final CustomPermission o) { > if (this == o) { > diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java > @@ -56,6 +56,7 @@ > import java.util.Arrays; > import java.util.Calendar; > import java.util.Collection; > +import java.util.Collections; > import java.util.HashMap; > import java.util.HashSet; > import java.util.List; > @@ -533,7 +534,29 @@ > * @return a map of permissions to whether these permissions are set for the given codebase > */ > public Map getPermissions(final String codebase) { > - return new HashMap(codebasePermissionsMap.get(codebase)); > + final Map permissions = codebasePermissionsMap.get(codebase); > + if (permissions != null) { > + return new HashMap(permissions); > + } else { > + final Map blank = new HashMap(); > + for (final PolicyEditorPermissions perm : PolicyEditorPermissions.values()) { > + blank.put(perm, false); > + } > + return blank; > + } > + } > + > + /** > + * @param codebase the codebase to query > + * @return a collection of CustomPermissions granted to the given codebase > + */ > + public Collection getCustomPermissions(final String codebase) { > + final Collection permissions = customPermissionsMap.get(codebase); > + if (permissions != null) { > + return new HashSet(permissions); > + } else { > + return Collections.emptySet(); > + } > } > > /** > @@ -711,7 +734,7 @@ > @Override > public void run() { > OpenFileResult ofr = FileUtils.testFilePermissions(new File(filePath)); > - if (ofr == null) { > + if (ofr == OpenFileResult.FAILURE || ofr == OpenFileResult.NOT_FILE) { > FileUtils.showCouldNotOpenFilepathDialog(weakThis.get(), filePath); > return; > } > 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 > @@ -285,8 +285,13 @@ > * @param file the {@link File} representing a Java Policy file to test > * @return a {@link DirectoryCheckResults} object representing the results of the test > */ > - public static DirectoryCheckResults testDirectoryPermissions(final File file) { > - if (file == null || !file.getParentFile().exists()) { > + public static DirectoryCheckResults testDirectoryPermissions(File file) { > + try { > + file = file.getCanonicalFile(); > + } catch (final IOException e) { Never consume exceptions. never. > + return null; > + } > + if (file == null || file.getParentFile() == null || !file.getParentFile().exists()) { > return null; > } > final List policyDirectory = new ArrayList(); > @@ -303,11 +308,15 @@ > * as an empty plain file. > * @param file the {@link File} to verify > * @return an {@link OpenFileResult} representing the accessibility level of the file > - * @throws IOException if the file is not accessible > */ > - public static OpenFileResult testFilePermissions(final File file) { > + public static OpenFileResult testFilePermissions(File file) { > if (file == null || !file.exists()) { > - return null; > + return OpenFileResult.FAILURE; > + } > + try { > + file = file.getCanonicalFile(); > + } catch (final IOException e) { > + return OpenFileResult.FAILURE; > } > final DirectoryCheckResults dcr = FileUtils.testDirectoryPermissions(file); > if (dcr != null && dcr.getFailures() == 0) { > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java > @@ -37,6 +37,7 @@ > package net.sourceforge.jnlp.security.policyeditor; > > import static org.junit.Assert.assertTrue; > +import net.sourceforge.jnlp.annotations.KnownToFail; > > import org.junit.Test; > > @@ -67,6 +68,33 @@ > } > > @Test > + public void testMissingQuotationMarks() throws Exception { > + final CustomPermission cp = CustomPermission.fromString("permission java.io.FilePermission *, read,write;"); > + assertTrue("Custom permission should be null", cp == null); > + } > + > + @KnownToFail > + @Test > + public void testMissingPunctuationForActions() throws Exception { > + final String missingComma = "permission java.io.FilePermission \"*\" \"read,write\";"; > + final String missingFirstQuote = "permission java.io.FilePermission \"*\", read,write\";"; > + final String missingSecondQuote = "permission java.io.FilePermission \"*\", \"read,write;"; > + final String missingBothQuotes = "permission java.io.FilePermission \"*\", read,write;"; > + final String missingAll = "permission java.io.FilePermission \"*\" read,write;"; > + > + final CustomPermission cp1 = CustomPermission.fromString(missingComma); > + assertTrue("Custom permission for " + missingComma + " should be null", cp1 == null); > + final CustomPermission cp2 = CustomPermission.fromString(missingFirstQuote); > + assertTrue("Custom permission for " + missingFirstQuote + " should be null", cp2 == null); > + final CustomPermission cp3 = CustomPermission.fromString(missingSecondQuote); > + assertTrue("Custom permission for " + missingSecondQuote + " should be null", cp3 == null); > + final CustomPermission cp4 = CustomPermission.fromString(missingBothQuotes); > + assertTrue("Custom permission for " + missingBothQuotes + " should be null", cp4 == null); > + final CustomPermission cp5 = CustomPermission.fromString(missingAll); > + assertTrue("Custom permission for " + missingAll + " should be null", cp5 == null); > + } > + This test needs to be splitted - probably. Rigth nopw I believe ALL the asserts fails. However, only first of them is executed. On the other hand, I donot wont to have 6 new KnownToFail unittests :-/ > + @Test > public void testToString() throws Exception { > final CustomPermission cp = new CustomPermission("java.io.FilePermission", "*", "read"); > final String expected = "permission java.io.FilePermission \"*\", \"read\";"; > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java > new file mode 100644 > --- /dev/null > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java > @@ -0,0 +1,231 @@ > +/*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. > + */ > + > +import static org.junit.Assert.assertFalse; > +import static org.junit.Assert.assertTrue; > + > +import java.io.File; > +import java.io.FileInputStream; > +import java.util.Map; > +import net.sourceforge.jnlp.annotations.KnownToFail; > +import net.sourceforge.jnlp.security.policyeditor.PolicyEditor; > +import net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; > +import net.sourceforge.jnlp.util.FileUtils; > +import org.junit.After; > +import org.junit.Before; > +import org.junit.Test; > + > +public class PolicyEditorParsingTest { > + > + private File file; > + private PolicyEditor editor; > + private Map permissions; > + > + private static final String LINEBREAK = System.getProperty("line.separator"); > + > + private static final String READ_PERMISSION = "permission java.io.FilePermission \"${user.home}${/}*\", \"read\";"; > + private static final String WRITE_PERMISSION = "permission java.io.FilePermission \"${user.home}${/}*\", \"write\";"; > + > + private static final String NORMAL_POLICY = "grant {" + LINEBREAK > + + "\t" + READ_PERMISSION + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String CODEBASE_POLICY = "grant codeBase \"http://redhat.com\" {" + LINEBREAK > + + "\t" + READ_PERMISSION + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String MULTIPLE_PERMISSION_POLICY = "grant {" + LINEBREAK > + + "\t" + READ_PERMISSION + LINEBREAK > + + "\t" + WRITE_PERMISSION + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String COMMENT_HEADER = "/* TEST COMMENT */" + LINEBREAK; > + > + private static final String COMMENT_BLOCKED_PERMISSION = "grant {" + LINEBREAK > + + "\t/*" + READ_PERMISSION + "*/" + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String COMMENT_BLOCKED_POLICY = "/*" + NORMAL_POLICY + "*/" + LINEBREAK; > + > + private static final String COMMENTED_PERMISSION = "grant {" + LINEBREAK > + + "\t//" + READ_PERMISSION + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String COMMENT_AFTER_PERMISSION = "grant {" + LINEBREAK > + + "\t" + READ_PERMISSION + " // comment" + LINEBREAK > + + "};" + LINEBREAK; > + > + private static final String MISSING_WHITESPACE_POLICY = "grant { " + READ_PERMISSION + " };"; > + > + private static final String MULTIPLE_PERMISSIONS_PER_LINE = "grant {" + LINEBREAK > + + "\t" + READ_PERMISSION + " " + WRITE_PERMISSION + LINEBREAK > + + "};" + LINEBREAK; > + > + @Before > + public void createTempFile() throws Exception { > + file = File.createTempFile("PolicyEditor", ".policy"); > + file.deleteOnExit(); > + } The tests for no file, jsut string parsding exists, correct? > + > + private void setupTest(final String policyContents, final String codebase) throws Exception { > + FileUtils.saveFile(policyContents, file); > + editor = PolicyEditor.createInstance(file.getCanonicalPath()); > + Thread.sleep(100); // policy editor loads asynch, give it some time to populate > + permissions = editor.getPermissions(codebase); > + } > + > + @Test > + public void testNormalPolicy() throws Exception { > + setupTest(NORMAL_POLICY, ""); > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @Test > + public void testCommentHeaders() throws Exception { > + setupTest(COMMENT_HEADER, ""); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + > + @Test > + public void testCommentBlockedPermission() throws Exception { > + setupTest(COMMENT_BLOCKED_PERMISSION, ""); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + > + @KnownToFail > + @Test > + public void testCommentBlockedPolicy() throws Exception { > + setupTest(COMMENT_BLOCKED_POLICY, ""); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + > + @Test > + public void testCommentedLine() throws Exception { > + setupTest(COMMENTED_PERMISSION, ""); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + > + @Test > + public void testMultiplePermissions() throws Exception { > + setupTest(MULTIPLE_PERMISSION_POLICY, ""); > + > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + assertTrue("Permissions should include WRITE_LOCAL_FILES", permissions.get(PolicyEditorPermissions.WRITE_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES) && !perm.equals(PolicyEditorPermissions.WRITE_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @KnownToFail > + @Test > + public void testMultiplePermissionsPerLine() throws Exception { > + setupTest(MULTIPLE_PERMISSIONS_PER_LINE, ""); > + > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + assertTrue("Permissions should include WRITE_LOCAL_FILES", permissions.get(PolicyEditorPermissions.WRITE_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES) && !perm.equals(PolicyEditorPermissions.WRITE_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @KnownToFail > + @Test > + public void testMissingWhitespace() throws Exception { > + setupTest(MISSING_WHITESPACE_POLICY, ""); > + > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @Test > + public void testPolicyWithCodebase() throws Exception { > + setupTest(CODEBASE_POLICY,"http://redhat.com"); > + > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @Test > + public void testCodebaseTrailingSlashesDoNotMatch() throws Exception { > + // note the trailing '/' - looks like the same URL but is not. JDK PolicyTool considers these as > + // different codeBases, so so does PolicyEditor > + setupTest(CODEBASE_POLICY,"http://redhat.com/"); > + > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > + @Test > + public void testCommentAfterPermission() throws Exception { > + setupTest(COMMENT_AFTER_PERMISSION, ""); > + > + assertTrue("Permissions should include READ_LOCAL_FILES", permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); > + for (final PolicyEditorPermissions perm : permissions.keySet()) { > + if (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { > + assertFalse("Permission " + perm + " should not be granted", permissions.get(perm)); > + } > + } > + } > + > +} > diff --git a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > --- a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > +++ b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java > @@ -122,6 +122,14 @@ > } > > @Test > + public void testReturnedCustomPermissionsSetIsCopy() throws Exception { > + final Collection original = editor.getCustomPermissions(""); > + original.add(new CustomPermission("java.io.FilePermission", "*", "write")); > + final Collection second = editor.getCustomPermissions(""); > + assertTrue("There should not be any custom permissions", second.isEmpty()); > + } > + > + @Test > public void testDefaultPermissionsAllFalse() throws Exception { > final Map defaultMap = editor.getPermissions(""); > editor.addNewCodebase("http://redhat.com"); > @@ -152,6 +160,19 @@ > } > > @Test > + public void testCodebaseTrailingSlashesDoNotMatch() throws Exception { > + final Set toAdd = new HashSet(); > + toAdd.add("http://redhat.com"); > + toAdd.add("http://redhat.com/"); I wouold recomand to replace redaht url by some unreal url like testing.url or whatever. > + editor.addNewCodebases(toAdd); > + final Collection codebases = editor.getCodebases(); > + assertTrue("Editor should have default codebase", codebases.contains("")); > + for (final String codebase : toAdd) { > + assertTrue("Editor should have " + codebase, codebases.contains(codebase)); > + } > + } > + > + @Test > public void testArgsToMap() throws Exception { > final String[] args = new String[] { > "-codebase","http://redhat.com http://icedtea.classpath.org", > Thanx! I must ask - how run in sandbox is going? It is main blocker for 1.5. (+my new attributes :( but those are not so much monolitic) J. From jvanek at redhat.com Mon Feb 24 07:37:09 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 24 Feb 2014 16:37:09 +0100 Subject: Fwd: [rfc][icedtea-web] save runn urls to property In-Reply-To: <5304C60C.5070608@redhat.com> References: <5304C60C.5070608@redhat.com> Message-ID: <530B6725.7080703@redhat.com> ping? -------- Original Message -------- Subject: [rfc][icedtea-web] save runn urls to property Date: Wed, 19 Feb 2014 15:56:12 +0100 From: Jiri Vanek To: IcedTea Distro List CC: Jakub Filak hi! As java abrt connector is sending quite good reports, the url, on which I can reproduce the issue is missing. So always my first question in bug is "may you please post url" ? Also java connector is printing out system properties. So it crossed my mind to store the launched jnlps/htmls for this usage. I have quite mixed feelings about it but do not have it makes java-abrt-connector a bit useless (users donot care to much about auto generated bugs) - see https://bugzilla.redhat.com/show_bug.cgi?id=1060390 This needs also some more work on java-abrt-conenctor - see https://github.com/jfilak/abrt-java-connector/issues/34 J. -------------- next part -------------- A non-text attachment was scrubbed... Name: saveVisitedUrlsToProperty.patch Type: text/x-patch Size: 2497 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140224/2f94233a/saveVisitedUrlsToProperty.patch From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 07:51:29 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 15:51:29 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Stefan Ring changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan at complang.tuwien.ac.a | |t --- Comment #3 from Stefan Ring --- Created attachment 1030 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1030&action=edit config.log Judging by changeset , it seems like it should work without this PaX stuff, but this is broken: make[7]: Entering directory `/home/sr/staging/staging-build7/icedtea7/openjdk/jdk/make/com/sun/jmx' /bin/mkdir -p /home/sr/staging/staging-build7/icedtea7/openjdk.build/classes/javax/management/remote/rmi rm -f /home/sr/staging/staging-build7/icedtea7/openjdk.build/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class if [ -x ] ; then \ if [ -w /home/sr/staging/staging-build7/icedtea7/openjdk.build/bin/java ] ; then \ -m /home/sr/staging/staging-build7/icedtea7/openjdk.build/bin/java ; \ fi ; \ fi /bin/sh: line 2: -m: command not found Apparently, test -x without an argument returns true. -- 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/20140224/4859099b/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 07:55:44 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 15:55:44 +0000 Subject: [Bug 1684] New: [IcedTea7] Build fails with empty PAX_COMMAND Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1684 Bug ID: 1684 Summary: [IcedTea7] Build fails with empty PAX_COMMAND Product: IcedTea Version: 7-hg Hardware: all OS: All Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: gnu.andrew at redhat.com CC: unassigned at icedtea.classpath.org Judging by changeset , it seems like it should work without this PaX stuff, but this is broken: make[7]: Entering directory `/home/sr/staging/staging-build7/icedtea7/openjdk/jdk/make/com/sun/jmx' /bin/mkdir -p /home/sr/staging/staging-build7/icedtea7/openjdk.build/classes/javax/management/remote/rmi rm -f /home/sr/staging/staging-build7/icedtea7/openjdk.build/classes/javax/management/remote/rmi/RMIConnectionImpl_Stub.class if [ -x ] ; then \ if [ -w /home/sr/staging/staging-build7/icedtea7/openjdk.build/bin/java ] ; then \ -m /home/sr/staging/staging-build7/icedtea7/openjdk.build/bin/java ; \ fi ; \ fi /bin/sh: line 2: -m: command not found Apparently, test -x without an argument returns true. -- 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/20140224/be91f4d4/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 07:56:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 15:56:31 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |1684 -- 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/20140224/fc958ac4/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 07:56:31 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 15:56:31 +0000 Subject: [Bug 1684] [IcedTea7] Build fails with empty PAX_COMMAND In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1684 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |1677 -- 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/20140224/5ceb3abb/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 07:56:52 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 15:56:52 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #1030|text/x-log |text/plain mime type| | -- 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/20140224/503a983a/attachment-0001.html From andrew at icedtea.classpath.org Mon Feb 24 08:00:05 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:00:05 +0000 Subject: /hg/icedtea7: PR1684: Build fails with empty PAX_COMMAND Message-ID: changeset 49b36369152d in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=49b36369152d author: Andrew John Hughes date: Mon Feb 24 15:59:54 2014 +0000 PR1684: Build fails with empty PAX_COMMAND 2014-02-24 Andrew John Hughes PR1684: Build fails with empty PAX_COMMAND * Makefile.am: (ICEDTEA_ENV): Only add PAX_COMMAND when defined. * NEWS: Updated. diffstat: ChangeLog | 7 +++++++ Makefile.am | 8 ++++++-- NEWS | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) diffs (50 lines): diff -r ffb3f0d91d72 -r 49b36369152d ChangeLog --- a/ChangeLog Fri Feb 21 22:04:31 2014 +0000 +++ b/ChangeLog Mon Feb 24 15:59:54 2014 +0000 @@ -1,3 +1,10 @@ +2014-02-24 Andrew John Hughes + + PR1684: Build fails with empty PAX_COMMAND + * Makefile.am: + (ICEDTEA_ENV): Only add PAX_COMMAND when defined. + * NEWS: Updated. + 2014-02-21 Andrew John Hughes * acinclude.m4: diff -r ffb3f0d91d72 -r 49b36369152d Makefile.am --- a/Makefile.am Fri Feb 21 22:04:31 2014 +0000 +++ b/Makefile.am Mon Feb 24 15:59:54 2014 +0000 @@ -514,8 +514,7 @@ PCSC_LIBS="${PCSC_LIBS}" \ PCSC_CFLAGS="${PCSC_CFLAGS}" \ COMPRESS_JARS="${ENABLE_JAR_COMPRESSION}" \ - ARM32JIT="${ARM32JIT_STATUS}" \ - PAX_COMMAND="${PAX_COMMAND}" + ARM32JIT="${ARM32JIT_STATUS}" if ENABLE_CACAO ICEDTEA_ENV += \ @@ -553,6 +552,11 @@ RHINO_JAR="$(abs_top_builddir)/rhino/rhino.jar" endif +if WITH_PAX +ICEDTEA_ENV += \ + PAX_COMMAND="${PAX_COMMAND}" +endif + # OpenJDK boot build environment. ICEDTEA_ENV_BOOT = $(ICEDTEA_ENV) \ BOOTCLASSPATH_CLS_RT="-bootclasspath $(CLS_DIR_BOOT):$(RUNTIME)" \ diff -r ffb3f0d91d72 -r 49b36369152d NEWS --- a/NEWS Fri Feb 21 22:04:31 2014 +0000 +++ b/NEWS Mon Feb 24 15:59:54 2014 +0000 @@ -159,6 +159,7 @@ - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp - PR1677: Update PaX support to detect running PaX kernel and use newer tools - PR1679: Allow OpenJDK to build on PaX-enabled kernels + - PR1684: Build fails with empty PAX_COMMAND * 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 From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 08:00:17 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:00:17 +0000 Subject: [Bug 1684] [IcedTea7] Build fails with empty PAX_COMMAND In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1684 --- Comment #1 from hg commits --- details: http://icedtea.classpath.org//hg/icedtea7?cmd=changeset;node=49b36369152d author: Andrew John Hughes date: Mon Feb 24 15:59:54 2014 +0000 PR1684: Build fails with empty PAX_COMMAND 2014-02-24 Andrew John Hughes PR1684: Build fails with empty PAX_COMMAND * Makefile.am: (ICEDTEA_ENV): Only add PAX_COMMAND when defined. * NEWS: Updated. -- 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/20140224/0ab5d3db/attachment.html From gnu.andrew at redhat.com Mon Feb 24 08:02:00 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Mon, 24 Feb 2014 11:02:00 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> Message-ID: <1816561120.8183412.1393257720538.JavaMail.zimbra@redhat.com> ----- Original Message ----- > >>> Should the PAX issue be fixed in HEAD? > >>> > >>> - Grant > >>> > >> > >> Should be now if you update. > > > > > > I get the following: > > I just noticed the icedtea-7.9999.ebuild has been updated so I'm > trying that now. I get the following error from the ebuild: > > !!! A file is not listed in the Manifest: > '/var/lib/layman/java/dev-java/icedtea/files/openjdk6-prefer_source.patch' > > But the fix is easy: > > # ebuild icedtea-7.9999.ebuild manifest > There's no such file... $ ls files/ fontconfig.Gentoo.properties.src icedtea-7.2.1-pr986-cacao_memory_fix.patch generate-cacerts.pl icedtea-7.2.2-pr986-cacao_memory_fix_v2.patch icedtea-6.1.10.4_pax_kernel_support.patch icedtea-7-compile_for_7_cacao_mem.patch icedtea-6-pass_javac_memory_args_to_vm.patch icedtea-7-compiler_detection_cleanup.patch icedtea-6_pax_kernel_support.patch icedtea-7-no_suffix.patch icedtea-7.2.1-pax_kernel_support.patch icedtea.env icedtea-7.2.1-pax_mark_rmic_java.patch > - Grant > > > -- 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 Mon Feb 24 08:02:48 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:02:48 +0000 Subject: [Bug 1684] [IcedTea7] Build fails with empty PAX_COMMAND In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1684 Andrew John Hughes changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|--- |2.3.14 -- 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/20140224/892c4e54/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 08:02:49 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:02:49 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 Bug 1677 depends on bug 1684, which changed state. Bug 1684 Summary: [IcedTea7] Build fails with empty PAX_COMMAND http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1684 What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED -- 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/20140224/28d99949/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 08:17:20 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:17:20 +0000 Subject: [Bug 1682] Fix m68k inlines for class atomic In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1682 --- Comment #1 from Andrew John Hughes --- Can you explain why this change is needed? -- 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/20140224/49be1ec8/attachment.html From andrew at icedtea.classpath.org Mon Feb 24 08:20:43 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:20:43 +0000 Subject: /hg/icedtea7: Add Gentoo bug reference for PaX update. Message-ID: changeset 74d5e26fce82 in /hg/icedtea7 details: http://icedtea.classpath.org/hg/icedtea7?cmd=changeset;node=74d5e26fce82 author: Andrew John Hughes date: Mon Feb 24 16:19:53 2014 +0000 Add Gentoo bug reference for PaX update. 2014-02-24 Andrew John Hughes * NEWS: Add Gentoo bug reference for PaX update. diffstat: ChangeLog | 5 +++++ NEWS | 2 +- 2 files changed, 6 insertions(+), 1 deletions(-) diffs (24 lines): diff -r 49b36369152d -r 74d5e26fce82 ChangeLog --- a/ChangeLog Mon Feb 24 15:59:54 2014 +0000 +++ b/ChangeLog Mon Feb 24 16:19:53 2014 +0000 @@ -1,3 +1,8 @@ +2014-02-24 Andrew John Hughes + + * NEWS: Add Gentoo bug reference for + PaX update. + 2014-02-24 Andrew John Hughes PR1684: Build fails with empty PAX_COMMAND diff -r 49b36369152d -r 74d5e26fce82 NEWS --- a/NEWS Mon Feb 24 15:59:54 2014 +0000 +++ b/NEWS Mon Feb 24 16:19:53 2014 +0000 @@ -157,7 +157,7 @@ - Add new files from 8019229 - Remove duplicate ElfFuncDescTable code in elfSymbolTable.cpp - Remove duplicate ElfFuncDescTable code in elfSymbolTable.hpp - - PR1677: Update PaX support to detect running PaX kernel and use newer tools + - PR1677, G498288: Update PaX support to detect running PaX kernel and use newer tools - PR1679: Allow OpenJDK to build on PaX-enabled kernels - PR1684: Build fails with empty PAX_COMMAND * PPC & AIX port From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 08:33:18 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 16:33:18 +0000 Subject: [Bug 1682] Fix m68k inlines for class atomic In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1682 --- Comment #2 from Andreas Schwab --- It changes broken code into working code. -- 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/20140224/3d49282d/attachment-0001.html From jvanek at redhat.com Mon Feb 24 08:52:21 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Mon, 24 Feb 2014 17:52:21 +0100 Subject: Refactored, rusable UnsignedWarning dialogue Message-ID: <530B78C5.9030404@redhat.com> Hi Andrew, You have already did this work, is it usable? Do you mind to post it ? I would like to follow on this work and add more such an dialogues. Is it possible to send this refactoring to review? J. From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 09:19:57 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 17:19:57 +0000 Subject: [Bug 1682] Fix m68k inlines for class atomic In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1682 --- Comment #3 from Andrew John Hughes --- I was hoping for something a little more detailed... Why is the original broken? -- 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/20140224/42869f77/attachment.html From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 09:50:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 17:50:21 +0000 Subject: [Bug 1682] Fix m68k inlines for class atomic In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1682 --- Comment #4 from Andreas Schwab --- Because it doesn't work. -- 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/20140224/ed38d0ab/attachment.html From andrew at icedtea.classpath.org Mon Feb 24 10:59:51 2014 From: andrew at icedtea.classpath.org (andrew at icedtea.classpath.org) Date: Mon, 24 Feb 2014 18:59:51 +0000 Subject: /hg/release/icedtea7-2.3: PR1677: Update PaX support to detect r... Message-ID: changeset 541d09b19300 in /hg/release/icedtea7-2.3 details: http://icedtea.classpath.org/hg/release/icedtea7-2.3?cmd=changeset;node=541d09b19300 author: Andrew John Hughes date: Mon Feb 24 18:59:38 2014 +0000 PR1677: Update PaX support to detect running PaX kernel and use newer tools 2014-02-19 Andrew John Hughes PR1677: Update PaX support to detect running PaX kernel and use newer tools * NEWS: Updated. * acinclude.m4: (IT_HAS_PAX): New macro to detect whether the running kernel uses PaX. (IT_WITH_PAX): Rewritten to search for PaX tools - currently paxmark.sh, paxctl-ng, chpax and paxctl - and fail if a tool isn't found and a PaX kernel is being used. diffstat: ChangeLog | 13 ++++++++ NEWS | 3 + acinclude.m4 | 94 ++++++++++++++++++++++++++++++++++++++++------------------- 3 files changed, 80 insertions(+), 30 deletions(-) diffs (146 lines): diff -r 0d9606a3f667 -r 541d09b19300 ChangeLog --- a/ChangeLog Wed Jan 22 12:32:34 2014 +0000 +++ b/ChangeLog Mon Feb 24 18:59:38 2014 +0000 @@ -1,3 +1,16 @@ +2014-02-19 Andrew John Hughes + + PR1677: Update PaX support to detect running PaX + kernel and use newer tools + * NEWS: Updated. + * acinclude.m4: + (IT_HAS_PAX): New macro to detect whether the running + kernel uses PaX. + (IT_WITH_PAX): Rewritten to search for PaX tools - + currently paxmark.sh, paxctl-ng, chpax and paxctl - + and fail if a tool isn't found and a PaX kernel is + being used. + 2014-01-22 Andrew John Hughes * configure.ac: Bump to 2.3.14pre. diff -r 0d9606a3f667 -r 541d09b19300 NEWS --- a/NEWS Wed Jan 22 12:32:34 2014 +0000 +++ b/NEWS Mon Feb 24 18:59:38 2014 +0000 @@ -12,6 +12,9 @@ New in release 2.3.14 (2014-01-XX): +* Bug fixes + - PR1677: Update PaX support to detect running PaX kernel and use newer tools + New in release 2.3.13 (2014-01-14): * Security fixes diff -r 0d9606a3f667 -r 541d09b19300 acinclude.m4 --- a/acinclude.m4 Wed Jan 22 12:32:34 2014 +0000 +++ b/acinclude.m4 Mon Feb 24 18:59:38 2014 +0000 @@ -2239,45 +2239,79 @@ AC_SUBST([enable_downloading]) ]) +AC_DEFUN_ONCE([IT_HAS_PAX], +[ + AC_MSG_CHECKING([if a PaX kernel is in use]) + if cat /proc/self/status | grep '^PaX' >&AS_MESSAGE_LOG_FD 2>&1; then + pax_active=yes; + else + pax_active=no; + fi + AC_MSG_RESULT([${pax_active}]) + AM_CONDITIONAL([USING_PAX], test x"${pax_active}" = "xyes") +]) + AC_DEFUN_ONCE([IT_WITH_PAX], [ - AC_MSG_CHECKING([for pax utility to use]) + AC_REQUIRE([IT_HAS_PAX]) + PAX_DEFAULT=/usr/sbin/paxmark.sh + AC_MSG_CHECKING([if a PaX utility was specified]) AC_ARG_WITH([pax], [AS_HELP_STRING(--with-pax=COMMAND,the command used for pax marking)], [ - PAX_COMMAND=${withval} + if test "x${withval}" = "xyes"; then + PAX_COMMAND=no + else + PAX_COMMAND="${withval}" + fi ], [ + PAX_COMMAND=no + ]) + AC_MSG_RESULT(${PAX_COMMAND}) + if test "x${PAX_COMMAND}" == "xno"; then + PAX_COMMAND=${PAX_DEFAULT} + fi + AC_MSG_CHECKING([if $PAX_COMMAND is a valid executable file]) + if test -x "${PAX_COMMAND}" && test -f "${PAX_COMMAND}"; then + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + PAX_COMMAND="" + AC_PATH_PROG(PAX_COMMAND, "paxmark.sh") + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl-ng") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "chpax") + fi + if test -z "${PAX_COMMAND}"; then + AC_PATH_PROG(PAX_COMMAND, "paxctl") + fi + if test -z "${PAX_COMMAND}"; then + if test "x${pax_active}" = "xyes"; then + AC_MSG_ERROR("No PaX utility found and running on a PaX kernel.") + else + AC_MSG_WARN("No PaX utility found.") + fi + fi + fi + if test -z "${PAX_COMMAND}"; then PAX_COMMAND="not specified" - ]) - case "x${PAX_COMMAND}" in - xchpax) - case "${host_cpu}" in - i?86) - PAX_COMMAND_ARGS="-msp" - ;; - *) - PAX_COMMAND_ARGS="-m" - ;; - esac - ;; - xpaxctl) - case "${host_cpu}" in - i?86) - PAX_COMMAND_ARGS="-msp" - ;; - *) - PAX_COMMAND_ARGS="-m" - ;; - esac - ;; - *) - PAX_COMMAND="not specified" - PAX_COMMAND_ARGS="not specified" - ;; - esac + PAX_COMMAND_ARGS="not specified" + else + AC_MSG_CHECKING([which options to pass to ${PAX_COMMAND}]) + case "${host_cpu}" in + i?86) + PAX_COMMAND_ARGS="-msp" + ;; + *) + PAX_COMMAND_ARGS="-m" + ;; + esac + AC_MSG_RESULT(${PAX_COMMAND_ARGS}) + fi AM_CONDITIONAL(WITH_PAX, test "x${PAX_COMMAND}" != "xnot specified") - AC_MSG_RESULT(${PAX_COMMAND}) AC_SUBST(PAX_COMMAND) AC_SUBST(PAX_COMMAND_ARGS) ]) From bugzilla-daemon at icedtea.classpath.org Mon Feb 24 10:59:58 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Mon, 24 Feb 2014 18:59:58 +0000 Subject: [Bug 1677] [IcedTea7] Update PaX support to detect running PaX kernel and use newer tools In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1677 --- Comment #4 from hg commits --- details: http://icedtea.classpath.org//hg/release/icedtea7-2.3?cmd=changeset;node=541d09b19300 author: Andrew John Hughes date: Mon Feb 24 18:59:38 2014 +0000 PR1677: Update PaX support to detect running PaX kernel and use newer tools 2014-02-19 Andrew John Hughes PR1677: Update PaX support to detect running PaX kernel and use newer tools * NEWS: Updated. * acinclude.m4: (IT_HAS_PAX): New macro to detect whether the running kernel uses PaX. (IT_WITH_PAX): Rewritten to search for PaX tools - currently paxmark.sh, paxctl-ng, chpax and paxctl - and fail if a tool isn't found and a PaX kernel is being used. -- 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/20140224/c3d126f6/attachment.html From bugzilla-daemon at icedtea.classpath.org Tue Feb 25 00:45:48 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Tue, 25 Feb 2014 08:45:48 +0000 Subject: [Bug 1685] New: Eclipse kepler crashes on fedora 20 using 7.0_51-b31 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1685 Bug ID: 1685 Summary: Eclipse kepler crashes on fedora 20 using 7.0_51-b31 Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: dmcliver at gmail.com CC: unassigned at icedtea.classpath.org Created attachment 1031 --> http://icedtea.classpath.org/bugzilla/attachment.cgi?id=1031&action=edit Error log As the title implies. Error output is: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x0000003c3f609fe0, pid=2732, tid=140032461960960 # # JRE version: OpenJDK Runtime Environment (7.0_51-b31) (build 1.7.0_51-mockbuild_2014_01_31_16_21-b00) # Java VM: OpenJDK 64-Bit Server VM (24.51-b03 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libpthread.so.0+0x9fe0] pthread_mutex_lock+0x0 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /tmp/jvm-2732/hs_error.log # # If you would like to submit a bug report, please include # instructions on 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. # [mainuser at localhost ~]$ java -version java version "1.7.0_51" OpenJDK Runtime Environment (fedora-2.4.5.1.fc20-x86_64 u51-b31) OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) -- 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/20140225/6596f84e/attachment.html From ptisnovs at icedtea.classpath.org Tue Feb 25 01:51:21 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 25 Feb 2014 09:51:21 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltAffineQuadrantRotat... Message-ID: changeset 9ec4c2126a1a in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=9ec4c2126a1a author: Pavel Tisnovsky date: Tue Feb 25 10:52:03 2014 +0100 Ten new tests added into BitBltAffineQuadrantRotateTransformOp. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java | 140 ++++++++++ 2 files changed, 145 insertions(+), 0 deletions(-) diffs (162 lines): diff -r 47c220990ab6 -r 9ec4c2126a1a ChangeLog --- a/ChangeLog Mon Feb 24 10:46:55 2014 +0100 +++ b/ChangeLog Tue Feb 25 10:52:03 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-25 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: + Ten new tests added into BitBltAffineQuadrantRotateTransformOp. + 2014-02-24 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineIdentityTransformOp.java: diff -r 47c220990ab6 -r 9ec4c2126a1a src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java --- a/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Mon Feb 24 10:46:55 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java Tue Feb 25 10:52:03 2014 +0100 @@ -529,6 +529,146 @@ } /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation4Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[4]); + } + + /** + Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeByteGrayRotateTransformation5Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeByteGray(image, graphics2d, RotateTransformationNearest1Op[5]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeCustomRotateTransformation0Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, RotateTransformationNearest1Op[0]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeCustomRotateTransformation1Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, RotateTransformationNearest1Op[1]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeCustomRotateTransformation2Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, RotateTransformationNearest1Op[2]); + } + + /** + * Test basic BitBlt operation for empty 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 testBitBltEmptyBufferedImageTypeCustomRotateTransformation3Nearest1Op(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageTypeCustom(image, graphics2d, RotateTransformationNearest1Op[3]); + } + + /** * Test basic BitBlt operation for checker buffered image with type TYPE_3BYTE_BGR. * * @param image From ptisnovs at icedtea.classpath.org Tue Feb 25 02:02:53 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Tue, 25 Feb 2014 10:02:53 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamPositiveT... Message-ID: changeset cd4f00d779f7 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=cd4f00d779f7 author: Pavel Tisnovsky date: Tue Feb 25 11:03:31 2014 +0100 Added new test testGetResourceAsStreamPositiveTest into InvocableClassTest. diffstat: ChangeLog | 6 ++ src/org/RhinoTests/InvocableClassTest.java | 61 ++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 0 deletions(-) diffs (84 lines): diff -r e97b81e2f125 -r cd4f00d779f7 ChangeLog --- a/ChangeLog Mon Feb 24 10:50:30 2014 +0100 +++ b/ChangeLog Tue Feb 25 11:03:31 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-25 Pavel Tisnovsky + + * src/org/RhinoTests/InvocableClassTest.java: + Added new test testGetResourceAsStreamPositiveTest into + InvocableClassTest. + 2014-02-24 Pavel Tisnovsky * src/org/RhinoTests/SimpleBindingsClassTest.java: diff -r e97b81e2f125 -r cd4f00d779f7 src/org/RhinoTests/InvocableClassTest.java --- a/src/org/RhinoTests/InvocableClassTest.java Mon Feb 24 10:50:30 2014 +0100 +++ b/src/org/RhinoTests/InvocableClassTest.java Tue Feb 25 11:03:31 2014 +0100 @@ -1788,6 +1788,67 @@ } /** + * Test for method javax.script.Invocable.getClass().getResourceAsStreamNegativeTest() + */ + protected void testGetResourceAsStreamNegativeTest() { + Object stream = null; + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/BaseRhinoTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BaseRhinoTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/BindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/BindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/CompilableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/CompilableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/CompiledScriptClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/CompiledScriptTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/Constants.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/Constants.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/InvocableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/InvocableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/JavaScriptSnippets.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptSnippets.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/JavaScriptsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptsTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptEngineTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextClassTest.class\") returns null"); + stream = this.invocableClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextTest.class\") returns null"); + } + + /** * Test for instanceof operator applied to a class javax.script.Invocable */ @SuppressWarnings("cast") From aazores at redhat.com Tue Feb 25 06:34:24 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 25 Feb 2014 09:34:24 -0500 Subject: Refactored, rusable UnsignedWarning dialogue In-Reply-To: <530B78C5.9030404@redhat.com> References: <530B78C5.9030404@redhat.com> Message-ID: <530CA9F0.5010406@redhat.com> On 02/24/2014 11:52 AM, Jiri Vanek wrote: > Hi Andrew, You have already did this work, is it usable? Do you mind > to post it ? I would like to follow on this work and add more such an > dialogues. > > Is it possible to send this refactoring to review? > > > J. This is part of the Partially Signed Dialog patch, is it not? That's been out for review for quite some time. Thanks, -- Andrew A From aazores at redhat.com Tue Feb 25 06:47:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 25 Feb 2014 09:47:01 -0500 Subject: [rfc][icedtea-web][policyeditor] Parsing enhancement, unit testing, file-changed checking In-Reply-To: <530B45F1.2000702@redhat.com> References: <53078375.1000705@redhat.com> <530B45F1.2000702@redhat.com> Message-ID: <530CACE5.1070508@redhat.com> On 02/24/2014 08:15 AM, Jiri Vanek wrote: > On 02/21/2014 05:48 PM, Andrew Azores wrote: >> Hi, >> >> One of the attached patches changes PolicyEditor to use regexes when >> attempting to convert Strings >> into PolicyEditorPermissions, and adds plenty of unit tests for >> various things. The other patch adds >> functionality so PolicyEditor will warn the user if the file on disk >> is modified externally in >> between the time PolicyEditor opened the file and when it is to be >> saved. This is done by checking >> the file's MD5, which was added to FileUtils so it's reusable in the >> future. ChangeLogs are included >> in the patches. They should apply cleanly together. >> >> Thanks, >> > > overall ok, few nits inline: > >> -- >> Andrew A >> >> >> policy-editor-filechanged-check.patch >> >> >> diff --git a/ChangeLog b/ChangeLog >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,15 @@ >> +2014-02-21 Andrew Azores >> + >> + * netx/net/sourceforge/jnlp/resources/Messages.properties: >> + (RFileModifiedWhileLoaded, RFileModifiedWhileLoadedDetail, >> PEFileModified) >> + new messages for when a loaded file changes on disk >> + * >> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: >> + (fileMd5, openAndParsePolicyFile, savePolicyFile) keep track of >> file MD5, >> + prompt user if MD5 changes between file load and save. >> (updateCheckboxes) >> + avoid an NPE >> + * netx/net/sourceforge/jnlp/util/FileUtils.java: >> + (showFileChangedWhileLoadedDialog) new functions >> + >> 2014-02-20 Andrew Azores >> >> New simplified PolicyEditor for editing Java policy files, >> particularly >> diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties >> b/netx/net/sourceforge/jnlp/resources/Messages.properties >> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >> @@ -164,6 +164,8 @@ >> 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 >> +RFileModifiedWhileLoaded=File Modification Warning >> +RFileModifiedWhileLoadedDetail=The file {0} has been modified on >> disk since it was loaded. Reload? >> RRemoveRPermFailed=Removing read permission on file {0} failed >> RRemoveWPermFailed=Removing write permissions on file {0} failed >> RRemoveXPermFailed=Removing execute permissions on file {0} failed >> @@ -481,6 +483,7 @@ >> PEExitMenuItem=Exit >> PEViewMenu=View >> PECustomPermissionsItem=Custom Permissions... >> +PEFileModified=The policy file has been modified since it was >> opened. Reload and re-edit before saving? >> >> # Policy Editor CustomPolicyViewer >> PECPTitle=Custom Policy Viewer >> diff --git >> a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> @@ -161,6 +161,7 @@ >> private final JFileChooser fileChooser; >> private CustomPolicyViewer cpViewer = null; >> private final WeakReference weakThis = new >> WeakReference(this); >> + private byte[] fileMd5; >> >> private final ActionListener okButtonAction, closeButtonAction, >> addCodebaseButtonAction, >> removeCodebaseButtonAction, openButtonAction, >> saveAsButtonAction, viewCustomButtonAction; >> @@ -546,12 +547,24 @@ >> for (final ActionListener l : box.getActionListeners()) { >> box.removeActionListener(l); >> } >> - box.setSelected(codebasePermissionsMap.get(codebase).get(perm)); >> + final Map map = >> codebasePermissionsMap.get(codebase); >> + final boolean state; >> + if (map != null) { >> + final Boolean s = map.get(perm); >> + if (s != null) { >> + state = s; >> + } else { >> + state = false; >> + } >> + } else { >> + state = false; >> + } >> + box.setSelected(state); >> box.addActionListener(new ActionListener() { >> @Override >> public void actionPerformed(final ActionEvent e) { >> changesMade = true; >> - codebasePermissionsMap.get(codebase).put(perm, box.isSelected()); >> + map.put(perm, box.isSelected()); >> } >> }); >> } >> @@ -720,17 +733,21 @@ >> } >> final String contents; >> try { >> - contents = FileUtils.loadFileAsString(new >> File(filePath)); >> + final File f = new File(filePath); >> + fileMd5 = FileUtils.getFileMD5Sum(f); >> + contents = FileUtils.loadFileAsString(f); >> } catch (final IOException e) { >> OutputController.getLogger().log(e); >> OutputController.getLogger().log(OutputController.Level.ERROR_ALL, >> R("RCantOpenFile", filePath)); >> FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); >> return; >> } >> + codebasePermissionsMap.clear(); >> + customPermissionsMap.clear(); >> // Split on newlines, both \r\n and \n style, for >> platform-independence >> final String[] lines = contents.split("[\\r\\n]+"); >> String codebase = ""; >> - FileLock fileLock = null; >> + final FileLock fileLock; >> try { >> fileLock = FileUtils.getFileLock(filePath, >> false, true); >> } catch (final FileNotFoundException e) { >> @@ -809,6 +826,34 @@ >> new Thread() { >> @Override >> public void run() { >> + if (fileMd5 != null) { >> + try { >> + final byte[] newChecksum = >> FileUtils.getFileMD5Sum(new File(filePath)); >> + if (!Arrays.equals(fileMd5, newChecksum)) { >> + final int response = >> FileUtils.showFileChangedWhileLoadedDialog(weakThis.get(), >> + R("PEFileModified"), >> R("RFileModifiedWhileLoaded")); >> + switch (response) { >> + case JOptionPane.YES_OPTION: >> + openAndParsePolicyFile(); >> + return; >> + case JOptionPane.NO_OPTION: >> + break; >> + case JOptionPane.CANCEL_OPTION: >> + return; >> + default: >> + break; >> + } >> + } >> + } catch (final FileNotFoundException e) { >> + OutputController.getLogger().log(e); >> + showCouldNotSaveDialog(); > > Why can not we save if file is not found? > > - we can not load > - or we can not save because of not existing path to file > -? Yea, I probably should have given a more informative message here. This case is happening within the case that we have a previous MD5 hash saved, and are not able to compute a current one because of the FileNotFound, so the file has been deleted or made otherwise inaccessible while the PolicyEditor was running. I guess some better checks can be done here, or maybe we should just continue trying to save regardless... ? > >> + return; >> + } catch (final IOException e) { >> + OutputController.getLogger().log(e); >> + showCouldNotSaveDialog(); >> + return; >> + } >> + } >> final StringBuilder sb = new StringBuilder(); >> sb.append(AUTOGENERATED_NOTICE); >> sb.append("\n/* Generated by PolicyEditor at " + >> new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") >> @@ -839,6 +884,7 @@ >> >> try { >> FileUtils.saveFile(sb.toString(), new >> File(filePath)); >> + fileMd5 = FileUtils.getFileMD5Sum(new >> File(filePath)); >> changesMade = false; >> showChangesSavedDialog(); >> } catch (final IOException e) { >> 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 >> @@ -30,8 +30,12 @@ >> import java.io.OutputStreamWriter; >> import java.io.RandomAccessFile; >> import java.io.Writer; >> +import java.nio.ByteBuffer; >> import java.nio.channels.FileChannel; >> import java.nio.channels.FileLock; >> +import java.security.DigestInputStream; >> +import java.security.MessageDigest; >> +import java.security.NoSuchAlgorithmException; >> import java.util.ArrayList; >> import java.util.List; >> >> @@ -394,6 +398,27 @@ >> } >> >> /** >> + * Show a message warning the user that a file has been modified >> on disk since it was loaded and asking to reload >> + * @param frame a {@link JFrame} to act as parent to this dialog >> + * @param message the dialog message to display >> + * @param title the dialog title >> + * @return the user's choice >> + */ >> + public static int showFileChangedWhileLoadedDialog(final JFrame >> frame, final String message, final String title) { >> + return JOptionPane.showConfirmDialog(frame, message, title, >> JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); > > Not sure if this generalization belongs here. > > If yes, then whole md5sum compression belongs here. > > I'm imagining new class around > netx/net/sourceforge/jnlp/util/FileUtils.java , eg md5sumWatcher. Or > UpdateWatchingFile > > And it will encapsulate all md5sum checks you do PolicyEditor. and > of course handle the dialogue. Hmm... this does seem like it could be a useful tool to have. I'll look into that for the next round of review. >> + } >> + >> + /** >> + * Show a message warning the user that a file has been modified >> on disk since it was loaded and asking to reload >> + * @param frame a {@link JFrame} to act as parent to this dialog >> + * @param filePath the path to the file >> + * @return the user's choice >> + */ >> + public static int showFileChangeWhileLoadedDialog(final JFrame >> frame, final String filePath) { >> + return showFileChangedWhileLoadedDialog(frame, >> R("RFileModifiedWhileLoadedDetail", filePath), >> R("RFileModifiedWhileLoaded")); >> + } >> + >> + /** >> * Returns a String that is suitable for using in GUI elements for >> * displaying (long) paths to users. >> * >> @@ -579,4 +604,39 @@ >> public static String loadFileAsString(File f, String encoding) >> throws IOException { >> return getContentOfStream(new FileInputStream(f), encoding); >> } >> + >> + public static byte[] getFileMD5Sum(final File f) throws >> FileNotFoundException, IOException { >> + final MessageDigest md5; >> + final InputStream is; >> + final DigestInputStream dis; >> + try { >> + md5 = MessageDigest.getInstance("MD5"); >> + is = new FileInputStream(f); >> + dis = new DigestInputStream(is, md5); >> + >> + md5.update(getContentOfStream(dis).getBytes()); >> + } catch (final NoSuchAlgorithmException e) { >> + // There definitely should be an MD5 algorithm... if >> not, well, nothing to do but fail. > > Then maybe rather bubble the exception up? Yes log, but rethrow. Or at > least let user know. Or use timestamp as fall back. > > This return null is suspicious and smell by NPE later. ( I mean also > in changesets time horizon later) Rethrow as a RuntimeException perhaps? It doesn't seem right to make NoSuchAlgorithm a checked exception in this case. > >> + OutputController.getLogger().log(e); >> + return null; >> + } >> + >> + try { >> + if (is != null) { >> + is.close(); >> + } >> + } catch (final IOException e) { >> + OutputController.getLogger().log(e); > blah :)) To match try/catch -> log > > Something better here? > > Eg utility method which throw sensible information, Which is catched > in proper place with proper reaction? Just trying to close some Streams here... what is there really to do if closing the steam fails? > >> + } >> + >> + try { >> + if (dis != null) { >> + dis.close(); >> + } >> + } catch (final IOException e) { >> + OutputController.getLogger().log(e); >> + } >> + >> + return md5.digest(); >> + } >> } >> >> >> policy-editor-parsing-tests.patch >> >> >> diff --git a/ChangeLog b/ChangeLog >> --- a/ChangeLog >> +++ b/ChangeLog >> @@ -1,3 +1,24 @@ >> +2014-02-21 Andrew Azores >> + >> + * NEWS: added entry for PolicyEditor >> + * >> netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: >> + (fromString) use regexes to parse >> + * >> netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: >> + (getPermissions) returns empty map rather than null. >> + (getCustomPermissions) new function. (openAndParsePolicyFile) >> check for >> + OpenFileResult FAILURE and NOT_FILE rather than null >> + * netx/net/sourceforge/jnlp/util/FileUtils.java: >> + (testDirectoryPermissions) add check for getCanonicalFile and null >> + safeguarding. (testFilePermissions) add check for >> getCanonicalFile and >> + return FAILURE rather than null >> + * >> tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: >> + (testMissingQuotationMarks) new test >> + * >> tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: >> + (testReturnedCustomPermissionsSetIsCopy, >> + testCodebaseTrailingSlashesDoNotMatch) new tests >> + * >> tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java: >> + new tests >> + >> 2014-02-20 Andrew Azores >> >> New simplified PolicyEditor for editing Java policy files, >> particularly >> diff --git a/NEWS b/NEWS >> --- a/NEWS >> +++ b/NEWS >> @@ -16,6 +16,7 @@ >> * Dialogs center on screen before becoming visible >> * Support for u45 and u51 new manifest attributes >> (Application-Name, Codebase) >> * Custom applet permission policies panel in itweb-settings control >> panel >> +* New PolicyEditor for easily adding/removing permissions to >> individual applets >> * Cache Viewer >> - Can be closed by ESC key >> - Enabling and disabling of operational buttons is handled properly >> diff --git >> a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >> b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >> --- >> a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >> +++ >> b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >> @@ -36,6 +36,9 @@ >> >> package net.sourceforge.jnlp.security.policyeditor; >> >> +import java.util.regex.Matcher; >> +import java.util.regex.Pattern; >> + >> /** >> * This class models a permission entry in a policy file which is >> not included >> * in the default set of permissions used by the PolicyEditor, ie, >> permissions >> @@ -63,16 +66,15 @@ >> * @return a CustomPermission representing this string >> */ >> public static CustomPermission fromString(final String string) { >> - final String[] parts = string.trim().split(" "); >> - if (!parts[0].equals("permission") || parts.length < 3 || >> !string.trim().endsWith(";")) { > > The pattenr should be precompiled, and then reused. Pelase extract the > variable. > Also some comments would be nice :)) > What is expected to be parsed and what not. Yea, I realized this and started working on it right after I sent this for review :/ > >> + final Pattern pattern = >> + >> Pattern.compile("permission\\s+([\\w.]+)\\s+\"([^\"]+)\",?\\s*\"?([^\"]*)\"?;"); > Isn't the regex to benevolent? Yea, probably. > >> + final Matcher matcher = pattern.matcher(string); >> + if (!matcher.matches()) { >> return null; >> } >> - final String typeStr = removeQuotes(parts[1]); >> - final String targetStr = >> removeQuotes(removeSemicolon(removeComma(parts[2]))); >> - String actionsStr = ""; >> - if (parts.length > 3) { >> - actionsStr = removeQuotes(removeSemicolon(parts[3])); >> - } >> + final String typeStr = matcher.group(1); >> + final String targetStr = matcher.group(2); >> + final String actionsStr = matcher.group(3); >> return new CustomPermission(typeStr, targetStr, actionsStr); >> } >> >> @@ -96,18 +98,6 @@ >> return sb.toString(); >> } >> >> - private static String removeQuotes(final String string) { >> - return string.replaceAll("\"", ""); >> - } >> - >> - private static String removeSemicolon(final String string) { >> - return string.replaceAll(";", ""); >> - } >> - >> - private static String removeComma(final String string) { >> - return string.replaceAll(",", ""); >> - } >> - >> @Override >> public int compareTo(final CustomPermission o) { >> if (this == o) { >> diff --git >> a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >> @@ -56,6 +56,7 @@ >> import java.util.Arrays; >> import java.util.Calendar; >> import java.util.Collection; >> +import java.util.Collections; >> import java.util.HashMap; >> import java.util.HashSet; >> import java.util.List; >> @@ -533,7 +534,29 @@ >> * @return a map of permissions to whether these permissions >> are set for the given codebase >> */ >> public Map >> getPermissions(final String codebase) { >> - return new HashMap> Boolean>(codebasePermissionsMap.get(codebase)); >> + final Map permissions = >> codebasePermissionsMap.get(codebase); >> + if (permissions != null) { >> + return new HashMap> Boolean>(permissions); >> + } else { >> + final Map blank = new >> HashMap(); >> + for (final PolicyEditorPermissions perm : >> PolicyEditorPermissions.values()) { >> + blank.put(perm, false); >> + } >> + return blank; >> + } >> + } >> + >> + /** >> + * @param codebase the codebase to query >> + * @return a collection of CustomPermissions granted to the >> given codebase >> + */ >> + public Collection getCustomPermissions(final >> String codebase) { >> + final Collection permissions = >> customPermissionsMap.get(codebase); >> + if (permissions != null) { >> + return new HashSet(permissions); >> + } else { >> + return Collections.emptySet(); >> + } >> } >> >> /** >> @@ -711,7 +734,7 @@ >> @Override >> public void run() { >> OpenFileResult ofr = >> FileUtils.testFilePermissions(new File(filePath)); >> - if (ofr == null) { >> + if (ofr == OpenFileResult.FAILURE || ofr == >> OpenFileResult.NOT_FILE) { >> FileUtils.showCouldNotOpenFilepathDialog(weakThis.get(), filePath); >> return; >> } >> 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 >> @@ -285,8 +285,13 @@ >> * @param file the {@link File} representing a Java Policy file >> to test >> * @return a {@link DirectoryCheckResults} object representing >> the results of the test >> */ >> - public static DirectoryCheckResults >> testDirectoryPermissions(final File file) { >> - if (file == null || !file.getParentFile().exists()) { >> + public static DirectoryCheckResults >> testDirectoryPermissions(File file) { >> + try { >> + file = file.getCanonicalFile(); >> + } catch (final IOException e) { > > Never consume exceptions. never. Oops :( my mistake, didn't mean to completely disregard the exception. >> + return null; >> + } >> + if (file == null || file.getParentFile() == null || >> !file.getParentFile().exists()) { >> return null; >> } >> final List policyDirectory = new ArrayList(); >> @@ -303,11 +308,15 @@ >> * as an empty plain file. >> * @param file the {@link File} to verify >> * @return an {@link OpenFileResult} representing the >> accessibility level of the file >> - * @throws IOException if the file is not accessible >> */ >> - public static OpenFileResult testFilePermissions(final File file) { >> + public static OpenFileResult testFilePermissions(File file) { >> if (file == null || !file.exists()) { >> - return null; >> + return OpenFileResult.FAILURE; >> + } >> + try { >> + file = file.getCanonicalFile(); >> + } catch (final IOException e) { >> + return OpenFileResult.FAILURE; >> } >> final DirectoryCheckResults dcr = >> FileUtils.testDirectoryPermissions(file); >> if (dcr != null && dcr.getFailures() == 0) { >> diff --git >> a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java >> >> --- >> a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java >> +++ >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java >> @@ -37,6 +37,7 @@ >> package net.sourceforge.jnlp.security.policyeditor; >> >> import static org.junit.Assert.assertTrue; >> +import net.sourceforge.jnlp.annotations.KnownToFail; >> >> import org.junit.Test; >> >> @@ -67,6 +68,33 @@ >> } >> >> @Test >> + public void testMissingQuotationMarks() throws Exception { >> + final CustomPermission cp = >> CustomPermission.fromString("permission java.io.FilePermission *, >> read,write;"); >> + assertTrue("Custom permission should be null", cp == null); >> + } >> + >> + @KnownToFail >> + @Test >> + public void testMissingPunctuationForActions() throws Exception { >> + final String missingComma = "permission >> java.io.FilePermission \"*\" \"read,write\";"; >> + final String missingFirstQuote = "permission >> java.io.FilePermission \"*\", read,write\";"; >> + final String missingSecondQuote = "permission >> java.io.FilePermission \"*\", \"read,write;"; >> + final String missingBothQuotes = "permission >> java.io.FilePermission \"*\", read,write;"; >> + final String missingAll = "permission java.io.FilePermission >> \"*\" read,write;"; >> + >> + final CustomPermission cp1 = >> CustomPermission.fromString(missingComma); >> + assertTrue("Custom permission for " + missingComma + " >> should be null", cp1 == null); >> + final CustomPermission cp2 = >> CustomPermission.fromString(missingFirstQuote); >> + assertTrue("Custom permission for " + missingFirstQuote + " >> should be null", cp2 == null); >> + final CustomPermission cp3 = >> CustomPermission.fromString(missingSecondQuote); >> + assertTrue("Custom permission for " + missingSecondQuote + " >> should be null", cp3 == null); >> + final CustomPermission cp4 = >> CustomPermission.fromString(missingBothQuotes); >> + assertTrue("Custom permission for " + missingBothQuotes + " >> should be null", cp4 == null); >> + final CustomPermission cp5 = >> CustomPermission.fromString(missingAll); >> + assertTrue("Custom permission for " + missingAll + " should >> be null", cp5 == null); >> + } >> + > > This test needs to be splitted - probably. Rigth nopw I believe ALL > the asserts fails. However, only first of them is executed. > On the other hand, I donot wont to have 6 new KnownToFail unittests :-/ I agree. > >> + @Test >> public void testToString() throws Exception { >> final CustomPermission cp = new >> CustomPermission("java.io.FilePermission", "*", "read"); >> final String expected = "permission java.io.FilePermission >> \"*\", \"read\";"; >> diff --git >> a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java >> >> new file mode 100644 >> --- /dev/null >> +++ >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java >> @@ -0,0 +1,231 @@ >> +/*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. >> + */ >> + >> +import static org.junit.Assert.assertFalse; >> +import static org.junit.Assert.assertTrue; >> + >> +import java.io.File; >> +import java.io.FileInputStream; >> +import java.util.Map; >> +import net.sourceforge.jnlp.annotations.KnownToFail; >> +import net.sourceforge.jnlp.security.policyeditor.PolicyEditor; >> +import >> net.sourceforge.jnlp.security.policyeditor.PolicyEditorPermissions; >> +import net.sourceforge.jnlp.util.FileUtils; >> +import org.junit.After; >> +import org.junit.Before; >> +import org.junit.Test; >> + >> +public class PolicyEditorParsingTest { >> + >> + private File file; >> + private PolicyEditor editor; >> + private Map permissions; >> + >> + private static final String LINEBREAK = >> System.getProperty("line.separator"); >> + >> + private static final String READ_PERMISSION = "permission >> java.io.FilePermission \"${user.home}${/}*\", \"read\";"; >> + private static final String WRITE_PERMISSION = "permission >> java.io.FilePermission \"${user.home}${/}*\", \"write\";"; >> + >> + private static final String NORMAL_POLICY = "grant {" + LINEBREAK >> + + "\t" + READ_PERMISSION + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String CODEBASE_POLICY = "grant codeBase >> \"http://redhat.com\" {" + LINEBREAK >> + + "\t" + READ_PERMISSION + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String MULTIPLE_PERMISSION_POLICY = "grant >> {" + LINEBREAK >> + + "\t" + READ_PERMISSION + LINEBREAK >> + + "\t" + WRITE_PERMISSION + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String COMMENT_HEADER = "/* TEST COMMENT >> */" + LINEBREAK; >> + >> + private static final String COMMENT_BLOCKED_PERMISSION = "grant >> {" + LINEBREAK >> + + "\t/*" + READ_PERMISSION + "*/" + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String COMMENT_BLOCKED_POLICY = "/*" + >> NORMAL_POLICY + "*/" + LINEBREAK; >> + >> + private static final String COMMENTED_PERMISSION = "grant {" + >> LINEBREAK >> + + "\t//" + READ_PERMISSION + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String COMMENT_AFTER_PERMISSION = "grant {" >> + LINEBREAK >> + + "\t" + READ_PERMISSION + " // comment" + LINEBREAK >> + + "};" + LINEBREAK; >> + >> + private static final String MISSING_WHITESPACE_POLICY = "grant { >> " + READ_PERMISSION + " };"; >> + >> + private static final String MULTIPLE_PERMISSIONS_PER_LINE = >> "grant {" + LINEBREAK >> + + "\t" + READ_PERMISSION + " " + WRITE_PERMISSION + >> LINEBREAK >> + + "};" + LINEBREAK; >> + >> + @Before >> + public void createTempFile() throws Exception { >> + file = File.createTempFile("PolicyEditor", ".policy"); >> + file.deleteOnExit(); >> + } > > The tests for no file, jsut string parsding exists, correct? Hmm? Each test in this reproducer writes a mock policy to a temp file, has the editor load and parse this file, and checks on the results. > >> + >> + private void setupTest(final String policyContents, final String >> codebase) throws Exception { >> + FileUtils.saveFile(policyContents, file); >> + editor = PolicyEditor.createInstance(file.getCanonicalPath()); >> + Thread.sleep(100); // policy editor loads asynch, give it >> some time to populate >> + permissions = editor.getPermissions(codebase); >> + } >> + >> + @Test >> + public void testNormalPolicy() throws Exception { >> + setupTest(NORMAL_POLICY, ""); >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @Test >> + public void testCommentHeaders() throws Exception { >> + setupTest(COMMENT_HEADER, ""); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + >> + @Test >> + public void testCommentBlockedPermission() throws Exception { >> + setupTest(COMMENT_BLOCKED_PERMISSION, ""); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + >> + @KnownToFail >> + @Test >> + public void testCommentBlockedPolicy() throws Exception { >> + setupTest(COMMENT_BLOCKED_POLICY, ""); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + >> + @Test >> + public void testCommentedLine() throws Exception { >> + setupTest(COMMENTED_PERMISSION, ""); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + >> + @Test >> + public void testMultiplePermissions() throws Exception { >> + setupTest(MULTIPLE_PERMISSION_POLICY, ""); >> + >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + assertTrue("Permissions should include WRITE_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.WRITE_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES) && >> !perm.equals(PolicyEditorPermissions.WRITE_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @KnownToFail >> + @Test >> + public void testMultiplePermissionsPerLine() throws Exception { >> + setupTest(MULTIPLE_PERMISSIONS_PER_LINE, ""); >> + >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + assertTrue("Permissions should include WRITE_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.WRITE_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES) && >> !perm.equals(PolicyEditorPermissions.WRITE_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @KnownToFail >> + @Test >> + public void testMissingWhitespace() throws Exception { >> + setupTest(MISSING_WHITESPACE_POLICY, ""); >> + >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @Test >> + public void testPolicyWithCodebase() throws Exception { >> + setupTest(CODEBASE_POLICY,"http://redhat.com"); >> + >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @Test >> + public void testCodebaseTrailingSlashesDoNotMatch() throws >> Exception { >> + // note the trailing '/' - looks like the same URL but is >> not. JDK PolicyTool considers these as >> + // different codeBases, so so does PolicyEditor >> + setupTest(CODEBASE_POLICY,"http://redhat.com/"); >> + >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> + @Test >> + public void testCommentAfterPermission() throws Exception { >> + setupTest(COMMENT_AFTER_PERMISSION, ""); >> + >> + assertTrue("Permissions should include READ_LOCAL_FILES", >> permissions.get(PolicyEditorPermissions.READ_LOCAL_FILES)); >> + for (final PolicyEditorPermissions perm : >> permissions.keySet()) { >> + if >> (!perm.equals(PolicyEditorPermissions.READ_LOCAL_FILES)) { >> + assertFalse("Permission " + perm + " should not be >> granted", permissions.get(perm)); >> + } >> + } >> + } >> + >> +} >> diff --git >> a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java >> >> --- >> a/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java >> +++ >> b/tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java >> @@ -122,6 +122,14 @@ >> } >> >> @Test >> + public void testReturnedCustomPermissionsSetIsCopy() throws >> Exception { >> + final Collection original = >> editor.getCustomPermissions(""); >> + original.add(new CustomPermission("java.io.FilePermission", >> "*", "write")); >> + final Collection second = >> editor.getCustomPermissions(""); >> + assertTrue("There should not be any custom permissions", >> second.isEmpty()); >> + } >> + >> + @Test >> public void testDefaultPermissionsAllFalse() throws Exception { >> final Map defaultMap = >> editor.getPermissions(""); >> editor.addNewCodebase("http://redhat.com"); >> @@ -152,6 +160,19 @@ >> } >> >> @Test >> + public void testCodebaseTrailingSlashesDoNotMatch() throws >> Exception { >> + final Set toAdd = new HashSet(); >> + toAdd.add("http://redhat.com"); >> + toAdd.add("http://redhat.com/"); > > I wouold recomand to replace redaht url by some unreal url like > testing.url or whatever. Alright. > >> + editor.addNewCodebases(toAdd); >> + final Collection codebases = editor.getCodebases(); >> + assertTrue("Editor should have default codebase", >> codebases.contains("")); >> + for (final String codebase : toAdd) { >> + assertTrue("Editor should have " + codebase, >> codebases.contains(codebase)); >> + } >> + } >> + >> + @Test >> public void testArgsToMap() throws Exception { >> final String[] args = new String[] { >> "-codebase","http://redhat.com >> http://icedtea.classpath.org", >> > > Thanx! > > I must ask - how run in sandbox is going? > > It is main blocker for 1.5. (+my new attributes :( but those are not > so much monolitic) > > J. > http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2014-February/026218.html Thanks, -- Andrew A From aazores at redhat.com Tue Feb 25 06:49:51 2014 From: aazores at redhat.com (Andrew Azores) Date: Tue, 25 Feb 2014 09:49:51 -0500 Subject: [rfc][icedtea-web][policyeditor] Parsing enhancement, unit testing, file-changed checking In-Reply-To: <530CACE5.1070508@redhat.com> References: <53078375.1000705@redhat.com> <530B45F1.2000702@redhat.com> <530CACE5.1070508@redhat.com> Message-ID: <530CAD8F.1070004@redhat.com> On 02/25/2014 09:47 AM, Andrew Azores wrote: > Hmm? Each test in this reproducer writes a mock policy to a temp file, > has the editor load and parse this file, and checks on the results. Sorry, I mean test class, not reproducer. ;) Thanks, -- Andrew A From jvanek at redhat.com Tue Feb 25 09:09:11 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 25 Feb 2014 18:09:11 +0100 Subject: [rfc][icedtea-web][policyeditor] Parsing enhancement, unit testing, file-changed checking In-Reply-To: <530CACE5.1070508@redhat.com> References: <53078375.1000705@redhat.com> <530B45F1.2000702@redhat.com> <530CACE5.1070508@redhat.com> Message-ID: <530CCE37.6050507@redhat.com> On 02/25/2014 03:47 PM, Andrew Azores wrote: > On 02/24/2014 08:15 AM, Jiri Vanek wrote: >> On 02/21/2014 05:48 PM, Andrew Azores wrote: >>> Hi, >>> >>> One of the attached patches changes PolicyEditor to use regexes when attempting to convert Strings >>> into PolicyEditorPermissions, and adds plenty of unit tests for various things. The other patch adds >>> functionality so PolicyEditor will warn the user if the file on disk is modified externally in >>> between the time PolicyEditor opened the file and when it is to be saved. This is done by checking >>> the file's MD5, which was added to FileUtils so it's reusable in the future. ChangeLogs are included >>> in the patches. They should apply cleanly together. >>> >>> Thanks, >>> >> >> overall ok, few nits inline: >> >>> -- >>> Andrew A >>> >>> >>> policy-editor-filechanged-check.patch >>> >>> >>> diff --git a/ChangeLog b/ChangeLog >>> --- a/ChangeLog >>> +++ b/ChangeLog >>> @@ -1,3 +1,15 @@ >>> +2014-02-21 Andrew Azores >>> + >>> + * netx/net/sourceforge/jnlp/resources/Messages.properties: >>> + (RFileModifiedWhileLoaded, RFileModifiedWhileLoadedDetail, PEFileModified) >>> + new messages for when a loaded file changes on disk >>> + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: >>> + (fileMd5, openAndParsePolicyFile, savePolicyFile) keep track of file MD5, >>> + prompt user if MD5 changes between file load and save. (updateCheckboxes) >>> + avoid an NPE >>> + * netx/net/sourceforge/jnlp/util/FileUtils.java: >>> + (showFileChangedWhileLoadedDialog) new functions >>> + >>> 2014-02-20 Andrew Azores >>> >>> New simplified PolicyEditor for editing Java policy files, particularly >>> diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties >>> b/netx/net/sourceforge/jnlp/resources/Messages.properties >>> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties >>> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties >>> @@ -164,6 +164,8 @@ >>> 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 >>> +RFileModifiedWhileLoaded=File Modification Warning >>> +RFileModifiedWhileLoadedDetail=The file {0} has been modified on disk since it was loaded. Reload? >>> RRemoveRPermFailed=Removing read permission on file {0} failed >>> RRemoveWPermFailed=Removing write permissions on file {0} failed >>> RRemoveXPermFailed=Removing execute permissions on file {0} failed >>> @@ -481,6 +483,7 @@ >>> PEExitMenuItem=Exit >>> PEViewMenu=View >>> PECustomPermissionsItem=Custom Permissions... >>> +PEFileModified=The policy file has been modified since it was opened. Reload and re-edit before >>> saving? >>> >>> # Policy Editor CustomPolicyViewer >>> PECPTitle=Custom Policy Viewer >>> diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >>> b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >>> --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >>> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java >>> @@ -161,6 +161,7 @@ >>> private final JFileChooser fileChooser; >>> private CustomPolicyViewer cpViewer = null; >>> private final WeakReference weakThis = new WeakReference(this); >>> + private byte[] fileMd5; >>> >>> private final ActionListener okButtonAction, closeButtonAction, addCodebaseButtonAction, >>> removeCodebaseButtonAction, openButtonAction, saveAsButtonAction, >>> viewCustomButtonAction; >>> @@ -546,12 +547,24 @@ >>> for (final ActionListener l : box.getActionListeners()) { >>> box.removeActionListener(l); >>> } >>> - box.setSelected(codebasePermissionsMap.get(codebase).get(perm)); >>> + final Map map = codebasePermissionsMap.get(codebase); >>> + final boolean state; >>> + if (map != null) { >>> + final Boolean s = map.get(perm); >>> + if (s != null) { >>> + state = s; >>> + } else { >>> + state = false; >>> + } >>> + } else { >>> + state = false; >>> + } >>> + box.setSelected(state); >>> box.addActionListener(new ActionListener() { >>> @Override >>> public void actionPerformed(final ActionEvent e) { >>> changesMade = true; >>> - codebasePermissionsMap.get(codebase).put(perm, box.isSelected()); >>> + map.put(perm, box.isSelected()); >>> } >>> }); >>> } >>> @@ -720,17 +733,21 @@ >>> } >>> final String contents; >>> try { >>> - contents = FileUtils.loadFileAsString(new File(filePath)); >>> + final File f = new File(filePath); >>> + fileMd5 = FileUtils.getFileMD5Sum(f); >>> + contents = FileUtils.loadFileAsString(f); >>> } catch (final IOException e) { >>> OutputController.getLogger().log(e); >>> OutputController.getLogger().log(OutputController.Level.ERROR_ALL, R("RCantOpenFile", filePath)); >>> FileUtils.showCouldNotOpenDialog(weakThis.get(), R("PECouldNotOpen")); >>> return; >>> } >>> + codebasePermissionsMap.clear(); >>> + customPermissionsMap.clear(); >>> // Split on newlines, both \r\n and \n style, for platform-independence >>> final String[] lines = contents.split("[\\r\\n]+"); >>> String codebase = ""; >>> - FileLock fileLock = null; >>> + final FileLock fileLock; >>> try { >>> fileLock = FileUtils.getFileLock(filePath, false, true); >>> } catch (final FileNotFoundException e) { >>> @@ -809,6 +826,34 @@ >>> new Thread() { >>> @Override >>> public void run() { >>> + if (fileMd5 != null) { >>> + try { >>> + final byte[] newChecksum = FileUtils.getFileMD5Sum(new File(filePath)); >>> + if (!Arrays.equals(fileMd5, newChecksum)) { >>> + final int response = >>> FileUtils.showFileChangedWhileLoadedDialog(weakThis.get(), >>> + R("PEFileModified"), R("RFileModifiedWhileLoaded")); >>> + switch (response) { >>> + case JOptionPane.YES_OPTION: >>> + openAndParsePolicyFile(); >>> + return; >>> + case JOptionPane.NO_OPTION: >>> + break; >>> + case JOptionPane.CANCEL_OPTION: >>> + return; >>> + default: >>> + break; >>> + } >>> + } >>> + } catch (final FileNotFoundException e) { >>> + OutputController.getLogger().log(e); >>> + showCouldNotSaveDialog(); >> >> Why can not we save if file is not found? >> >> - we can not load >> - or we can not save because of not existing path to file >> -? > > Yea, I probably should have given a more informative message here. This case is happening within the > case that we have a previous MD5 hash saved, and are not able to compute a current one because of > the FileNotFound, so the file has been deleted or made otherwise inaccessible while the PolicyEditor > was running. I guess some better checks can be done here, or maybe we should just continue trying to > save regardless... ? KLEaving it on your best conscience :) > >> >>> + return; >>> + } catch (final IOException e) { >>> + OutputController.getLogger().log(e); >>> + showCouldNotSaveDialog(); >>> + return; >>> + } >>> + } >>> final StringBuilder sb = new StringBuilder(); >>> sb.append(AUTOGENERATED_NOTICE); >>> sb.append("\n/* Generated by PolicyEditor at " + new >>> SimpleDateFormat("yyyy-MM-dd HH:mm:ss") >>> @@ -839,6 +884,7 @@ >>> >>> try { >>> FileUtils.saveFile(sb.toString(), new File(filePath)); >>> + fileMd5 = FileUtils.getFileMD5Sum(new File(filePath)); >>> changesMade = false; >>> showChangesSavedDialog(); >>> } catch (final IOException e) { >>> 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 >>> @@ -30,8 +30,12 @@ >>> import java.io.OutputStreamWriter; >>> import java.io.RandomAccessFile; >>> import java.io.Writer; >>> +import java.nio.ByteBuffer; >>> import java.nio.channels.FileChannel; >>> import java.nio.channels.FileLock; >>> +import java.security.DigestInputStream; >>> +import java.security.MessageDigest; >>> +import java.security.NoSuchAlgorithmException; >>> import java.util.ArrayList; >>> import java.util.List; >>> >>> @@ -394,6 +398,27 @@ >>> } >>> >>> /** >>> + * Show a message warning the user that a file has been modified on disk since it was loaded >>> and asking to reload >>> + * @param frame a {@link JFrame} to act as parent to this dialog >>> + * @param message the dialog message to display >>> + * @param title the dialog title >>> + * @return the user's choice >>> + */ >>> + public static int showFileChangedWhileLoadedDialog(final JFrame frame, final String message, >>> final String title) { >>> + return JOptionPane.showConfirmDialog(frame, message, title, >>> JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE); >> >> Not sure if this generalization belongs here. >> >> If yes, then whole md5sum compression belongs here. >> >> I'm imagining new class around netx/net/sourceforge/jnlp/util/FileUtils.java , eg md5sumWatcher. >> Or UpdateWatchingFile >> >> And it will encapsulate all md5sum checks you do PolicyEditor. and of course handle the dialogue. > > Hmm... this does seem like it could be a useful tool to have. I'll look into that for the next round > of review. ok. > >>> + } >>> + >>> + /** >>> + * Show a message warning the user that a file has been modified on disk since it was loaded >>> and asking to reload >>> + * @param frame a {@link JFrame} to act as parent to this dialog >>> + * @param filePath the path to the file >>> + * @return the user's choice >>> + */ >>> + public static int showFileChangeWhileLoadedDialog(final JFrame frame, final String filePath) { >>> + return showFileChangedWhileLoadedDialog(frame, R("RFileModifiedWhileLoadedDetail", >>> filePath), R("RFileModifiedWhileLoaded")); >>> + } >>> + >>> + /** >>> * Returns a String that is suitable for using in GUI elements for >>> * displaying (long) paths to users. >>> * >>> @@ -579,4 +604,39 @@ >>> public static String loadFileAsString(File f, String encoding) throws IOException { >>> return getContentOfStream(new FileInputStream(f), encoding); >>> } >>> + >>> + public static byte[] getFileMD5Sum(final File f) throws FileNotFoundException, IOException { >>> + final MessageDigest md5; >>> + final InputStream is; >>> + final DigestInputStream dis; >>> + try { >>> + md5 = MessageDigest.getInstance("MD5"); >>> + is = new FileInputStream(f); >>> + dis = new DigestInputStream(is, md5); >>> + >>> + md5.update(getContentOfStream(dis).getBytes()); >>> + } catch (final NoSuchAlgorithmException e) { >>> + // There definitely should be an MD5 algorithm... if not, well, nothing to do but fail. >> >> Then maybe rather bubble the exception up? Yes log, but rethrow. Or at least let user know. Or >> use timestamp as fall back. >> >> This return null is suspicious and smell by NPE later. ( I mean also in changesets time horizon >> later) > > Rethrow as a RuntimeException perhaps? It doesn't seem right to make NoSuchAlgorithm a checked > exception in this case. Should be ok. But probably both fall back and special - non fatal custom runtime exception should be ok too. You will revisit this approach in your encapsulating class anyway. So you will hit the correct stone during revisiting. > >> >>> + OutputController.getLogger().log(e); >>> + return null; >>> + } >>> + >>> + try { >>> + if (is != null) { >>> + is.close(); >>> + } >>> + } catch (final IOException e) { >>> + OutputController.getLogger().log(e); >> blah :)) To match try/catch -> log >> >> Something better here? >> >> Eg utility method which throw sensible information, Which is catched in proper place with proper >> reaction? > > Just trying to close some Streams here... what is there really to do if closing the steam fails? methd() throws ...{ try{ }finally{ close() } } > >> >>> + } >>> + >>> + try { >>> + if (dis != null) { >>> + dis.close(); >>> + } >>> + } catch (final IOException e) { >>> + OutputController.getLogger().log(e); >>> + } >>> + >>> + return md5.digest(); >>> + } >>> } >>> >>> >>> policy-editor-parsing-tests.patch >>> >>> >>> diff --git a/ChangeLog b/ChangeLog >>> --- a/ChangeLog >>> +++ b/ChangeLog >>> @@ -1,3 +1,24 @@ >>> +2014-02-21 Andrew Azores >>> + >>> + * NEWS: added entry for PolicyEditor >>> + * netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java: >>> + (fromString) use regexes to parse >>> + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java: >>> + (getPermissions) returns empty map rather than null. >>> + (getCustomPermissions) new function. (openAndParsePolicyFile) check for >>> + OpenFileResult FAILURE and NOT_FILE rather than null >>> + * netx/net/sourceforge/jnlp/util/FileUtils.java: >>> + (testDirectoryPermissions) add check for getCanonicalFile and null >>> + safeguarding. (testFilePermissions) add check for getCanonicalFile and >>> + return FAILURE rather than null >>> + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/CustomPermissionTest.java: >>> + (testMissingQuotationMarks) new test >>> + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorTest.java: >>> + (testReturnedCustomPermissionsSetIsCopy, >>> + testCodebaseTrailingSlashesDoNotMatch) new tests >>> + * tests/netx/unit/net/sourceforge/jnlp/security/policyeditor/PolicyEditorParsingTest.java: >>> + new tests >>> + >>> 2014-02-20 Andrew Azores >>> >>> New simplified PolicyEditor for editing Java policy files, particularly >>> diff --git a/NEWS b/NEWS >>> --- a/NEWS >>> +++ b/NEWS >>> @@ -16,6 +16,7 @@ >>> * Dialogs center on screen before becoming visible >>> * Support for u45 and u51 new manifest attributes (Application-Name, Codebase) >>> * Custom applet permission policies panel in itweb-settings control panel >>> +* New PolicyEditor for easily adding/removing permissions to individual applets >>> * Cache Viewer >>> - Can be closed by ESC key >>> - Enabling and disabling of operational buttons is handled properly >>> diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >>> b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >>> --- a/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >>> +++ b/netx/net/sourceforge/jnlp/security/policyeditor/CustomPermission.java >>> @@ -36,6 +36,9 @@ >>> >>> package net.sourceforge.jnlp.security.policyeditor; >>> >>> +import java.util.regex.Matcher; >>> +import java.util.regex.Pattern; >>> + >>> /** >>> * This class models a permission entry in a policy file which is not included >>> * in the default set of permissions used by the PolicyEditor, ie, permissions >>> @@ -63,16 +66,15 @@ >>> * @return a CustomPermission representing this string >>> */ >>> public static CustomPermission fromString(final String string) { >>> - final String[] parts = string.trim().split(" "); >>> - if (!parts[0].equals("permission") || parts.length < 3 || !string.trim().endsWith(";")) { >> >> The pattenr should be precompiled, and then reused. Pelase extract the variable. >> Also some comments would be nice :)) >> What is expected to be parsed and what not. > > Yea, I realized this and started working on it right after I sent this for review :/ good. > >> >>> + final Pattern pattern = >>> + Pattern.compile("permission\\s+([\\w.]+)\\s+\"([^\"]+)\",?\\s*\"?([^\"]*)\"?;"); >> Isn't the regex to benevolent? > > Yea, probably. May not be wrong necessarily :) > >> >>> + final Matcher matcher = pattern.matcher(string); >>> + if (!matcher.matches()) { >>> return null; ...snip... >>> + @Before >>> + public void createTempFile() throws Exception { >>> + file = File.createTempFile("PolicyEditor", ".policy"); >>> + file.deleteOnExit(); >>> + } >> >> The tests for no file, jsut string parsding exists, correct? > > Hmm? Each test in this reproducer writes a mock policy to a temp file, has the editor load and parse > this file, and checks on the results. I know. But tests like string -> parse , check result (without any file) are in your initial commit, correct? > >> >>> + >>> + private void setupTest(final String policyContents, final String codebase) throws Exception { ...snip J. From jvanek at redhat.com Tue Feb 25 09:16:20 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Tue, 25 Feb 2014 18:16:20 +0100 Subject: [rfc][icedtea-web] following permissions attribute Message-ID: <530CCFE4.2040008@redhat.com> AIS http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#permissions Please, any reviewer, read the specification. It appeared to be tricky to transform its spoken language to algorithm... Well at least default was specified without fog :( Thanx for any comments! J. not sure how with unittests, but reproducers are on the way... From jvanek at redhat.com Wed Feb 26 01:25:35 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 26 Feb 2014 10:25:35 +0100 Subject: Refactored, rusable UnsignedWarning dialogue In-Reply-To: <530CA9F0.5010406@redhat.com> References: <530B78C5.9030404@redhat.com> <530CA9F0.5010406@redhat.com> Message-ID: <530DB30F.1030207@redhat.com> On 02/25/2014 03:34 PM, Andrew Azores wrote: > On 02/24/2014 11:52 AM, Jiri Vanek wrote: >> Hi Andrew, You have already did this work, is it usable? Do you mind to post it ? I would like to >> follow on this work and add more such an dialogues. >> >> Is it possible to send this refactoring to review? >> >> >> J. > > This is part of the Partially Signed Dialog patch, is it not? That's been out for review for quite Please ping it. It may get lost. You may also hunt reviwer on IRC to not get the patch lost. The partially signed patches have multiplied and I'mnot sure which are which. > some time. Also I remember I have asked you to split the implementation of reusable dialogue abstraction and rest. J. From ptisnovs at icedtea.classpath.org Wed Feb 26 02:23:27 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 26 Feb 2014 10:23:27 +0000 Subject: /hg/gfx-test: Another ten new tests added into BitBltUsingBgColo... Message-ID: changeset b81e5af64929 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=b81e5af64929 author: Pavel Tisnovsky date: Wed Feb 26 11:23:56 2014 +0100 Another ten new tests added into BitBltUsingBgColor test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColor.java | 152 ++++++++++++++++++++- 2 files changed, 156 insertions(+), 1 deletions(-) diffs (181 lines): diff -r 9ec4c2126a1a -r b81e5af64929 ChangeLog --- a/ChangeLog Tue Feb 25 10:52:03 2014 +0100 +++ b/ChangeLog Wed Feb 26 11:23:56 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-26 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: + Another ten new tests added into BitBltUsingBgColor test suite. + 2014-02-25 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltAffineQuadrantRotateTransformOp.java: diff -r 9ec4c2126a1a -r b81e5af64929 src/org/gfxtest/testsuites/BitBltUsingBgColor.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Tue Feb 25 10:52:03 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColor.java Wed Feb 26 11:23:56 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2010, 2011, 2012, 2013 Red Hat + Copyright (C) 2010, 2011, 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -5402,6 +5402,156 @@ } /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.green); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundCyan(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.cyan); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundRed(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.red); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundMagenta(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.magenta); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundYellow(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.yellow); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_BYTE_INDEXED. + * 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 testBitBltDiagonalCheckerBufferedImageTypeByteIndexedBackgroundWhite(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeByteIndexed(image, graphics2d, Color.white); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_555_RGB. + * 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 testBitBltDiagonalCheckerBufferedImageTypeUshort555RGBBackgroundBlack(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.black); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_555_RGB. + * 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 testBitBltDiagonalCheckerBufferedImageTypeUshort555RGBBackgroundBlue(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.blue); + } + + /** + * Test basic BitBlt operation for diagonal checker buffered image with type TYPE_USHORT_555_RGB. + * 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 testBitBltDiagonalCheckerBufferedImageTypeUshort555RGBBackgroundGreen(TestImage image, Graphics2D graphics2d) + { + return doBitBltDiagonalCheckerBufferedImageTypeUshort555RGB(image, graphics2d, Color.green); + } + + /** * Entry point to the test suite. * * @param args not used in this case From jvanek at icedtea.classpath.org Wed Feb 26 02:37:12 2014 From: jvanek at icedtea.classpath.org (jvanek at icedtea.classpath.org) Date: Wed, 26 Feb 2014 10:37:12 +0000 Subject: /hg/icedtea-web: Added policyeditor.desktop.in to EXTRA_DIST Message-ID: changeset ab3055c30fc7 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ab3055c30fc7 author: Jiri Vanek date: Wed Feb 26 11:29:13 2014 +0100 Added policyeditor.desktop.in to EXTRA_DIST diffstat: Makefile.am | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diffs (14 lines): diff -r 8fda69bc5375 -r ab3055c30fc7 Makefile.am --- a/Makefile.am Fri Feb 21 15:41:34 2014 +0100 +++ b/Makefile.am Wed Feb 26 11:29:13 2014 +0100 @@ -191,8 +191,8 @@ export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION) -export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in launcher \ - itweb-settings.desktop.in $(top_srcdir)/tests html-gen.sh netx-dist-tests-whitelist NEW_LINE_IFS +export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in policyeditor.desktop.in \ + itweb-settings.desktop.in launcher $(top_srcdir)/tests html-gen.sh netx-dist-tests-whitelist NEW_LINE_IFS # reproducers `D`shortcuts export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR) From ptisnovs at icedtea.classpath.org Wed Feb 26 02:38:48 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Wed, 26 Feb 2014 10:38:48 +0000 Subject: /hg/rhino-tests: Enhancements of various tests in ScriptEngineCl... Message-ID: changeset 4dee1c9a9f58 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=4dee1c9a9f58 author: Pavel Tisnovsky date: Wed Feb 26 11:39:25 2014 +0100 Enhancements of various tests in ScriptEngineClassTest. diffstat: ChangeLog | 5 + src/org/RhinoTests/ScriptEngineClassTest.java | 250 +++++++++++++++++++++++++- 2 files changed, 254 insertions(+), 1 deletions(-) diffs (307 lines): diff -r cd4f00d779f7 -r 4dee1c9a9f58 ChangeLog --- a/ChangeLog Tue Feb 25 11:03:31 2014 +0100 +++ b/ChangeLog Wed Feb 26 11:39:25 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-26 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptEngineClassTest.java: + Enhancements of various tests in ScriptEngineClassTest. + 2014-02-25 Pavel Tisnovsky * src/org/RhinoTests/InvocableClassTest.java: diff -r cd4f00d779f7 -r 4dee1c9a9f58 src/org/RhinoTests/ScriptEngineClassTest.java --- a/src/org/RhinoTests/ScriptEngineClassTest.java Tue Feb 25 11:03:31 2014 +0100 +++ b/src/org/RhinoTests/ScriptEngineClassTest.java Wed Feb 26 11:39:25 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. @@ -1445,6 +1445,214 @@ } try { + this.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.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.scriptEngineClass.asSubclass(javax.swing.JPanel.class); throw new AssertionError("Class.asSubclass(javax.swing.JPanel.class) does not throw any exception"); } @@ -1523,6 +1731,14 @@ } try { + this.scriptEngineClass.cast(Character.valueOf('a')); + throw new AssertionError("Class.cast(Character.valueOf('a')) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineClass.cast(Byte.valueOf((byte)42)); throw new AssertionError("Class.cast(Byte.valueOf((byte)42)) does not throw any exception"); } @@ -1579,6 +1795,14 @@ } try { + this.scriptEngineClass.cast(new Throwable("xyzzy")); + throw new AssertionError("Class.cast(new Throwable(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineClass.cast(new RuntimeException()); throw new AssertionError("Class.cast(new RuntimeException()) does not throw any exception"); } @@ -1587,6 +1811,14 @@ } try { + this.scriptEngineClass.cast(new RuntimeException("xyzzy")); + throw new AssertionError("Class.cast(new RuntimeException(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { this.scriptEngineClass.cast(new Error()); throw new AssertionError("Class.cast(new Error()) does not throw any exception"); } @@ -1595,6 +1827,22 @@ } try { + this.scriptEngineClass.cast(new Error("xyzzy")); + throw new AssertionError("Class.cast(new Error(\"xyzzy\")) does not throw any exception"); + } + catch (Exception e) { + // expected exception + } + + try { + this.scriptEngineClass.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.scriptEngineClass.cast(new java.lang.String()); throw new AssertionError("Class.cast(new java.lang.String()) does not throw any exception"); } From jvanek at redhat.com Wed Feb 26 05:59:08 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 26 Feb 2014 14:59:08 +0100 Subject: [rfc][icedtea-web] Move all security dialogues' panels implementation into separate subpackage. Message-ID: <530DF32C.4040005@redhat.com> Move all security dialogues' panels implementation into separate subpackage. The dialogues are really multiplying, and the package of net/sourceforge/jnlp/security/ is overrun. This refactoring is moving all implementations of security dialogues' panels into net/sourceforge/jnlp/security/dialogues/ The only real change of code is - protected void setValue(Object value) { + public void setValue(Object value) { OutputController.getLogger().log("Setting value:" + value); this.value = value; } in netx/net/sourceforge/jnlp/security/SecurityDialog.java Which seems tome better then move netx/net/sourceforge/jnlp/security/SecurityDialog.java to netx/net/sourceforge/jnlp/security/dialogues/SecurityDialog.java If somebody cares, this patch is applicable also to 1.4 but backports to Panes are not common. Is anybody for/against the refactoring of 1.4 too? Best regards from CZ J. -------------- next part -------------- A non-text attachment was scrubbed... Name: moveAllSecurityDialoguesIntoSubpackage.git.diff Type: text/x-patch Size: 14687 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/1d12cf1c/moveAllSecurityDialoguesIntoSubpackage.git-0001.diff From aazores at redhat.com Wed Feb 26 06:47:01 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 26 Feb 2014 09:47:01 -0500 Subject: Refactored, rusable UnsignedWarning dialogue In-Reply-To: <530DB30F.1030207@redhat.com> References: <530B78C5.9030404@redhat.com> <530CA9F0.5010406@redhat.com> <530DB30F.1030207@redhat.com> Message-ID: <530DFE65.4070701@redhat.com> On 02/26/2014 04:25 AM, Jiri Vanek wrote: > On 02/25/2014 03:34 PM, Andrew Azores wrote: >> On 02/24/2014 11:52 AM, Jiri Vanek wrote: >>> Hi Andrew, You have already did this work, is it usable? Do you mind >>> to post it ? I would like to >>> follow on this work and add more such an dialogues. >>> >>> Is it possible to send this refactoring to review? >>> >>> >>> J. >> >> This is part of the Partially Signed Dialog patch, is it not? That's >> been out for review for quite > > Please ping it. It may get lost. You may also hunt reviwer on IRC to > not get the patch lost. The partially signed patches have multiplied > and I'mnot sure which are which. > > >> some time. > > Also I remember I have asked you to split the implementation of > reusable dialogue abstraction and rest. > > J. > Yes, the last update contained five separate patch files so that each change was easier to track. I'm pinging the thread now. Thanks, -- Andrew A From aazores at redhat.com Wed Feb 26 06:48:32 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 26 Feb 2014 09:48:32 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <52F8FD75.6070705@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> Message-ID: <530DFEC0.9080506@redhat.com> On 02/10/2014 11:25 AM, Andrew Azores wrote: > On 01/27/2014 02:55 PM, Andrew Azores wrote: >> 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, >> > > Ping... ? > > Thanks, > Ping. Thanks, -- Andrew A From aazores at redhat.com Wed Feb 26 07:01:08 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 26 Feb 2014 10:01:08 -0500 Subject: [icedtea-web] "Not All Signed" dialog and low-security setting In-Reply-To: <52F8FD8D.9020302@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> <52DD4C34.4070901@redhat.com> <52F8FD8D.9020302@redhat.com> Message-ID: <530E01B4.6040107@redhat.com> On 02/10/2014 11:25 AM, Andrew Azores wrote: > On 01/20/2014 11:17 AM, Andrew Azores wrote: >> 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, >> > > Ping? > > Thanks, > Ping again. Thanks, -- Andrew A From jvanek at redhat.com Wed Feb 26 07:05:34 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 26 Feb 2014 16:05:34 +0100 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <530DFEC0.9080506@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> Message-ID: <530E02BE.8030706@redhat.com> On 02/26/2014 03:48 PM, Andrew Azores wrote: > On 02/10/2014 11:25 AM, Andrew Azores wrote: >> On 01/27/2014 02:55 PM, Andrew Azores wrote: >>> 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, >>> >> >> Ping... ? >> >> Thanks, >> > > Ping. > > Thanks, > This no longer apply to head. From jvanek at redhat.com Wed Feb 26 07:47:32 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 26 Feb 2014 16:47:32 +0100 Subject: [rfc][icedtea-web] have bash in shebang instead of sh or get rid of bashism Message-ID: <530E0C94.6070606@redhat.com> After short discussion with Omair, we agreed that this http://icedtea.classpath.org/hg/release/icedtea-web-1.4/rev/8f13202ea201 IS probably better then get rid of bashism completely. So I would like to forward-port this patch to head. ok? From stefan at complang.tuwien.ac.at Wed Feb 26 08:36:13 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Wed, 26 Feb 2014 17:36:13 +0100 Subject: building icedtea-7 on ARM In-Reply-To: <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> References: <52D6AC0D.6090905@RedHat.Com> <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> Message-ID: > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > -- > Andrew :) I guess this doesn't have to do with this changeset in particular, but considering that building on ARM should now work, and I see a 2.5 release coming closer, I get this when building zero from forest head: mv stamps/patch.stamp.tmp stamps/patch.stamp Checking patches/rhino.patch Applying patches/rhino.patch patching file openjdk/jdk/make/com/sun/Makefile patching file openjdk/jdk/make/com/sun/script/Makefile patching file openjdk/jdk/make/common/Release.gmk Hunk #1 succeeded at 830 (offset -8 lines). patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java patching file openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java Checking patches/cacao/memory.patch Applying patches/cacao/memory.patch patching file openjdk/hotspot/make/linux/makefiles/rules.make Hunk #1 succeeded at 131 (offset 3 lines). patching file openjdk/hotspot/make/solaris/makefiles/rules.make patching file openjdk/hotspot/make/windows/makefiles/rules.make Hunk #1 succeeded at 46 (offset 1 line). patching file openjdk/jdk/make/common/shared/Platform.gmk Hunk #1 succeeded at 547 (offset 10 lines). patching file openjdk/jdk/make/docs/Makefile patching file openjdk/langtools/make/build.xml patching file openjdk/hotspot/make/bsd/makefiles/rules.make Checking patches/systemtap_gc.patch 1 out of 2 hunks FAILED -- saving rejects to file openjdk/hotspot/src/share/vm/memory/generation.cpp.rej ERROR patch patches/systemtap_gc.patch FAILED! WARNING make clean-patch before retrying a fix make: *** [stamps/patch.stamp] Error 2 -------------- next part -------------- A non-text attachment was scrubbed... Name: config.log Type: text/x-log Size: 62367 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/5f020d49/config-0001.log From jvanek at redhat.com Wed Feb 26 08:37:16 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Wed, 26 Feb 2014 17:37:16 +0100 Subject: [rfc][icedtea-web] Signed applets with codebase loading In-Reply-To: <530E0B36.4020703@redhat.com> References: <52EBCC67.5050409@redhat.com> <52FCDBA8.2020208@redhat.com> <52FE42F2.5000001@redhat.com> <530E0B36.4020703@redhat.com> Message-ID: <530E183C.9080707@redhat.com> On 02/26/2014 04:41 PM, Andrew Azores wrote: > On 02/14/2014 11:23 AM, Andrew Azores wrote: >> On 02/13/2014 09:50 AM, Jiri Vanek wrote: >>> Hi! >>> >>> >>> Changes to classlaoder looks ok, but test do not work: >>> >>> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - chromium-browser >>> - WARNING This test is known to fail, but have passed! >>> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - opera >>> - WARNING This test is known to fail, but have passed! >>> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - midori >>> - WARNING This test is known to fail, but have passed! >>> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - epiphany >>> - WARNING This test is known to fail, but have passed! >>> FAILED: testSignedAppletWithExternalMainClassLaunch - >>> chromium-browser(SignedAppletExternalMainClassTest) applet did not initialize >>> - This test is known to fail >>> FAILED: testSignedAppletWithExternalMainClassLaunch - opera(SignedAppletExternalMainClassTest) >>> applet did not initialize >>> - This test is known to fail >>> FAILED: testSignedAppletWithExternalMainClassLaunch - midori(SignedAppletExternalMainClassTest) >>> applet did not initialize >>> - This test is known to fail >>> FAILED: testSignedAppletWithExternalMainClassLaunch - epiphany(SignedAppletExternalMainClassTest) >>> applet did not initialize >>> - This test is known to fail >>> Total tests run: 8; From those : 8 known to fail >>> Test known to fail: passed: 4; failed: 4; ignored: 0 >>> Test results: passed: 4; failed: 4; ignored: 0 >>> >>> >>> >>> why??? >>> >>> (after removal of exception) >>> After reading description, whole thread,and code, the second four should also pass.... >> >> Well, this is incredibly embarrassing. The latest commit (mine) to head introduces this regression >> - external main-class is broken now. :( >> >> At the time this patch was originally sent, that test would've been working, but it wasn't present >> for regression testing against that latest commit, so things broke... >> >>> >>> minor note: >>> > + private static void assertNoExceptions(ProcessResult pr) { >>> > + assertFalse(pr.stdout.contains("xception")); >>> > + assertFalse(pr.stderr.contains("xception")); >>> > + } >>> >>> Please , don't do this. I spent large amount of time in removal of all those. >>> nor do assertTrue(pr.stderr.contains("xception"));. Unless you are searching for >>> appearence/notappearence of some ExactException. >> >> Okay, I'll fix this up. >> >>> >>> What about applet, which have few jars signed vith valid signature, and some vith invalid??? >>> Isn't it also partially signed one? >>> The example is recently discovered reproducer for redirection - >>> https://java.net/projects/electric/downloads/download/electric.jnlp >>> >>> Well it is jnlp app, but in this case it sounds to me like valid.... >>> >>> What do you think? >>> >> >> I'm not entirely sure what you're asking here. The issues addressed by these patches have to do >> with loading un-JAR'd classes directly from the codebase - how is this JNLP application connected? >> >> Thanks, >> > > Updated patch, everything is hopefully back in order again. > > Thanks, > Assuming you tested it against failed tests, the changes looks ok to go. J. From gnu.andrew at redhat.com Wed Feb 26 08:51:43 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 26 Feb 2014 11:51:43 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> Message-ID: <1500477756.10160126.1393433503797.JavaMail.zimbra@redhat.com> ----- Original Message ----- > > http://icedtea.classpath.org/hg/icedtea7-forest/hotspot/rev/0a9100ca5a41 > > -- > > Andrew :) > > I guess this doesn't have to do with this changeset in particular, but > considering that building on ARM should now work, and I see a 2.5 > release coming closer, I get this when building zero from forest head: > This is HEAD, not forest HEAD. > mv stamps/patch.stamp.tmp stamps/patch.stamp > Checking patches/rhino.patch > Applying patches/rhino.patch > patching file openjdk/jdk/make/com/sun/Makefile > patching file openjdk/jdk/make/com/sun/script/Makefile > patching file openjdk/jdk/make/common/Release.gmk > Hunk #1 succeeded at 830 (offset -8 lines). > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java > patching file > openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java > Checking patches/cacao/memory.patch > Applying patches/cacao/memory.patch > patching file openjdk/hotspot/make/linux/makefiles/rules.make > Hunk #1 succeeded at 131 (offset 3 lines). > patching file openjdk/hotspot/make/solaris/makefiles/rules.make > patching file openjdk/hotspot/make/windows/makefiles/rules.make > Hunk #1 succeeded at 46 (offset 1 line). > patching file openjdk/jdk/make/common/shared/Platform.gmk > Hunk #1 succeeded at 547 (offset 10 lines). > patching file openjdk/jdk/make/docs/Makefile > patching file openjdk/langtools/make/build.xml > patching file openjdk/hotspot/make/bsd/makefiles/rules.make > Checking patches/systemtap_gc.patch > 1 out of 2 hunks FAILED -- saving rejects to file > openjdk/hotspot/src/share/vm/memory/generation.cpp.rej > ERROR patch patches/systemtap_gc.patch FAILED! > WARNING make clean-patch before retrying a fix > make: *** [stamps/patch.stamp] Error 2 > How are you configuring? -- 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 Wed Feb 26 07:41:42 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 26 Feb 2014 10:41:42 -0500 Subject: [rfc][icedtea-web] Signed applets with codebase loading In-Reply-To: <52FE42F2.5000001@redhat.com> References: <52EBCC67.5050409@redhat.com> <52FCDBA8.2020208@redhat.com> <52FE42F2.5000001@redhat.com> Message-ID: <530E0B36.4020703@redhat.com> On 02/14/2014 11:23 AM, Andrew Azores wrote: > On 02/13/2014 09:50 AM, Jiri Vanek wrote: >> Hi! >> >> >> Changes to classlaoder looks ok, but test do not work: >> >> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - >> chromium-browser >> - WARNING This test is known to fail, but have passed! >> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - opera >> - WARNING This test is known to fail, but have passed! >> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - midori >> - WARNING This test is known to fail, but have passed! >> Passed: SignedAppletCodebaseLoadingTests.testCodebaseLoading - epiphany >> - WARNING This test is known to fail, but have passed! >> FAILED: testSignedAppletWithExternalMainClassLaunch - >> chromium-browser(SignedAppletExternalMainClassTest) applet did not >> initialize >> - This test is known to fail >> FAILED: testSignedAppletWithExternalMainClassLaunch - >> opera(SignedAppletExternalMainClassTest) applet did not initialize >> - This test is known to fail >> FAILED: testSignedAppletWithExternalMainClassLaunch - >> midori(SignedAppletExternalMainClassTest) applet did not initialize >> - This test is known to fail >> FAILED: testSignedAppletWithExternalMainClassLaunch - >> epiphany(SignedAppletExternalMainClassTest) applet did not initialize >> - This test is known to fail >> Total tests run: 8; From those : 8 known to fail >> Test known to fail: passed: 4; failed: 4; ignored: 0 >> Test results: passed: 4; failed: 4; ignored: 0 >> >> >> >> why??? >> >> (after removal of exception) >> After reading description, whole thread,and code, the second four >> should also pass.... > > Well, this is incredibly embarrassing. The latest commit (mine) to > head introduces this regression - external main-class is broken now. :( > > At the time this patch was originally sent, that test would've been > working, but it wasn't present for regression testing against that > latest commit, so things broke... > >> >> minor note: >> > + private static void assertNoExceptions(ProcessResult pr) { >> > + assertFalse(pr.stdout.contains("xception")); >> > + assertFalse(pr.stderr.contains("xception")); >> > + } >> >> Please , don't do this. I spent large amount of time in removal of >> all those. >> nor do assertTrue(pr.stderr.contains("xception"));. Unless you are >> searching for appearence/notappearence of some ExactException. > > Okay, I'll fix this up. > >> >> What about applet, which have few jars signed vith valid signature, >> and some vith invalid??? >> Isn't it also partially signed one? >> The example is recently discovered reproducer for redirection - >> https://java.net/projects/electric/downloads/download/electric.jnlp >> >> Well it is jnlp app, but in this case it sounds to me like valid.... >> >> What do you think? >> > > I'm not entirely sure what you're asking here. The issues addressed by > these patches have to do with loading un-JAR'd classes directly from > the codebase - how is this JNLP application connected? > > Thanks, > Updated patch, everything is hopefully back in order again. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: signed_applet_codebase_loading2.patch Type: text/x-patch Size: 13472 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/4a513297/signed_applet_codebase_loading2-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: signed_applet_codebase_loading_tests2.patch Type: text/x-patch Size: 24726 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/4a513297/signed_applet_codebase_loading_tests2-0001.patch From aazores at redhat.com Wed Feb 26 09:11:22 2014 From: aazores at redhat.com (Andrew Azores) Date: Wed, 26 Feb 2014 12:11:22 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <530E02BE.8030706@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> Message-ID: <530E203A.7030004@redhat.com> On 02/26/2014 10:05 AM, Jiri Vanek wrote: > On 02/26/2014 03:48 PM, Andrew Azores wrote: >> On 02/10/2014 11:25 AM, Andrew Azores wrote: >>> On 01/27/2014 02:55 PM, Andrew Azores wrote: >>>> 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, >>>> >>> >>> Ping... ? >>> >>> Thanks, >>> >> >> Ping. >> >> Thanks, >> > > This no longer apply to head. One hunk fails and it was just fixing some formatting/whitespace, so that's fine. I've removed that hunk from these new, split patches, so they do apply cleanly now. "implementation" can be applied on its own, but it doesn't actually do anything. It essentially just sets up the classloader to be able to run applets sandboxed. "dialog" adds the ability to make the classloader do this by adding a button for it. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: dialog.patch Type: text/x-patch Size: 13221 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/df241839/dialog-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: implementation.patch Type: text/x-patch Size: 11669 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140226/df241839/implementation-0001.patch From stefan at complang.tuwien.ac.at Wed Feb 26 09:24:02 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Wed, 26 Feb 2014 18:24:02 +0100 Subject: building icedtea-7 on ARM In-Reply-To: <1500477756.10160126.1393433503797.JavaMail.zimbra@redhat.com> References: <1800522928.83487.1390886467315.JavaMail.root@redhat.com> <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1500477756.10160126.1393433503797.JavaMail.zimbra@redhat.com> Message-ID: > This is HEAD, not forest HEAD. I think I?m just spotting a major blunder ? I?ve checked out the 2.4 branch :(. Will rebuild. >> mv stamps/patch.stamp.tmp stamps/patch.stamp >> Checking patches/rhino.patch >> Applying patches/rhino.patch >> patching file openjdk/jdk/make/com/sun/Makefile >> patching file openjdk/jdk/make/com/sun/script/Makefile >> patching file openjdk/jdk/make/common/Release.gmk >> Hunk #1 succeeded at 830 (offset -8 lines). >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java >> patching file >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java >> Checking patches/cacao/memory.patch >> Applying patches/cacao/memory.patch >> patching file openjdk/hotspot/make/linux/makefiles/rules.make >> Hunk #1 succeeded at 131 (offset 3 lines). >> patching file openjdk/hotspot/make/solaris/makefiles/rules.make >> patching file openjdk/hotspot/make/windows/makefiles/rules.make >> Hunk #1 succeeded at 46 (offset 1 line). >> patching file openjdk/jdk/make/common/shared/Platform.gmk >> Hunk #1 succeeded at 547 (offset 10 lines). >> patching file openjdk/jdk/make/docs/Makefile >> patching file openjdk/langtools/make/build.xml >> patching file openjdk/hotspot/make/bsd/makefiles/rules.make >> Checking patches/systemtap_gc.patch >> 1 out of 2 hunks FAILED -- saving rejects to file >> openjdk/hotspot/src/share/vm/memory/generation.cpp.rej >> ERROR patch patches/systemtap_gc.patch FAILED! >> WARNING make clean-patch before retrying a fix >> make: *** [stamps/patch.stamp] Error 2 >> > > How are you configuring? It?s in the attached config.log. From gnu.andrew at redhat.com Wed Feb 26 09:29:19 2014 From: gnu.andrew at redhat.com (Andrew Hughes) Date: Wed, 26 Feb 2014 12:29:19 -0500 (EST) Subject: building icedtea-7 on ARM In-Reply-To: References: <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1500477756.10160126.1393433503797.JavaMail.zimbra@redhat.com> Message-ID: <1351338464.10207401.1393435759512.JavaMail.zimbra@redhat.com> ----- Original Message ----- > > This is HEAD, not forest HEAD. > > I think I?m just spotting a major blunder ? I?ve checked out the 2.4 > branch :(. Will rebuild. > > >> mv stamps/patch.stamp.tmp stamps/patch.stamp > >> Checking patches/rhino.patch > >> Applying patches/rhino.patch > >> patching file openjdk/jdk/make/com/sun/Makefile > >> patching file openjdk/jdk/make/com/sun/script/Makefile > >> patching file openjdk/jdk/make/common/Release.gmk > >> Hunk #1 succeeded at 830 (offset -8 lines). > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/ExternalScriptable.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/JavaAdapter.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/JSAdapter.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoClassShutter.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoCompiledScript.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngineFactory.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoScriptEngine.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoTopLevel.java > >> patching file > >> openjdk/jdk/src/share/classes/com/sun/script/javascript/RhinoWrapFactory.java > >> Checking patches/cacao/memory.patch > >> Applying patches/cacao/memory.patch > >> patching file openjdk/hotspot/make/linux/makefiles/rules.make > >> Hunk #1 succeeded at 131 (offset 3 lines). > >> patching file openjdk/hotspot/make/solaris/makefiles/rules.make > >> patching file openjdk/hotspot/make/windows/makefiles/rules.make > >> Hunk #1 succeeded at 46 (offset 1 line). > >> patching file openjdk/jdk/make/common/shared/Platform.gmk > >> Hunk #1 succeeded at 547 (offset 10 lines). > >> patching file openjdk/jdk/make/docs/Makefile > >> patching file openjdk/langtools/make/build.xml > >> patching file openjdk/hotspot/make/bsd/makefiles/rules.make > >> Checking patches/systemtap_gc.patch > >> 1 out of 2 hunks FAILED -- saving rejects to file > >> openjdk/hotspot/src/share/vm/memory/generation.cpp.rej > >> ERROR patch patches/systemtap_gc.patch FAILED! > >> WARNING make clean-patch before retrying a fix > >> make: *** [stamps/patch.stamp] Error 2 > >> > > > > How are you configuring? > > It?s in the attached config.log. > If you use --with-openjdk-src-dir, then yes, patches will break and you'll need to fix them. The patches in the repo are set to build against the tarballs specified. -- 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 emailgrant at gmail.com Wed Feb 26 09:47:36 2014 From: emailgrant at gmail.com (Grant) Date: Wed, 26 Feb 2014 09:47:36 -0800 Subject: building icedtea-7 on ARM In-Reply-To: <1816561120.8183412.1393257720538.JavaMail.zimbra@redhat.com> References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> <1816561120.8183412.1393257720538.JavaMail.zimbra@redhat.com> Message-ID: >> >>> Should the PAX issue be fixed in HEAD? >> >>> >> >>> - Grant >> >>> >> >> >> >> Should be now if you update. >> > >> > >> > I get the following: >> >> I just noticed the icedtea-7.9999.ebuild has been updated so I'm >> trying that now. I get the following error from the ebuild: >> >> !!! A file is not listed in the Manifest: >> '/var/lib/layman/java/dev-java/icedtea/files/openjdk6-prefer_source.patch' >> >> But the fix is easy: >> >> # ebuild icedtea-7.9999.ebuild manifest >> > > There's no such file... You're right, sorry. I deleted and re-added the java overlay and tried again but it fails with: [echo] +---------------------------------------+ [echo] + Starting ant project jaxws + [echo] +---------------------------------------+ -javac-jar-exists: sanity: [echo] Sanity Settings: [echo] ant.home=/usr/share/ant-core [echo] ant.version=Apache Ant(TM) version 1.9.1 compiled on February 20 2014 [echo] ant.java.version=1.6 [echo] java.home=/usr/lib/icedtea6/jre [echo] java.version=1.6.0_29 [echo] os.name=Linux [echo] os.arch=arm [echo] os.version=3.13.3-gentoo [echo] bootstrap.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap [echo] javac.jar=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap/lib/javac.jar [echo] langtools.jar=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/lib/classes.jar [echo] javac.memoryInitialSize=256m [echo] javac.memoryMaximumSize=512m [echo] javac.source=7 [echo] javac.debug=true [echo] javac.target=7 [echo] javac.version.opt= [echo] javac.lint.opts= [echo] javac.no.jdk.warnings=-XDignore.symbol.file=true [echo] output.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws [echo] build.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build [echo] dist.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist [echo] jdk.topdir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jdk [echo] jdk.gensrcdir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/generated.build [echo] init: [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist [mkdir] Created dir: /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist/lib compile: [javac] Compiling 2749 source files to /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes [javac] Exception in thread "main" java.lang.NoSuchMethodError: java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; [javac] at java.text.MessageFormat.(MessageFormat.java:362) [javac] at java.text.MessageFormat.format(MessageFormat.java:835) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:200) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:141) [javac] at com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:135) [javac] at com.sun.tools.javac.main.Main.getLocalizedString(Main.java:585) [javac] at com.sun.tools.javac.main.Main.bugMessage(Main.java:503) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:484) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:353) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:342) [javac] at com.sun.tools.javac.main.Main.compile(Main.java:333) [javac] at com.sun.tools.javac.Main.compile(Main.java:76) [javac] at com.sun.tools.javac.Main.main(Main.java:61) BUILD FAILED /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jaxws/build.xml:155: Compile failed; see the compiler error output for details. Total time: 9 minutes 2 seconds make[4]: *** [all] Error 1 make[4]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jaxws/make' make[3]: *** [jaxws-build] Error 2 make[3]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' make[2]: *** [build_product_image] Error 2 make[2]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' make[1]: *** [jdk_only] Error 2 make[1]: Leaving directory `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' make: *** [stamps/icedtea-boot.stamp] Error 2 - Grant From omajid at redhat.com Wed Feb 26 09:54:45 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 26 Feb 2014 12:54:45 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <530E203A.7030004@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> <530E203A.7030004@redhat.com> Message-ID: <20140226175445.GF2100@redhat.com> * Andrew Azores [2014-02-26 12:13]: > "implementation" can be applied on its own, but it doesn't actually > do anything. It essentially just sets up the classloader to be able > to run applets sandboxed. "dialog" adds the ability to make the > classloader do this by adding a button for it. I will review them separately. > 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 The JNLPClassLoader class is hairy enough and this is making it more complex. Would it be possible to extract all the security-decision-making code into a new class that JNLPClassLoader can delegate to, instead? I mean it is probably okay to have conditionals based on getRunInSandbox() this time, but one more conditional like this and the code will be next to impossible to maintain. > @@ -386,8 +391,12 @@ > > // 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 > - // causes unwanted side-effects for some applets > - if (!loader.getSigning() && file instanceof PluginBridge) { > + // causes unwanted side-effects for some applets. However, if the loader has been tagged > + // with "runInSandbox", then we do not show this dialog - since this tag indicates that > + // the user was already shown a CertWarning dialog and has chosen to run the applet sandboxed. > + // This means they've already agreed to running the applet and have specified with which > + // permission level to do it! > + if (!loader.getSigning() && !loader.getRunInSandbox() && file instanceof PluginBridge) { > UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired((PluginBridge)file); > } I would create a method named `isUserAlreadyPrompted()` and use that instead of `loader.getRunInSandbox()` All in all, I am quite happy how this patch is not very invasive, given that it touches one of the more sensitive classes in the codebase. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From omajid at redhat.com Wed Feb 26 10:02:25 2014 From: omajid at redhat.com (Omair Majid) Date: Wed, 26 Feb 2014 13:02:25 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <530E203A.7030004@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> <530E203A.7030004@redhat.com> Message-ID: <20140226180224.GG2100@redhat.com> * Andrew Azores [2014-02-26 12:13]: > "implementation" can be applied on its own, but it doesn't actually > do anything. It essentially just sets up the classloader to be able > to run applets sandboxed. "dialog" adds the ability to make the > classloader do this by adding a button for it. > This is a review of the "dialog" patch. Overall, the patch is okay. There is some minor duplication of code that calls JNLPClassLoader from various *Verfifiers. I like the cleanup in SecurityDialogs. I do have one concern: > +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java > if (jcv.isFullySigned() && !jcv.getAlreadyTrustPublisher()) { > - jcv.checkTrustWithUser(file); > + jcv.checkTrustWithUser(this, file); JCV was designed in a layered approach (JNLPClassLoader calls JCV and not the other way aroun) so we would be able to unit test it completely and sanely without having to instantiate JNLPClassLoader. This change breaks that :( Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From stefan at complang.tuwien.ac.at Wed Feb 26 13:23:10 2014 From: stefan at complang.tuwien.ac.at (Stefan Ring) Date: Wed, 26 Feb 2014 22:23:10 +0100 Subject: building icedtea-7 on ARM In-Reply-To: <1351338464.10207401.1393435759512.JavaMail.zimbra@redhat.com> References: <52E7BFA2.20705@RedHat.Com> <52FE6172.8090704@RedHat.Com> <204649896.6184487.1392841714580.JavaMail.zimbra@redhat.com> <1500477756.10160126.1393433503797.JavaMail.zimbra@redhat.com> <1351338464.10207401.1393435759512.JavaMail.zimbra@redhat.com> Message-ID: > If you use --with-openjdk-src-dir, then yes, patches will break and > you'll need to fix them. The patches in the repo are set to build against > the tarballs specified. Sorry for the noise. I accidentally mixed up versions not meant to go together. From bugzilla-daemon at icedtea.classpath.org Wed Feb 26 21:17:16 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 27 Feb 2014 05:17:16 +0000 Subject: [Bug 1687] New: Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1687 Bug ID: 1687 Summary: Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 Product: IcedTea-Web Version: 1.4 Hardware: x86_64 OS: Linux Status: NEW Severity: major Priority: P5 Component: Plugin Assignee: dbhole at redhat.com Reporter: h.pillay at ieee.org CC: unassigned at icedtea.classpath.org Tried to run WebEx and this was the failure screen: icedtea-web-1.4.2-0.fc20.x86_64 IcedTea-Web Plugin version: 1.4.2 (fedora-0.fc20-x86_64) Thu Feb 27 13:10:21 SGT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button". at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:746) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:673) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:930) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Unknown Main-Class. Could not determine the main class for this application. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:725) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:268) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:403) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:465) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:441) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711) ... 2 more Chain: 1) at Thu Feb 27 13:07:47 SGT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Unknown Main-Class. Could not determine the main class for this application. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:725) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:268) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:403) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:465) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:441) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:673) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:930) 2) at Thu Feb 27 13:07:47 SGT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button". at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:746) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:673) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:930) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Unknown Main-Class. Could not determine the main class for this application. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:725) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:268) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:403) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:465) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:441) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711) ... 2 more 3) at Thu Feb 27 13:08:57 SGT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Unknown Main-Class. Could not determine the main class for this application. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:725) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:268) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:403) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:465) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:441) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:673) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:930) 4) at Thu Feb 27 13:08:57 SGT 2014 net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button". at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:746) at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:673) at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:930) Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Unknown Main-Class. Could not determine the main class for this application. at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:725) at net.sourceforge.jnlp.runtime.JNLPClassLoader.(JNLPClassLoader.java:268) at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:403) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:465) at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:441) at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:711) ... 2 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/20140227/485b71f1/attachment.html From ptisnovs at icedtea.classpath.org Thu Feb 27 01:10:20 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 27 Feb 2014 09:10:20 +0000 Subject: /hg/gfx-test: Ten new tests added into BitBltUsingBgColorAlpha t... Message-ID: changeset a9b87ea665e8 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=a9b87ea665e8 author: Pavel Tisnovsky date: Thu Feb 27 10:11:00 2014 +0100 Ten new tests added into BitBltUsingBgColorAlpha test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java | 152 +++++++++++++++- 2 files changed, 156 insertions(+), 1 deletions(-) diffs (181 lines): diff -r b81e5af64929 -r a9b87ea665e8 ChangeLog --- a/ChangeLog Wed Feb 26 11:23:56 2014 +0100 +++ b/ChangeLog Thu Feb 27 10:11:00 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-27 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java: + Ten new tests added into BitBltUsingBgColorAlpha test suite. + 2014-02-26 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColor.java: diff -r b81e5af64929 -r a9b87ea665e8 src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java --- a/src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java Wed Feb 26 11:23:56 2014 +0100 +++ b/src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java Thu Feb 27 10:11:00 2014 +0100 @@ -1,7 +1,7 @@ /* Java gfx-test framework - Copyright (C) 2012, 2013 Red Hat + Copyright (C) 2012, 2013, 2014 Red Hat This file is part of IcedTea. @@ -1858,6 +1858,156 @@ } /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundYellowAlpha000(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow, 0.0f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundYellowAlpha025(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow, 0.25f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundYellowAlpha050(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow, 0.5f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundYellowAlpha075(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow, 0.75f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGRPre. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundYellowAlpha100(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.yellow, 1.00f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundCyanAlpha000(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan, 0.0f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundCyanAlpha025(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan, 0.25f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundCyanAlpha050(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan, 0.5f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundCyanAlpha075(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan, 0.75f); + } + + /** + * Test basic BitBlt operation for empty buffered image with type TYPE_4BYTE_ABGR. + * 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 testBitBltEmptyBufferedImageType4ByteABGRPrebackgroundCyanAlpha100(TestImage image, Graphics2D graphics2d) + { + return doBitBltEmptyBufferedImageType4ByteABGRPre(image, graphics2d, Color.cyan, 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 Thu Feb 27 01:12:57 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Thu, 27 Feb 2014 09:12:57 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamPositiveT... Message-ID: changeset ab31415af980 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=ab31415af980 author: Pavel Tisnovsky date: Thu Feb 27 10:13:39 2014 +0100 Added new test testGetResourceAsStreamPositiveTest into ScriptExceptionClassTest. diffstat: ChangeLog | 6 ++ src/org/RhinoTests/ScriptExceptionClassTest.java | 63 +++++++++++++++++++++++- 2 files changed, 68 insertions(+), 1 deletions(-) diffs (93 lines): diff -r 4dee1c9a9f58 -r ab31415af980 ChangeLog --- a/ChangeLog Wed Feb 26 11:39:25 2014 +0100 +++ b/ChangeLog Thu Feb 27 10:13:39 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-27 Pavel Tisnovsky + + * src/org/RhinoTests/ScriptExceptionClassTest.java: + Added new test testGetResourceAsStreamPositiveTest into + ScriptExceptionClassTest. + 2014-02-26 Pavel Tisnovsky * src/org/RhinoTests/ScriptEngineClassTest.java: diff -r 4dee1c9a9f58 -r ab31415af980 src/org/RhinoTests/ScriptExceptionClassTest.java --- a/src/org/RhinoTests/ScriptExceptionClassTest.java Wed Feb 26 11:39:25 2014 +0100 +++ b/src/org/RhinoTests/ScriptExceptionClassTest.java Thu Feb 27 10:13:39 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. @@ -2012,6 +2012,67 @@ } /** + * Test for method javax.script.ScriptException.getClass().getResourcePositiveTest() + */ + protected void testGetResourcePositiveTest() { + Object resource; + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/BaseRhinoTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/BaseRhinoTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/BindingsClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/BindingsClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/BindingsTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/BindingsTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/CompilableClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/CompilableClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/CompilableTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/CompilableTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/CompiledScriptClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/CompiledScriptClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/CompiledScriptTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/CompiledScriptTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/Constants.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/Constants.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/InvocableClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/InvocableClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/InvocableTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/InvocableTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/JavaScriptSnippets.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/JavaScriptSnippets.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/JavaScriptsTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/JavaScriptsTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptContextClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptContextClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptContextTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptContextTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineFactoryClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineFactoryClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineFactoryTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineFactoryTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineManagerClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineManagerClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineManagerTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineManagerTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptEngineTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptEngineTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptExceptionClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptExceptionClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/ScriptExceptionTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/ScriptExceptionTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/SimpleBindingsClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/SimpleBindingsClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/SimpleBindingsTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/SimpleBindingsTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/SimpleScriptContextClassTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/SimpleScriptContextClassTest.class\") returns null"); + resource = this.scriptExceptionClass.getResource("/org/RhinoTests/SimpleScriptContextTest.class"); + assertNotNull(resource, "getResource(\"/org/RhinoTests/SimpleScriptContextTest.class\") returns null"); + } + + /** * Test for instanceof operator applied to a class javax.script.ScriptException */ @SuppressWarnings("cast") From bugzilla-daemon at icedtea.classpath.org Thu Feb 27 07:56:38 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 27 Feb 2014 15:56:38 +0000 Subject: [Bug 1687] Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1687 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/20140227/d5ab4224/attachment.html From jvanek at redhat.com Thu Feb 27 09:11:43 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Thu, 27 Feb 2014 18:11:43 +0100 Subject: [rfc][icedtea-web] implemented Application-Library-Allowable-Codebase Attribute Message-ID: <530F71CF.4040207@redhat.com> hi! Implementation of - Application-Library-Allowable-Codebase Attribute. Well it grow a bit. The implementation itself, is as straightforward as terrible "specification" allowed (please reviwer, study the specification too:( ) However, many workarounds were needed: * netx/net/sourceforge/jnlp/JNLPFile.java and netx/net/sourceforge/jnlp/util/ClasspathMatcher.java : It appeared, that this attribute honors path in pattern. Luckily the matcher was prepared for it, and now it is just conditionally enabled. * dialogues - still the same with one detail - the remember option do not work. I'm not sure if I wont to use already implemented whitelist from Extended Applets Security... Well why not? Becasue all alowed appelts will be able to run rmeote context...But well.. why not? If I will reuse it, then MatchingALACAttributePanel will be reworked. * netx/net/sourceforge/jnlp/util/UrlUtils.java - this was most unlucky - two new utility methods - to remove name filename from url path, and to compare urls no meter if there is tailing slash. - the exctraction of name is for puposes to find the uri of its location, which is then matched against attribute - the comparison without tailing slash is not so clear - There is only one suecase of it : + if (usedUrls.size() == 1) { + if (UrlUtils.equalsIgnoreLastSlash(usedUrls.toArray(new URL[]{})[0], codebase) + && UrlUtils.equalsIgnoreLastSlash(usedUrls.toArray(new URL[]{})[0], documentBase)) { + //all resoources are from codebase or document base. it is ok to proceeed. + OutputController.getLogger().log("All applications resources (" + usedUrls.toArray(new URL[]{})[0] + ") are from codebas/documentbase " + codebase + "/" + documentBase + ", skipping Application-Library-Allowable-Codebase Attribute check."); + return; + } + } It happened that different applications have or have not the trailing slash On codebase and so the implementation of removeFileName was burdened by keep trailing slash or not. This is workarround. *however* I'm a hesitating how to deal with it in Matcher. I adapted it (if compare of paths is true) that some.url/some/path matches both some.url/some/path/ and some.url/some/path, but some.url/some/path/ do not match some.url/some/path (matches only some.url/some/path/) I consider it as lowest evil....:( All should be unittested as much as possible. I'm still taking deep breath before doing reproducers for both this and permissions. Thanx in advance, J. -------------- next part -------------- A non-text attachment was scrubbed... Name: alaca_01.patch Type: text/x-patch Size: 46870 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140227/b51a3048/alaca_01-0001.patch From aazores at icedtea.classpath.org Thu Feb 27 11:35:52 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Thu, 27 Feb 2014 19:35:52 +0000 Subject: /hg/icedtea-web: Codebase-loading signed applet fixes Message-ID: changeset 1fb5b82415ce in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=1fb5b82415ce author: Andrew Azores date: Thu Feb 27 14:35:41 2014 -0500 Codebase-loading signed applet fixes * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed applets which load from the codebase as partially signed, and fix regression with signed applets loading main-classes from codebase * 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 diffstat: ChangeLog | 19 + netx/net/sourceforge/jnlp/Launcher.java | 6 +- netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 96 +++++++-- tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html | 52 +++++ tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile | 33 +++ tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java | 50 +++++ tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java | 47 ++++ tests/reproducers/custom/SignedAppletCodebaseLoading/testcases/SignedAppletCodebaseLoadingTests.java | 83 ++++++++ tests/reproducers/custom/SignedAppletExternalMainClass/resources/SignedAppletExternalMainClass.html | 49 +++++ tests/reproducers/custom/SignedAppletExternalMainClass/srcs/Makefile | 27 ++ tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClass.java | 49 +++++ tests/reproducers/custom/SignedAppletExternalMainClass/srcs/SignedAppletExternalMainClassHelper.java | 42 ++++ tests/reproducers/custom/SignedAppletExternalMainClass/testcases/SignedAppletExternalMainClassTest.java | 78 ++++++++ 13 files changed, 602 insertions(+), 29 deletions(-) diffs (truncated from 858 to 500 lines): diff -r ab3055c30fc7 -r 1fb5b82415ce ChangeLog --- a/ChangeLog Wed Feb 26 11:29:13 2014 +0100 +++ b/ChangeLog Thu Feb 27 14:35:41 2014 -0500 @@ -1,3 +1,22 @@ +2014-02-27 Andrew Azores + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed + applets which load from the codebase as partially signed, and fix + regression with signed applets loading main-classes from codebase + * 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 + 2014-02-21 Jiri Vanek * acinclude.m4: added (IT_CHECK_XULRUNNER_API_VERSION_CONSTCHAR) macro, diff -r ab3055c30fc7 -r 1fb5b82415ce netx/net/sourceforge/jnlp/Launcher.java --- a/netx/net/sourceforge/jnlp/Launcher.java Wed Feb 26 11:29:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/Launcher.java Thu Feb 27 14:35:41 2014 -0500 @@ -707,7 +707,7 @@ protected AppletInstance createApplet(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { AppletInstance appletInstance = null; try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); if (enableCodeBase) { loader.enableCodeBase(); @@ -754,7 +754,7 @@ */ protected Applet createAppletObject(JNLPFile file, boolean enableCodeBase, Container cont) throws LaunchException { try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, enableCodeBase); if (enableCodeBase) { loader.enableCodeBase(); @@ -777,7 +777,7 @@ */ protected ApplicationInstance createApplication(JNLPFile file) throws LaunchException { try { - JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy); + JNLPClassLoader loader = JNLPClassLoader.getInstance(file, updatePolicy, false); ThreadGroup group = Thread.currentThread().getThreadGroup(); ApplicationInstance app = new ApplicationInstance(file, group, loader); diff -r ab3055c30fc7 -r 1fb5b82415ce netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Feb 26 11:29:13 2014 +0100 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Feb 27 14:35:41 2014 -0500 @@ -222,13 +222,15 @@ */ private int useCount = 0; + private boolean enableCodeBase = false; + /** * Create a new JNLPClassLoader from the specified file. * * @param file the JNLP file */ protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy) throws LaunchException { - this(file, policy, null); + this(file, policy, null, false); } /** @@ -238,7 +240,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()); @@ -251,6 +253,8 @@ this.mainClass = mainName; + this.enableCodeBase = enableCodeBase; + //as it is harmless, we can set is as soon as possible. file.getManifestsAttributes().setLoader(this); @@ -264,6 +268,10 @@ jcv = new JarCertVerifier(verifier); + if (this.enableCodeBase) { + addToCodeBaseLoader(this.file.getCodeBase()); + } + // initialize extensions initializeExtensions(); @@ -379,10 +387,10 @@ * @param policy the update policy to use when downloading resources * @param mainName Overrides the main class name of the application */ - 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 @@ -419,8 +427,8 @@ * @param file the file to load classes for * @param policy the update policy to use when downloading resources */ - public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy) throws LaunchException { - return getInstance(file, policy, null); + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, boolean enableCodeBase) throws LaunchException { + return getInstance(file, policy, null, enableCodeBase); } /** @@ -430,7 +438,7 @@ * @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 { + public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { JNLPClassLoader baseLoader = null; JNLPClassLoader loader = null; String uniqueKey = file.getUniqueKey(); @@ -444,12 +452,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); @@ -477,7 +485,7 @@ * @param policy the update policy to use when downloading resources * @param mainName Overrides the main class name of the application */ - public static JNLPClassLoader getInstance(URL location, String uniqueKey, Version version,ParserSettings settings, UpdatePolicy policy, String mainName) + public static JNLPClassLoader getInstance(URL location, String uniqueKey, Version version, ParserSettings settings, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws IOException, ParseException, LaunchException { JNLPClassLoader loader; @@ -488,7 +496,7 @@ if (loader == null || !location.equals(loader.getJNLPFile().getFileLocation())) { JNLPFile jnlpFile = new JNLPFile(location, uniqueKey, version, settings, policy); - loader = getInstance(jnlpFile, policy, mainName); + loader = getInstance(jnlpFile, policy, mainName, enableCodeBase); } } @@ -521,7 +529,7 @@ for (ExtensionDesc ext : extDescs) { try { String uniqueKey = this.getJNLPFile().getUniqueKey(); - JNLPClassLoader loader = getInstance(ext.getLocation(), uniqueKey, ext.getVersion(), file.getParserSettings(), updatePolicy, mainClass); + JNLPClassLoader loader = getInstance(ext.getLocation(), uniqueKey, ext.getVersion(), file.getParserSettings(), updatePolicy, mainClass, this.enableCodeBase); loaderList.add(loader); } catch (Exception ex) { OutputController.getLogger().log(OutputController.Level.ERROR_ALL, ex); @@ -716,8 +724,8 @@ // 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; + if (!jcv.allJarsSigned()) { + checkPartialSigningWithUser(); } // If main jar was found, but a signed JNLP file was not located @@ -796,11 +804,7 @@ } if (containsSignedJar && containsUnsignedJar) { - signing = SigningState.PARTIAL; - } - - if (signing == SigningState.PARTIAL && JNLPRuntime.isVerifying()) { - checkNotAllSignedWithUser(file); + checkPartialSigningWithUser(); } activateJars(initialJars); @@ -1099,11 +1103,11 @@ } /** - * Prompt the user to proceed on applets with mixed signing. + * Display a dialog prompting the user to proceed on applets with mixed signing. * @param file the JNLPFile or PluginBridge describing the applet/application to be launched * @throws LaunchException if the user does not approve the prompt */ - private void checkNotAllSignedWithUser(JNLPFile file) throws LaunchException { + private void showNotAllSignedDialog(JNLPFile file) throws LaunchException { if (JNLPRuntime.isTrustAll()) { return; } @@ -1947,6 +1951,29 @@ return signing == SigningState.FULL; } + /** + * Call this when it's suspected that an applet's permission level may have + * just changed from Full Signing to Partial Signing. + * This will display a one-time prompt asking the user to confirm running + * the partially signed applet. + * Partially Signed applets always start off as appearing to be Fully + * Signed, and then during the initialization or loading process, we find + * that we actually need to demote the applet to Partial, either due to + * finding that not all of its JARs are actually signed, or because it + * needs to load something unsigned out of the codebase. + */ + private void checkPartialSigningWithUser() { + if (signing == SigningState.FULL && JNLPRuntime.isVerifying()) { + signing = SigningState.PARTIAL; + try { + showNotAllSignedDialog(this.file); + } catch (LaunchException e) { + throw new RuntimeException("The signed applet required loading of unsigned code from the codebase, " + + "which the user refused", e); + } + } + } + protected SecurityDesc getSecurity() { return security; } @@ -2321,8 +2348,16 @@ /* * Helper class to expose protected URLClassLoader methods. + * Classes loaded from the codebase are absolutely NOT signed, by definition! + * If the CodeBaseClassLoader is used to load any classes in JNLPClassLoader, + * then you *MUST* check if the JNLPClassLoader is set to FULL signing. If so, + * then it must be set instead to PARTIAL, and the user prompted if it is okay + * to proceed. If the JNLPClassLoader is already PARTIAL or NONE signing, then + * nothing must be done. This is required so that we can support partial signing + * of applets but also ensure that using codebase loading in conjunction with + * signed JARs still results in the user having to confirm that this is + * acceptable. */ - public static class CodeBaseClassLoader extends URLClassLoader { JNLPClassLoader parentJNLPClassLoader; @@ -2342,17 +2377,21 @@ super.addURL(url); } - Class findClassNonRecursive(String name) throws ClassNotFoundException { + /* + * Use with care! Check the class-level Javadoc before calling this. + */ + Class findClassNonRecursive(final String name) throws ClassNotFoundException { // If we have searched this path before, don't try again if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) throw new ClassNotFoundException(name); try { - final String fName = name; return AccessController.doPrivileged( new PrivilegedExceptionAction>() { public Class run() throws ClassNotFoundException { - return CodeBaseClassLoader.super.findClass(fName); + Class c = CodeBaseClassLoader.super.findClass(name); + parentJNLPClassLoader.checkPartialSigningWithUser(); + return c; } }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); } catch (PrivilegedActionException pae) { @@ -2364,10 +2403,15 @@ } } + /* + * Use with care! Check the class-level Javadoc before calling this. + */ @Override public Class findClass(String name) throws ClassNotFoundException { // Calls JNLPClassLoader#findClass which may call into this.findClassNonRecursive - return getParentJNLPClassLoader().findClass(name); + Class c = getParentJNLPClassLoader().findClass(name); + parentJNLPClassLoader.checkPartialSigningWithUser(); + return c; } /** diff -r ab3055c30fc7 -r 1fb5b82415ce tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/resources/SignedAppletCodebaseLoading.html Thu Feb 27 14:35:41 2014 -0500 @@ -0,0 +1,52 @@ + + + + + + + + + diff -r ab3055c30fc7 -r 1fb5b82415ce tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/Makefile Thu Feb 27 14:35:41 2014 -0500 @@ -0,0 +1,33 @@ +TESTNAME=SignedAppletCodebaseLoading + +SRC_FILES=SignedAppletCodebaseLoading.java SignedAppletCodebaseLoadingHelper.java + +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 SignedAppletCodebaseLoading.jar signed.SignedAppletCodebaseLoading signed; \ + cd -; \ + + $(JARSIGNER_CMD) -sigfile Alpha $(TMPDIR)/SignedAppletCodebaseLoading.jar $(TEST_CERT_ALIAS)_signed; \ + + cp $(TMPDIR)/SignedAppletCodebaseLoading.jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + cp -r $(TMPDIR)/helper $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ + + echo PREPARED REPRODUCER $(TESTNAME), removing $(TMPDIR); \ + rm -rf $(TMPDIR); \ + +clean-reproducer: + echo NOTHING TO CLEAN FOR $(TESTNAME) diff -r ab3055c30fc7 -r 1fb5b82415ce tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoading.java Thu Feb 27 14:35:41 2014 -0500 @@ -0,0 +1,50 @@ +/* SignedAppletCodebaseLoading.java +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 signed; +import helper.SignedAppletCodebaseLoadingHelper; +import java.applet.Applet; + +public class SignedAppletCodebaseLoading extends Applet { + + @Override + public void start() { + System.out.println(SignedAppletCodebaseLoadingHelper.getMessage()); + System.out.println("*** APPLET FINISHED ***"); + } + +} diff -r ab3055c30fc7 -r 1fb5b82415ce tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/reproducers/custom/SignedAppletCodebaseLoading/srcs/SignedAppletCodebaseLoadingHelper.java Thu Feb 27 14:35:41 2014 -0500 @@ -0,0 +1,47 @@ +/* SignedAppletCodebaseLoadingHelper.java +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 helper; +import signed.SignedAppletCodebaseLoading; + +public class SignedAppletCodebaseLoadingHelper { From aazores at redhat.com Thu Feb 27 12:50:55 2014 From: aazores at redhat.com (Andrew Azores) Date: Thu, 27 Feb 2014 15:50:55 -0500 Subject: [rfc][icedtea-web] Unsigned applet security dialog abstraction Message-ID: <530FA52F.6090204@redhat.com> Hi, Three patches here. One is just unit tests. The other two need to be applied together to be buildable, but are split because one is actually the real work patch, and the other is a lot of noisy renaming. The goal is to make the Unsigned Applet warning dialog, which is really quite nice, into an abstract class, so that new dialogs can be created for similar purposes, but with different information displayed. Namely, a new Partially Signed dialog, making use of the same layout and logic, as well as the same "remember decision" store, etc. "abstractions.patch" actually does this work of pulling most of the dialog out into an abstract parent class, and making the existing class into a subclass of this one in such a way that the look/feel and functionality are all preserved. "renames.patch" just renames a lot of classes that are related to this dialog, and whose names are no longer very accurate after the abstraction is done. "abstractions.patch" does contain some such renaming, however, it is much more limited. "tests.patch" adds unit tests intended to be able to test any such subclasses, although each new subclass needs to be manually added to the test case setup. This is in preparation for a "new-dialog.patch" which will introduce a new Partially Signed Dialog, to replace the existing Not All Signed Dialog, using the abstract parent class pulled out of the Unsigned Applet Dialog. ChangeLog: UnsignedAppletTrustWarningPanel logic moved into new abstract parent class AppTrustWarningPanel for reusability. * netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java: new class * netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: new class * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: major refactor into subclass of AppTrustWarningPanel * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (UnsignedWarningAction) references changed to AppSigningWarningAction * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: same * tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java: new tests for AppTrustWarningPanel * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteUnsignedApplet.java: renamed, changed all references * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteAppletAction.java: (ExecuteUnsignedApplet) renamed to this * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletActionTableModel.java: (ExecuteAppletAction) changed references * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java: (ExecuteAppletAction) changed references * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionEntry.java: (ExecuteAppletAction) changed references * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: (ExecuteAppletAction) changed references * netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageExtendedImpl.java: (ExecuteAppletAction) changed references * netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java: (ExecuteAppletAction) changed references Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: abstraction.patch Type: text/x-patch Size: 30593 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140227/10bea8a5/abstraction-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: renames.patch Type: text/x-patch Size: 28643 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140227/10bea8a5/renames-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: tests.patch Type: text/x-patch Size: 6053 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140227/10bea8a5/tests-0001.patch From bugzilla-daemon at icedtea.classpath.org Thu Feb 27 13:26:34 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Thu, 27 Feb 2014 21:26:34 +0000 Subject: [Bug 1688] New: 8017173 regression introduced in recent icedtea6 and icedtea7 releases Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1688 Bug ID: 1688 Summary: 8017173 regression introduced in recent icedtea6 and icedtea7 releases Product: IcedTea Version: unspecified Hardware: x86_64 OS: Linux Status: NEW Severity: normal Priority: P5 Component: IcedTea Assignee: gnu.andrew at redhat.com Reporter: jamie at ubuntu.com CC: unassigned at icedtea.classpath.org The following bug was filed in Ubuntu against openjdk-6: https://bugs.launchpad.net/ubuntu/+source/openjdk-6/+bug/1283828 "After upgrading the various openjdk-6-* packages to version 6b27-1.12.6-1ubuntu0.10.04.4 on our server, all incoming client connections started failing with the following error message at the top of the stack dump (on the client side). javax.xml.ws.soap.SOAPFaultException: java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/OAEPPadding (Previously we were running version 6b27-1.12.5-0ubuntu0.10.04.1 of the packages without seeing this problem.) comment #1: It looks like this is the JDK 6 version of the JDK 7 problem described in: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8017173 That bug was apparently fixed in JDK 7 by this one-line commit: http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/c5d869453212 In the JDK6 upstream, it seems this patch is the one that introduced the "OAEPPadding" string : http://hg.openjdk.java.net/jdk6/jdk6/jdk/diff/f3d02dd3dee5/src/share/classes/com/sun/org/apache/xml/internal/security/algorithms/JCEMapper.java (part of S6741606 "Integrate Apache Santuario"), but I haven't found any sign that the fix from S88017173 is being backported to the JDK6 codeline upstream.... " Indeed, applying the patch in http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/c5d869453212 resolves the issue. This is known to affect at least 1.13.1 and 2.4.5. Note, the patch includes a test case but in our openjdk-6 builds it didn't get run as part of the testsuite. I did not investigate why, but it can be run manually with: $ javac -XDignore.symbol.file GetInstance.java # GetInstance.java from patch $ java GetInstance A patched openjdk will exit with '0' while unpatched will throw the exception. -- 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/20140227/4daf5faf/attachment.html From yasu at ysfactory.dip.jp Fri Feb 28 01:18:10 2014 From: yasu at ysfactory.dip.jp (Yasumasa Suenaga) Date: Fri, 28 Feb 2014 18:18:10 +0900 Subject: JDK-8036003: Add variable not to separate debug information. Message-ID: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> Hi all, Currently, configure script can accept --disable-debug-symbols and --disable-zip-debug-info as controlling to generate debug information. However, current makefiles cannot build ELF binaries which is contained debug information with "images" target. Some Linux distros use RPM as package manager. RPM is built by rpmbuild command, it strips symbols and debug information during to generate rpm packages. https://fedoraproject.org/wiki/Packaging:Debuginfo For example, OpenJDK8 in Fedora20 ships libjvm.so and libjvm.debuginfo . libjvm.debuginfo is generated in OpenJDK's makefiles, however it does not contain debug information. Actual debug information is shipped by OpenJDK debuginfo package. This packaging is important when we have to debug JVM/JNI libraries. If we want to use debugging tools (GDB, SystemTap, etc...), they may requires debuginfo package. Debuggee (e.g. libjvm.so) points libjvm.so.debug which is located at sub directory in /usr/lib/debug . It is defined in ELF section (.note.gnu.build-id) of libjvm.so . However libjvm.so.debug does not contain valid debug information. We need to access libjvm.debuginfo.debug at same location. When we think to build OpenJDK rpm packages, we have to build ELF binaries which contain all debug information. we should not to separate debug information. Thus I want to add a variable "SEPARATED_DEBUGINFO_FILES" . If we pass "SEPARATED_DEBUGINFO_FILES=false" to make command, "make" does not execute objcopy command for generating debuginfo binaries. If we build rpm packages, we also have to add "STRIP_POLICY=no_strip" to arguments of make command. Or ELF binaries will be stripped. I've uploaded webrev for this enhancement. This is separated 3-part: top of forest, hotspot, jdk http://cr.openjdk.java.net/~ysuenaga/JDK-8036003/ Please review it and sponsoring! Thanks, Yasumasa P.S. I tried to add SEPARATED_DEBUGINFO_FILES as a configure option like "--disable-separated-debug-info" . I ran configure which is located at jdk9/dev directory after I ran autoconf and common/autoconf/autogen.sh. However it failed. I guess this is caused by changeset as below. JDK-8035495: Improvements in autoconf integration http://hg.openjdk.java.net/jdk9/dev/rev/6e29cd9ac2b4 This changes add "CHECKME" option to configure script. However, this changes affects "configure" only. It should change "configure.ac" . -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/cdc4899d/attachment.html From ptisnovs at icedtea.classpath.org Fri Feb 28 02:06:20 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 28 Feb 2014 10:06:20 +0000 Subject: /hg/gfx-test: Eight new tests added into CAGOperationsOnChordAnd... Message-ID: changeset 830c798b8e25 in /hg/gfx-test details: http://icedtea.classpath.org/hg/gfx-test?cmd=changeset;node=830c798b8e25 author: Pavel Tisnovsky date: Fri Feb 28 11:07:00 2014 +0100 Eight new tests added into CAGOperationsOnChordAndRectangle test suite. diffstat: ChangeLog | 5 + src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java | 184 ++++++++++ 2 files changed, 189 insertions(+), 0 deletions(-) diffs (206 lines): diff -r a9b87ea665e8 -r 830c798b8e25 ChangeLog --- a/ChangeLog Thu Feb 27 10:11:00 2014 +0100 +++ b/ChangeLog Fri Feb 28 11:07:00 2014 +0100 @@ -1,3 +1,8 @@ +2014-02-28 Pavel Tisnovsky + + * src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java: + Eight new tests added into CAGOperationsOnChordAndRectangle test suite. + 2014-02-27 Pavel Tisnovsky * src/org/gfxtest/testsuites/BitBltUsingBgColorAlpha.java: diff -r a9b87ea665e8 -r 830c798b8e25 src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java --- a/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Thu Feb 27 10:11:00 2014 +0100 +++ b/src/org/gfxtest/testsuites/CAGOperationsOnChordAndRectangle.java Fri Feb 28 11:07:00 2014 +0100 @@ -881,6 +881,190 @@ } /** + * Checks the process of creating and rendering new geometric shape + * constructed from chord and rectangle using XOR operator. The shape is + * rendered using vertical 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 testBigChordRectangleXorVerticalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set vertical gradient fill + CommonRenderingStyles.setVerticalGradientFill(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 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 testBigChordRectangleUnionDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(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 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 testBigChordRectangleSubtractDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(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 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 testBigChordRectangleInverseSubtractDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(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 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 testBigChordRectangleIntersectDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(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 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 testBigChordRectangleXorDiagonalGradientPaint(TestImage image, Graphics2D graphics2d) + { + // set diagonal gradient fill + CommonRenderingStyles.setDiagonalGradientFill(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 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 testSmallChordInsideRectangleUnionStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using union operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingUnionOperator(image); + // draw the area + graphics2d.draw(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 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 testSmallChordInsideRectangleSubtractStrokePaint(TestImage image, Graphics2D graphics2d) + { + // set stroke color + CommonRenderingStyles.setStrokeColor(graphics2d); + // create area using subtract operator + Area area = CommonCAGOperations.createAreaFromSmallerChordInsideRectangleUsingSubtractOperator(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 Feb 28 02:12:07 2014 From: ptisnovs at icedtea.classpath.org (ptisnovs at icedtea.classpath.org) Date: Fri, 28 Feb 2014 10:12:07 +0000 Subject: /hg/rhino-tests: Added new test testGetResourceAsStreamNegativeT... Message-ID: changeset 3758c6b6d899 in /hg/rhino-tests details: http://icedtea.classpath.org/hg/rhino-tests?cmd=changeset;node=3758c6b6d899 author: Pavel Tisnovsky date: Fri Feb 28 11:12:48 2014 +0100 Added new test testGetResourceAsStreamNegativeTest into SimpleBindingsClassTest. diffstat: ChangeLog | 6 ++ src/org/RhinoTests/SimpleBindingsClassTest.java | 61 +++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 0 deletions(-) diffs (84 lines): diff -r ab31415af980 -r 3758c6b6d899 ChangeLog --- a/ChangeLog Thu Feb 27 10:13:39 2014 +0100 +++ b/ChangeLog Fri Feb 28 11:12:48 2014 +0100 @@ -1,3 +1,9 @@ +2014-02-28 Pavel Tisnovsky + + * src/org/RhinoTests/SimpleBindingsClassTest.java: + Added new test testGetResourceAsStreamNegativeTest into + SimpleBindingsClassTest. + 2014-02-27 Pavel Tisnovsky * src/org/RhinoTests/ScriptExceptionClassTest.java: diff -r ab31415af980 -r 3758c6b6d899 src/org/RhinoTests/SimpleBindingsClassTest.java --- a/src/org/RhinoTests/SimpleBindingsClassTest.java Thu Feb 27 10:13:39 2014 +0100 +++ b/src/org/RhinoTests/SimpleBindingsClassTest.java Fri Feb 28 11:12:48 2014 +0100 @@ -2093,6 +2093,67 @@ } /** + * Test for method javax.script.SimpleBindings.getClass().getResourceAsStreamNegativeTest() + */ + protected void testGetResourceAsStreamNegativeTest() { + Object stream = null; + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/AbstractScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/AbstractScriptEngineClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/BaseRhinoTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BaseRhinoTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/BindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/BindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/BindingsTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/CompilableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/CompilableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompilableTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/CompiledScriptClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/CompiledScriptTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/CompiledScriptTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/Constants.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/Constants.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/InvocableClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/InvocableTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/InvocableTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/JavaScriptSnippets.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptSnippets.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/JavaScriptsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/JavaScriptsTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptContextTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineFactoryTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineFactoryTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineManagerTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineManagerTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptEngineTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptEngineTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/ScriptExceptionTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/ScriptExceptionTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/SimpleBindingsTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleBindingsTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextClassTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextClassTest.class\") returns null"); + stream = this.simpleBindingsClass.getResourceAsStream("/org/RhinoTests/SimpleScriptContextTest.class"); + assertNotNull(stream, "getAsStreamResource(\"/org/RhinoTests/SimpleScriptContextTest.class\") returns null"); + } + + /** * Test for instanceof operator applied to a class javax.script.SimpleBindings */ @SuppressWarnings("cast") From jvanek at redhat.com Fri Feb 28 03:04:18 2014 From: jvanek at redhat.com (Jiri Vanek) Date: Fri, 28 Feb 2014 12:04:18 +0100 Subject: [rfc][icedtea-web] Unsigned applet security dialog abstraction In-Reply-To: <530FA52F.6090204@redhat.com> References: <530FA52F.6090204@redhat.com> Message-ID: <53106D32.4080707@redhat.com> On 02/27/2014 09:50 PM, Andrew Azores wrote: > Hi, > > Three patches here. One is just unit tests. The other two need to be applied together to be > buildable, but are split because one is actually the real work patch, and the other is a lot of > noisy renaming. > > The goal is to make the Unsigned Applet warning dialog, which is really quite nice, into an abstract > class, so that new dialogs can be created for similar purposes, but with different information > displayed. Namely, a new Partially Signed dialog, making use of the same layout and logic, as well > as the same "remember decision" store, etc. > > "abstractions.patch" actually does this work of pulling most of the dialog out into an abstract > parent class, and making the existing class into a subclass of this one in such a way that the > look/feel and functionality are all preserved. "renames.patch" just renames a lot of classes that > are related to this dialog, and whose names are no longer very accurate after the abstraction is > done. "abstractions.patch" does contain some such renaming, however, it is much more limited. > "tests.patch" adds unit tests intended to be able to test any such subclasses, although each new > subclass needs to be manually added to the test case setup. > > This is in preparation for a "new-dialog.patch" which will introduce a new Partially Signed Dialog, > to replace the existing Not All Signed Dialog, using the abstract parent class pulled out of the > Unsigned Applet Dialog. > > ChangeLog: > UnsignedAppletTrustWarningPanel logic moved into new abstract parent class > AppTrustWarningPanel for reusability. > * netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java: new class > * netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: new class > * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: major refactor into > subclass of AppTrustWarningPanel > * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (UnsignedWarningAction) references > changed to AppSigningWarningAction > * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: same > * tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java: new tests for > AppTrustWarningPanel > * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteUnsignedApplet.java: renamed, > changed all references > * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteAppletAction.java: > (ExecuteUnsignedApplet) renamed to this > * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletActionTableModel.java: (ExecuteAppletAction) > changed references > * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java: > (ExecuteAppletAction) changed references > * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionEntry.java: > (ExecuteAppletAction) changed references > * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: > (ExecuteAppletAction) changed references > * > netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageExtendedImpl.java: > (ExecuteAppletAction) changed references > * > netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java: > (ExecuteAppletAction) changed references > > > Thanks, > hi! Really than you for splitting the patch to refactroing and actual work. It really makes review thousand times easier. Also thank you to extracting it from original patch, yes, those are really two different things. Thank you for helping reviewer to help :) Just note - when refracting patch is posted, its better to use --git format, it strip the patch of content of moved classes. The renaming patch is ok to go, unless you wont to rename it to general ExecuteAction (see bottom of email) Code itself looks good. Only nit: + } catch (Exception e) { + e.printStackTrace(); + throw e; + } Whats that? print and rethrow:-) why? only one of it should be enough or not. Anyway, print stack trace is forbidden. Use ServerAccess.log* rather. One general comment to idea itself. I was thinking about reusing this dialogue for http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#app_library (And maybe some more ) but it forces few more generalizations: - it should depend on jnlpfile, not on plugin bridge. (But this should not prevent the dialogue from some cations if it is instance of plugin bridge)\ - it should use also title of application - the help have to be adapted (maybe some acces to disable/enable some controls or similar..) From the quick glance those should be not hard to achieve. Do you wont to include it in this refactoring, or later? Eg when I will use this. Probably something now, something later on demand... Also in sound of those refactoings, I'm thinking if it is correct to use ExtendedAppletsSecurity table as it is now. - you wont to reuse it for partially signed yes applets yes? - I wont to use it for Application-Library-Allowable-Codebase - currently it is used for unsigned applet wont to run Your usecase is probably ok, and with some compromising it can reuse current table. But definitely not the my one:( So I was thinking about extending the format for some flag "purpose" (rather then to have new table) eg: from current resolution timestamp url-regex jars: y 1393582488549 \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar to y ACACA 1393582488549 \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar or y UNSIGNED 1393582488549 \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar or y PARTIALLY 1393582488549 \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar so: resolution purpose timestamp url-regex jars or similar, What do you think? J. From david.holmes at oracle.com Fri Feb 28 03:13:14 2014 From: david.holmes at oracle.com (David Holmes) Date: Fri, 28 Feb 2014 21:13:14 +1000 Subject: JDK-8036003: Add variable not to separate debug information. In-Reply-To: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> References: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> Message-ID: <53106F4A.8030905@oracle.com> Hi, As I put in the bug report this seems way too complicated. Seems to me all you need to do to get what you want is not use FDS and not strip the symbols from the binary. The former is trivial. The latter is more awkward as the strip policy stuff does not work as I would want it to work, but still doable. David On 28/02/2014 7:18 PM, Yasumasa Suenaga wrote: > Hi all, > > > Currently, configure script can accept --disable-debug-symbols and > --disable-zip-debug-info as controlling to generate debug information. > However, current makefiles cannot build ELF binaries which is contained > debug information with "images" target. > > Some Linux distros use RPM as package manager. > RPM is built by rpmbuild command, it strips symbols and debug information > during to generate rpm packages. > https://fedoraproject.org/wiki/Packaging:Debuginfo > > For example, OpenJDK8 in Fedora20 ships libjvm.so and libjvm.debuginfo . > libjvm.debuginfo is generated in OpenJDK's makefiles, however it does not > contain debug information. Actual debug information is shipped by OpenJDK > debuginfo package. > This packaging is important when we have to debug JVM/JNI libraries. > If we want to use debugging tools (GDB, SystemTap, etc...), they may requires > debuginfo package. Debuggee (e.g. libjvm.so) points libjvm.so.debug which is > located at sub directory in /usr/lib/debug . It is defined in ELF section > (.note.gnu.build-id) of libjvm.so . However libjvm.so.debug does not contain > valid debug information. We need to access libjvm.debuginfo.debug at same location. > > > When we think to build OpenJDK rpm packages, we have to build ELF binaries > which contain all debug information. we should not to separate debug information. > > > Thus I want to add a variable "SEPARATED_DEBUGINFO_FILES" . > If we pass "SEPARATED_DEBUGINFO_FILES=false" to make command, "make" does not > execute objcopy command for generating debuginfo binaries. > > If we build rpm packages, we also have to add "STRIP_POLICY=no_strip" to arguments > of make command. Or ELF binaries will be stripped. > > > I've uploaded webrev for this enhancement. > This is separated 3-part: top of forest, hotspot, jdk > http://cr.openjdk.java.net/~ysuenaga/JDK-8036003/ > > Please review it and sponsoring! > > > Thanks, > > Yasumasa > > > P.S. > I tried to add SEPARATED_DEBUGINFO_FILES as a configure option like > "--disable-separated-debug-info" . > I ran configure which is located at jdk9/dev directory after I ran autoconf > and common/autoconf/autogen.sh. However it failed. > > I guess this is caused by changeset as below. > JDK-8035495: Improvements in autoconf integration > http://hg.openjdk.java.net/jdk9/dev/rev/6e29cd9ac2b4 > > This changes add "CHECKME" option to configure script. However, this changes > affects "configure" only. It should change "configure.ac" . > From daniel.daugherty at oracle.com Fri Feb 28 06:04:34 2014 From: daniel.daugherty at oracle.com (Daniel D. Daugherty) Date: Fri, 28 Feb 2014 07:04:34 -0700 Subject: JDK-8036003: Add variable not to separate debug information. In-Reply-To: <53106F4A.8030905@oracle.com> References: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> <53106F4A.8030905@oracle.com> Message-ID: <53109772.9070808@oracle.com> The proper way to fix this is to disable FDS. We should not need yet another option to control debug info. Dan On 2/28/14 4:13 AM, David Holmes wrote: > Hi, > > As I put in the bug report this seems way too complicated. Seems to me > all you need to do to get what you want is not use FDS and not strip the > symbols from the binary. The former is trivial. The latter is more > awkward as the strip policy stuff does not work as I would want it to > work, but still doable. > > David > > On 28/02/2014 7:18 PM, Yasumasa Suenaga wrote: >> Hi all, >> >> >> Currently, configure script can accept --disable-debug-symbols and >> --disable-zip-debug-info as controlling to generate debug information. >> However, current makefiles cannot build ELF binaries which is contained >> debug information with "images" target. >> >> Some Linux distros use RPM as package manager. >> RPM is built by rpmbuild command, it strips symbols and debug information >> during to generate rpm packages. >> https://fedoraproject.org/wiki/Packaging:Debuginfo >> >> For example, OpenJDK8 in Fedora20 ships libjvm.so and libjvm.debuginfo . >> libjvm.debuginfo is generated in OpenJDK's makefiles, however it does not >> contain debug information. Actual debug information is shipped by OpenJDK >> debuginfo package. >> This packaging is important when we have to debug JVM/JNI libraries. >> If we want to use debugging tools (GDB, SystemTap, etc...), they may requires >> debuginfo package. Debuggee (e.g. libjvm.so) points libjvm.so.debug which is >> located at sub directory in /usr/lib/debug . It is defined in ELF section >> (.note.gnu.build-id) of libjvm.so . However libjvm.so.debug does not contain >> valid debug information. We need to access libjvm.debuginfo.debug at same location. >> >> >> When we think to build OpenJDK rpm packages, we have to build ELF binaries >> which contain all debug information. we should not to separate debug information. >> >> >> Thus I want to add a variable "SEPARATED_DEBUGINFO_FILES" . >> If we pass "SEPARATED_DEBUGINFO_FILES=false" to make command, "make" does not >> execute objcopy command for generating debuginfo binaries. >> >> If we build rpm packages, we also have to add "STRIP_POLICY=no_strip" to arguments >> of make command. Or ELF binaries will be stripped. >> >> >> I've uploaded webrev for this enhancement. >> This is separated 3-part: top of forest, hotspot, jdk >> http://cr.openjdk.java.net/~ysuenaga/JDK-8036003/ >> >> Please review it and sponsoring! >> >> >> Thanks, >> >> Yasumasa >> >> >> P.S. >> I tried to add SEPARATED_DEBUGINFO_FILES as a configure option like >> "--disable-separated-debug-info" . >> I ran configure which is located at jdk9/dev directory after I ran autoconf >> and common/autoconf/autogen.sh. However it failed. >> >> I guess this is caused by changeset as below. >> JDK-8035495: Improvements in autoconf integration >> http://hg.openjdk.java.net/jdk9/dev/rev/6e29cd9ac2b4 >> >> This changes add "CHECKME" option to configure script. However, this changes >> affects "configure" only. It should change "configure.ac" . >> From aazores at redhat.com Fri Feb 28 07:15:21 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 28 Feb 2014 10:15:21 -0500 Subject: [rfc][icedtea-web] Unsigned applet security dialog abstraction In-Reply-To: <53106D32.4080707@redhat.com> References: <530FA52F.6090204@redhat.com> <53106D32.4080707@redhat.com> Message-ID: <5310A809.1010502@redhat.com> On 02/28/2014 06:04 AM, Jiri Vanek wrote: > > The renaming patch is ok to go, unless you wont to rename it to > general ExecuteAction (see bottom of email) > > Code itself looks good. Only nit: > > + } catch (Exception e) { > + e.printStackTrace(); > + throw e; > + } > > Whats that? print and rethrow:-) why? only one of it should be enough > or not. Anyway, print stack trace is forbidden. Use ServerAccess.log* > rather. This is in the tests, right? That's the only place I can find a match in the patches. Anyway - not sure what I was doing here, honestly. The exception doesn't even need to be caught and printed, does it? It's a JUnit @BeforeClass method, so if it throws an exception, will this be logged anyway? New tests attached, but the only difference is the try/catch there has been removed altogether. > > One general comment to idea itself. I was thinking about reusing this > dialogue for > http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/manifest.html#app_library > (And maybe some more ) but it forces few more generalizations: > - it should depend on jnlpfile, not on plugin bridge. (But this > should not prevent the dialogue from some cations if it is instance of > plugin bridge)\ I already reduced most of the dependency on PluginBridge over JNLPFile, but I think with the new abstraction patch I've removed it entirely. > - it should use also title of application > - the help have to be adapted > (maybe some acces to disable/enable some controls or similar..) > > From the quick glance those should be not hard to achieve. Do you wont > to include it in this refactoring, or later? Eg when I will use this. > Probably something now, something later on demand... These are both probably worthy but as a separate changeset, especially making the controls generally enable/disable-able. > > Also in sound of those refactoings, I'm thinking if it is correct to > use ExtendedAppletsSecurity table as it is now. > - you wont to reuse it for partially signed yes applets yes? Yes. It already works just fine as far as I've been able to tell in my testing. I suppose there might be a conflict if somehow one applet goes from being partially signed to unsigned or vice-versa, while it already has a remembered entry in the table... I hadn't even thought of that case before. It just seems to me that normally there shouldn't be any collision having them together in the same table. But your solution below helps with this anyway. > - I wont to use it for Application-Library-Allowable-Codebase > - currently it is used for unsigned applet wont to run > > Your usecase is probably ok, and with some compromising it can reuse > current table. But definitely not the my one:( Yours definitely requires extra work to be done ;) > > So I was thinking about extending the format for some flag "purpose" > (rather then to have new table) > eg: > from current resolution timestamp url-regex jars: > y 1393582488549 \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E > \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar > to > y ACACA 1393582488549 > \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E > \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar > or > y UNSIGNED 1393582488549 > \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E > \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar > or > y PARTIALLY 1393582488549 > \Qhttp://www.walter-fendt.de/ph14e/forceresol.htm\E > \Qhttp://www.walter-fendt.de/ph14_jar/\E Ph14English.jar,ZerlKraft.jar > > so: > resolution purpose timestamp url-regex jars > or similar, > > > What do you think? > > > > > > J. This sounds okay, I suppose. It should come with some pretty heaving renaming of the action storage classes though, because their names are really getting inaccurate with this kind of change. I would like to reuse the table if possible rather than create new one(s), and this seems like a reasonable way to do it I think? There will need to be some "migration" done to the table as well, but older tables that don't have this field should just have it filled in with UNSIGNED, so it shouldn't be too hard to work out. "tests2" has the try/catch removed, "abstraction_pluginbridge_deps" just changes a few occurrences of PluginBridge to JNLPFile, and "renames" hasn't been changed but is included for convenience. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: abstraction_pluginbridge_deps.patch Type: text/x-patch Size: 31696 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/b8cf97f7/abstraction_pluginbridge_deps-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: renames.patch Type: text/x-patch Size: 28643 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/b8cf97f7/renames-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: tests2.patch Type: text/x-patch Size: 5891 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/b8cf97f7/tests2-0001.patch From emailgrant at gmail.com Fri Feb 28 07:33:45 2014 From: emailgrant at gmail.com (Grant) Date: Fri, 28 Feb 2014 07:33:45 -0800 Subject: building icedtea-7 on ARM In-Reply-To: References: <1241533863.7170362.1392994965027.JavaMail.zimbra@redhat.com> <1221527868.7353353.1393018267203.JavaMail.zimbra@redhat.com> <2014632566.7363280.1393020299728.JavaMail.zimbra@redhat.com> <1816561120.8183412.1393257720538.JavaMail.zimbra@redhat.com> Message-ID: >>> >>> Should the PAX issue be fixed in HEAD? >>> >>> >>> >>> - Grant >>> >>> >>> >> >>> >> Should be now if you update. >>> > >>> > >>> > I get the following: >>> >>> I just noticed the icedtea-7.9999.ebuild has been updated so I'm >>> trying that now. I get the following error from the ebuild: >>> >>> !!! A file is not listed in the Manifest: >>> '/var/lib/layman/java/dev-java/icedtea/files/openjdk6-prefer_source.patch' >>> >>> But the fix is easy: >>> >>> # ebuild icedtea-7.9999.ebuild manifest >>> >> >> There's no such file... > > > You're right, sorry. I deleted and re-added the java overlay and > tried again but it fails with: Is this compiling for anyone else on ARM? Any idea on my error? [javac] Exception in thread "main" java.lang.NoSuchMethodError: java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; - Grant > [echo] +---------------------------------------+ > [echo] + Starting ant project jaxws + > [echo] +---------------------------------------+ > > -javac-jar-exists: > > sanity: > [echo] Sanity Settings: > [echo] ant.home=/usr/share/ant-core > [echo] ant.version=Apache Ant(TM) version 1.9.1 compiled on > February 20 2014 > [echo] ant.java.version=1.6 > [echo] java.home=/usr/lib/icedtea6/jre > [echo] java.version=1.6.0_29 > [echo] os.name=Linux > [echo] os.arch=arm > [echo] os.version=3.13.3-gentoo > [echo] bootstrap.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap > [echo] javac.jar=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/bootstrap/lib/javac.jar > [echo] langtools.jar=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/langtools/dist/lib/classes.jar > [echo] javac.memoryInitialSize=256m > [echo] javac.memoryMaximumSize=512m > [echo] javac.source=7 > [echo] javac.debug=true > [echo] javac.target=7 > [echo] javac.version.opt= > [echo] javac.lint.opts= > [echo] javac.no.jdk.warnings=-XDignore.symbol.file=true > [echo] output.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws > [echo] build.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build > [echo] dist.dir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist > [echo] jdk.topdir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jdk > [echo] jdk.gensrcdir=/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/generated.build > [echo] > > init: > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist > [mkdir] Created dir: > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/dist/lib > > compile: > [javac] Compiling 2749 source files to > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk.build-boot/jaxws/build/classes > [javac] Exception in thread "main" java.lang.NoSuchMethodError: > java.util.Locale.getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale; > [javac] at java.text.MessageFormat.(MessageFormat.java:362) > [javac] at java.text.MessageFormat.format(MessageFormat.java:835) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:200) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:141) > [javac] at > com.sun.tools.javac.util.JavacMessages.getLocalizedString(JavacMessages.java:135) > [javac] at > com.sun.tools.javac.main.Main.getLocalizedString(Main.java:585) > [javac] at com.sun.tools.javac.main.Main.bugMessage(Main.java:503) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:484) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:353) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:342) > [javac] at com.sun.tools.javac.main.Main.compile(Main.java:333) > [javac] at com.sun.tools.javac.Main.compile(Main.java:76) > [javac] at com.sun.tools.javac.Main.main(Main.java:61) > > BUILD FAILED > /var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jaxws/build.xml:155: > Compile failed; see the compiler error output for details. > > Total time: 9 minutes 2 seconds > make[4]: *** [all] Error 1 > make[4]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot/jaxws/make' > make[3]: *** [jaxws-build] Error 2 > make[3]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' > make[2]: *** [build_product_image] Error 2 > make[2]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' > make[1]: *** [jdk_only] Error 2 > make[1]: Leaving directory > `/var/tmp/portage/dev-java/icedtea-7.9999/work/icedtea-9999/openjdk-boot' > make: *** [stamps/icedtea-boot.stamp] Error 2 > > - Grant From yasu at ysfactory.dip.jp Fri Feb 28 07:38:24 2014 From: yasu at ysfactory.dip.jp (Yasumasa Suenaga) Date: Sat, 01 Mar 2014 00:38:24 +0900 Subject: JDK-8036003: Add variable not to separate debug information. In-Reply-To: <53109772.9070808@oracle.com> References: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> <53106F4A.8030905@oracle.com> <53109772.9070808@oracle.com> Message-ID: <5310AD70.2070908@ysfactory.dip.jp> > The proper way to fix this is to disable FDS. Does this mean I have to pass --disable-debug-symbols to configure ? I've added comment to JDK-8036003, I think if we pass --disable-debug-symbols to configure, gcc/g++ is not passed -g option. "-g" is needed to generate debuginfo. Thanks, Yasumasa On 2014/02/28 23:04, Daniel D. Daugherty wrote: > The proper way to fix this is to disable FDS. We should not need > yet another option to control debug info. > > Dan > > > On 2/28/14 4:13 AM, David Holmes wrote: >> Hi, >> >> As I put in the bug report this seems way too complicated. Seems to me >> all you need to do to get what you want is not use FDS and not strip the >> symbols from the binary. The former is trivial. The latter is more >> awkward as the strip policy stuff does not work as I would want it to >> work, but still doable. >> >> David >> >> On 28/02/2014 7:18 PM, Yasumasa Suenaga wrote: >>> Hi all, >>> >>> >>> Currently, configure script can accept --disable-debug-symbols and >>> --disable-zip-debug-info as controlling to generate debug information. >>> However, current makefiles cannot build ELF binaries which is contained >>> debug information with "images" target. >>> >>> Some Linux distros use RPM as package manager. >>> RPM is built by rpmbuild command, it strips symbols and debug information >>> during to generate rpm packages. >>> https://fedoraproject.org/wiki/Packaging:Debuginfo >>> >>> For example, OpenJDK8 in Fedora20 ships libjvm.so and libjvm.debuginfo . >>> libjvm.debuginfo is generated in OpenJDK's makefiles, however it does not >>> contain debug information. Actual debug information is shipped by OpenJDK >>> debuginfo package. >>> This packaging is important when we have to debug JVM/JNI libraries. >>> If we want to use debugging tools (GDB, SystemTap, etc...), they may requires >>> debuginfo package. Debuggee (e.g. libjvm.so) points libjvm.so.debug which is >>> located at sub directory in /usr/lib/debug . It is defined in ELF section >>> (.note.gnu.build-id) of libjvm.so . However libjvm.so.debug does not contain >>> valid debug information. We need to access libjvm.debuginfo.debug at same location. >>> >>> >>> When we think to build OpenJDK rpm packages, we have to build ELF binaries >>> which contain all debug information. we should not to separate debug information. >>> >>> >>> Thus I want to add a variable "SEPARATED_DEBUGINFO_FILES" . >>> If we pass "SEPARATED_DEBUGINFO_FILES=false" to make command, "make" does not >>> execute objcopy command for generating debuginfo binaries. >>> >>> If we build rpm packages, we also have to add "STRIP_POLICY=no_strip" to arguments >>> of make command. Or ELF binaries will be stripped. >>> >>> >>> I've uploaded webrev for this enhancement. >>> This is separated 3-part: top of forest, hotspot, jdk >>> http://cr.openjdk.java.net/~ysuenaga/JDK-8036003/ >>> >>> Please review it and sponsoring! >>> >>> >>> Thanks, >>> >>> Yasumasa >>> >>> >>> P.S. >>> I tried to add SEPARATED_DEBUGINFO_FILES as a configure option like >>> "--disable-separated-debug-info" . >>> I ran configure which is located at jdk9/dev directory after I ran autoconf >>> and common/autoconf/autogen.sh. However it failed. >>> >>> I guess this is caused by changeset as below. >>> JDK-8035495: Improvements in autoconf integration >>> http://hg.openjdk.java.net/jdk9/dev/rev/6e29cd9ac2b4 >>> >>> This changes add "CHECKME" option to configure script. However, this changes >>> affects "configure" only. It should change "configure.ac" . >>> > From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 10:20:08 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 18:20:08 +0000 Subject: [Bug 1680] Applet is not released memory till browser not closed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1680 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Component|NetX (javaws) |Plugin Assignee|omajid at redhat.com |dbhole 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/20140228/29bef328/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 10:21:21 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 18:21:21 +0000 Subject: [Bug 1678] Could not read or parse the JNLP file In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1678 Omair Majid changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|omajid at redhat.com |jvanek 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/20140228/c7ee5c8c/attachment.html From omajid at redhat.com Fri Feb 28 10:38:31 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 28 Feb 2014 13:38:31 -0500 Subject: [icedtea-web] RFC: PR1676: Add useLegacyMergeSort to JNLP properties Message-ID: <20140228183830.GD1965@redhat.com> Hi, The attached patch is a one-line fix for PR1676 [1]. It adds java.util.Arrays.useLegacyMergeSort to the list of secure properties that all applications can read or write to. This property is used for application compatibility with Java 6. Any comments or suggestions? Thanks, Omair [1] http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1676 -- 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,9 @@ +2014-02-28 Omair Majid + + PR1676 + * netx/net/sourceforge/jnlp/SecurityDesc.java: Add permission to + read/write useLegacyMergeSort. + 2014-02-27 Andrew Azores * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed diff --git a/netx/net/sourceforge/jnlp/SecurityDesc.java b/netx/net/sourceforge/jnlp/SecurityDesc.java --- a/netx/net/sourceforge/jnlp/SecurityDesc.java +++ b/netx/net/sourceforge/jnlp/SecurityDesc.java @@ -88,6 +88,7 @@ private static Permission sandboxPermissions[] = { new SocketPermission("localhost:1024-", "listen"), // new SocketPermission("", "connect, accept"), // added by code + new PropertyPermission("java.util.Arrays.useLegacyMergeSort", "read,write"); new PropertyPermission("java.version", "read"), new PropertyPermission("java.vendor", "read"), new PropertyPermission("java.vendor.url", "read"), From aazores at redhat.com Fri Feb 28 11:25:58 2014 From: aazores at redhat.com (Andrew Azores) Date: Fri, 28 Feb 2014 14:25:58 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <20140226180224.GG2100@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> <530E203A.7030004@redhat.com> <20140226180224.GG2100@redhat.com> Message-ID: <5310E2C6.10907@redhat.com> On 02/26/2014 01:02 PM, Omair Majid wrote: > JCV was designed in a layered approach (JNLPClassLoader calls JCV and > not the other way aroun) so we would be able to unit test it completely > and sanely without having to instantiate JNLPClassLoader. This change > breaks that :( > > Thanks, > Omair > > > The JNLPClassLoader class is hairy enough and this is making it more > complex. Would it be possible to extract all the > security-decision-making code into a new class that JNLPClassLoader can > delegate to, instead? > > I mean it is probably okay to have conditionals based on > getRunInSandbox() this time, but one more conditional like this and the > code will be next to impossible to maintain. SecurityDelegate (interface) and SecurityDelegateImpl handle this now. I kept them both inside JNLPClassLoader because they don't really make any sense outside of that context. I specifically made the interface so that for testing other components, eg the JCV, a "faked" implementation could be made that doesn't actually require a JNLPClassLoader instance, which SecurityDialogImpl does. I would've liked to add tests for SecurityDialogImpl, but the logic it encapsulates was not really separately testable before being extracted, and now that it has been extracted and can be tested, it requires a JNLPClassLoader mock object first :/ I've run all reproducers with and without the delegate though and the results looked the same, and also did some manual testing, and it seems to work fine. > I would create a method named `isUserAlreadyPrompted()` and use that > instead of `loader.getRunInSandbox()` > > All in all, I am quite happy how this patch is not very invasive, given > that it touches one of the more sensitive classes in the codebase. > > Thanks, > Omair I added this to SecurityDelegate too. These patches only really differ from the previous ones by SecurityDelegate. I'm not even sure 'delegate' is quite the right term for what this is - close enough? It doesn't really simplify any of the security decision logic, but it at least consolidates it into one place. There are probably other things that can be moved into the SecurityDelegate, but for now I've just moved stuff that I've personally worked on, in particular the Run In Sandbox stuff, of course. Thanks, -- Andrew A -------------- next part -------------- A non-text attachment was scrubbed... Name: dialog_with_delegate.patch Type: text/x-patch Size: 13340 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/c3ed72b5/dialog_with_delegate-0001.patch -------------- next part -------------- A non-text attachment was scrubbed... Name: implementation_with_delegate.patch Type: text/x-patch Size: 19764 bytes Desc: not available Url : http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140228/c3ed72b5/implementation_with_delegate-0001.patch From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 11:40:14 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 19:40:14 +0000 Subject: [Bug 1687] Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1687 --- Comment #1 from Andrew Azores --- Can't reproduce with the WebEx test meeting, using 1.4.2 and Fedora 19 x86_64 with Firefox 27. Does the test meeting work for you, Harish? ie is the failure only occurring in "real" meetings, somehow? -- 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/20140228/3e159f20/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 11:51:53 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 19:51:53 +0000 Subject: [Bug 1687] Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1687 --- Comment #2 from Andrew Azores --- Nevermind, someone else running Fedora 20 here was able to confirm the failure using the test meeting. Looking into this. -- 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/20140228/473b6271/attachment.html From omajid at redhat.com Fri Feb 28 12:53:24 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 28 Feb 2014 15:53:24 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <5310E2C6.10907@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> <530E203A.7030004@redhat.com> <20140226180224.GG2100@redhat.com> <5310E2C6.10907@redhat.com> Message-ID: <20140228205324.GE1965@redhat.com> * Andrew Azores [2014-02-28 14:25]: > These patches only really differ from the previous ones by > SecurityDelegate. I'm not even sure 'delegate' is quite the right > term for what this is - close enough? It doesn't really simplify any > of the security decision logic, but it at least consolidates it into > one place. There are probably other things that can be moved into > the SecurityDelegate, but for now I've just moved stuff that I've > personally worked on, in particular the Run In Sandbox stuff, of > course. You are right, it's not really buying us much. But I think it's a step in the right direction. A request for future patches: please dont mix refactoring (like extracting a SecurityDelegate class) with actual changes. If there are regressions, mixing both in one patch will make things harder to identify and fix. Thanks, Omair -- PGP Key: 66484681 (http://pgp.mit.edu/) Fingerprint = F072 555B 0A17 3957 4E95 0056 F286 F14F 6648 4681 From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 12:59:43 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 20:59:43 +0000 Subject: [Bug 1680] Applet is not released memory till browser not closed In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1680 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/20140228/d526c7d2/attachment.html From omajid at redhat.com Fri Feb 28 13:19:37 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 28 Feb 2014 16:19:37 -0500 Subject: [rfc][icedtea-web] (PR1264) Run in Sandbox button In-Reply-To: <20140228205324.GE1965@redhat.com> References: <52D06D1F.7070301@redhat.com> <52D5AB8F.7030503@redhat.com> <52E6B9B8.7040402@redhat.com> <52F8FD75.6070705@redhat.com> <530DFEC0.9080506@redhat.com> <530E02BE.8030706@redhat.com> <530E203A.7030004@redhat.com> <20140226180224.GG2100@redhat.com> <5310E2C6.10907@redhat.com> <20140228205324.GE1965@redhat.com> Message-ID: <20140228211937.GF1965@redhat.com> * Omair Majid [2014-02-28 15:55]: > You are right, it's not really buying us much. But I think it's a step > in the right direction. Forgot an important bit: Please go ahead and push :) Thanks, Omair -- 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 Feb 28 13:46:05 2014 From: aazores at icedtea.classpath.org (aazores at icedtea.classpath.org) Date: Fri, 28 Feb 2014 21:46:05 +0000 Subject: /hg/icedtea-web: 2 new changesets Message-ID: changeset 2bb356915cc1 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=2bb356915cc1 author: Andrew Azores date: Fri Feb 28 16:33:48 2014 -0500 Introduce SecurityDelegate * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (SecurityDelegate, SecurityDelegateImpl) new interface and implementation. (initializeResources, setSecurity, activateJars, addNewJar) refactored to use SecurityDelegate changeset ededca6b0659 in /hg/icedtea-web details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=ededca6b0659 author: Andrew Azores date: Fri Feb 28 16:45:24 2014 -0500 Add Run In Sandbox button 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, CertWarnRunTip, CertWarnSandboxTip, CertWarnCancelTip): new messages * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (createInstance) added check to not display unsigned warning dialog if the cert warning dialog has been presented and the applet is sandboxed. (checkTrustWithUser) updated for Run In Sandbox functionality. (setRunInSandbox, userPromptedForSandbox) new functions * netx/net/sourceforge/jnlp/security/AppVerifier.java: (checkTrustWithUser) added SecurityDelegate 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 SecurityDelegate param * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: (testGetIntegerResponseAsAppletAction) new tests for converting Object references into AppletActions diffstat: ChangeLog | 39 + netx/net/sourceforge/jnlp/resources/Messages.properties | 7 + netx/net/sourceforge/jnlp/runtime/Boot.java | 3 + netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java | 301 ++++++--- netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java | 11 + netx/net/sourceforge/jnlp/security/AppVerifier.java | 3 +- netx/net/sourceforge/jnlp/security/CertWarningPane.java | 41 +- netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java | 11 +- netx/net/sourceforge/jnlp/security/PluginAppVerifier.java | 11 +- netx/net/sourceforge/jnlp/security/SecurityDialogs.java | 35 +- netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java | 4 +- netx/net/sourceforge/jnlp/tools/JarCertVerifier.java | 8 +- tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java | 33 + tests/reproducers/signed/RunInSandbox/resources/RunInSandbox.html | 48 + tests/reproducers/signed/RunInSandbox/resources/RunInSandboxApplet.jnlp | 58 + tests/reproducers/signed/RunInSandbox/resources/RunInSandboxApplication.jnlp | 58 + tests/reproducers/signed/RunInSandbox/resources/RunInSandboxJnlpHref.html | 45 + tests/reproducers/signed/RunInSandbox/srcs/RunInSandbox.java | 23 + tests/reproducers/signed/RunInSandbox/testcases/RunInSandboxTest.java | 95 +++ 19 files changed, 713 insertions(+), 121 deletions(-) diffs (truncated from 1196 to 500 lines): diff -r 1fb5b82415ce -r ededca6b0659 ChangeLog --- a/ChangeLog Thu Feb 27 14:35:41 2014 -0500 +++ b/ChangeLog Fri Feb 28 16:45:24 2014 -0500 @@ -1,3 +1,42 @@ +2014-02-28 Andrew Azores + + 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, CertWarnRunTip, + CertWarnSandboxTip, CertWarnCancelTip): new messages + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (createInstance) + added check to not display unsigned warning dialog if the cert warning + dialog has been presented and the applet is sandboxed. + (checkTrustWithUser) updated for Run In Sandbox functionality. + (setRunInSandbox, userPromptedForSandbox) new functions + * netx/net/sourceforge/jnlp/security/AppVerifier.java: + (checkTrustWithUser) added SecurityDelegate 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 SecurityDelegate param + * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: + (testGetIntegerResponseAsAppletAction) new tests for converting Object + references into AppletActions + +2014-02-28 Andrew Azores + + * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: + (SecurityDelegate, SecurityDelegateImpl) new interface and implementation. + Includes logic for Run In Sandbox, which is not yet used + (initializeResources, setSecurity, activateJars, addNewJar) refactored to + use SecurityDelegate + 2014-02-27 Andrew Azores * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: treat signed diff -r 1fb5b82415ce -r ededca6b0659 netx/net/sourceforge/jnlp/resources/Messages.properties --- a/netx/net/sourceforge/jnlp/resources/Messages.properties Thu Feb 27 14:35:41 2014 -0500 +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Feb 28 16:45:24 2014 -0500 @@ -12,11 +12,16 @@ ButOk=OK ButProceed=Proceed ButRun=Run +ButSandbox=Sandbox ButApply=Apply ButDone=Done ButShowDetails=Show Details ButHideDetails=Hide Details +CertWarnRunTip=Trust this applet and run with full permissions +CertWarnSandboxTip=Do not trust this applet and run with restricted permissions +CertWarnCancelTip=Do not run this applet + AFileOnTheMachine=a file on the machine AlwaysAllowAction=Always allow this action Usage=Usage: @@ -93,6 +98,8 @@ LUnsignedAppletUserDenied=The applet was unsigned, and was not trusted. LSignedAppJarUsingUnsignedJar=Signed application using unsigned jars. LSignedAppJarUsingUnsignedJarInfo=The main application jar is signed, but some of the jars it is using aren't. +LRunInSandboxError=Run in Sandbox call performed too late. +LRunInSandboxErrorInfo=The classloader was notified to run the applet sandboxed, but security settings were already initialized. LSignedJNLPFileDidNotMatch=The signed JNLP file did not match the launching JNLP file. LNoSecInstance=Error: No security instance for {0}. The application may have trouble continuing LCertFoundIn={0} found in cacerts ({1}) diff -r 1fb5b82415ce -r ededca6b0659 netx/net/sourceforge/jnlp/runtime/Boot.java --- a/netx/net/sourceforge/jnlp/runtime/Boot.java Thu Feb 27 14:35:41 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java Fri Feb 28 16:45:24 2014 -0500 @@ -184,6 +184,9 @@ if (null != getOption("-Xtrustall")) { JNLPRuntime.setTrustAll(true); } + if (null != getOption("-Xtrustnone")) { + JNLPRuntime.setTrustNone(true); + } if (null != getOption("-Xignoreheaders")) { JNLPRuntime.setIgnoreHeaders(true); } diff -r 1fb5b82415ce -r ededca6b0659 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Thu Feb 27 14:35:41 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Feb 28 16:45:24 2014 -0500 @@ -224,6 +224,8 @@ private boolean enableCodeBase = false; + private final SecurityDelegate securityDelegate; + /** * Create a new JNLPClassLoader from the specified file. * @@ -272,6 +274,8 @@ addToCodeBaseLoader(this.file.getCodeBase()); } + this.securityDelegate = new SecurityDelegateImpl(this); + // initialize extensions initializeExtensions(); @@ -309,52 +313,8 @@ } private void setSecurity() throws LaunchException { - URL codebase = guessCodeBase(); - - /** - * When we're trying to load an applet, file.getSecurity() will return - * null since there is no jnlp file to specify permissions. We - * determine security settings here, after trying to verify jars. - */ - if (file instanceof PluginBridge) { - if (getSigning()) { - this.security = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - codebase.getHost()); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebase.getHost()); - } - } else { //regular jnlp file - - /* - * Various combinations of the jars being signed and tags being - * present are possible. They are treated as follows - * - * Jars JNLP File Result - * - * Signed Appropriate Permissions - * Signed no Sandbox - * Unsigned Error - * Unsigned no Sandbox - * - */ - if (!file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS) && !getSigning()) { - if (jcv.allJarsSigned()) { - throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LSignedJNLPAppDifferentCerts"), R("LSignedJNLPAppDifferentCertsInfo")); - } else { - throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); - } - } else if (getSigning()) { - this.security = file.getSecurity(); - } else { - this.security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebase.getHost()); - } - } + this.security = securityDelegate.getClassLoaderSecurity(codebase.getHost()); } /** @@ -394,8 +354,12 @@ // 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 - // causes unwanted side-effects for some applets - if (!loader.getSigning() && file instanceof PluginBridge) { + // causes unwanted side-effects for some applets. However, if the loader has been tagged + // with "runInSandbox", then we do not show this dialog - since this tag indicates that + // the user was already shown a CertWarning dialog and has chosen to run the applet sandboxed. + // This means they've already agreed to running the applet and have specified with which + // permission level to do it! + if (!loader.getSigning() && !loader.securityDelegate.userPromptedForSandbox() && file instanceof PluginBridge) { UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired((PluginBridge)file); } @@ -766,38 +730,20 @@ continue; // JAR not found. Keep going. } - SecurityDesc jarSecurity = file.getSecurity(); - - if (file instanceof PluginBridge) { - - URL codebase = null; - - if (file.getCodeBase() != null) { - codebase = file.getCodeBase(); - } else { - //Fixme: codebase should be the codebase of the Main Jar not - //the location. Although, it still works in the current state. - codebase = file.getResources().getMainJAR().getLocation(); - } - - try { - if (JarCertVerifier.isJarSigned(jarDesc, new PluginAppVerifier(), tracker)) { - containsSignedJar = true; - jarSecurity = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - codebase.getHost()); - } else { - containsUnsignedJar = true; - jarSecurity = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebase.getHost()); - } - } catch (Exception e) { - OutputController.getLogger().log(e); - jarSecurity = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebase.getHost()); - } + final URL codebase; + if (file.getCodeBase() != null) { + codebase = file.getCodeBase(); + } else { + // FIXME: codebase should be the codebase of the Main Jar not + // the location. Although, it still works in the current state. + codebase = file.getResources().getMainJAR().getLocation(); + } + + final SecurityDesc jarSecurity = securityDelegate.getCodebaseSecurityDesc(jarDesc, codebase.getHost()); + if (jarSecurity.getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) { + containsUnsignedJar = true; + } else { + containsSignedJar = true; } jarLocationSecurityMap.put(jarDesc.getLocation(), jarSecurity); @@ -1093,15 +1039,37 @@ * @throws LaunchException if the user does not approve every dialog prompt. */ private void checkTrustWithUser() throws LaunchException { - if (JNLPRuntime.isTrustAll()){ + if (JNLPRuntime.isTrustNone()) { + if (!securityDelegate.getRunInSandbox()) { + setRunInSandbox(); + } return; } + if (JNLPRuntime.isTrustAll() || securityDelegate.getRunInSandbox()) { + return; + } if (jcv.isFullySigned() && !jcv.getAlreadyTrustPublisher()) { - jcv.checkTrustWithUser(file); + jcv.checkTrustWithUser(securityDelegate, file); } } + /* + * Sets whether applets are to be run sandboxed, regardless of JAR + * signing. This MUST be called before any call to initializeResources, + * setSecurity, activateJars, or any other method that sets the value + * of this.security or adds entries into this.jarLocationSecurityMap. + * @throws LaunchException if security settings have been initialized before + * this method is called + */ + public void setRunInSandbox() throws LaunchException { + securityDelegate.setRunInSandbox(); + } + + public boolean userPromptedForSandbox() { + return securityDelegate.getRunInSandbox(); + } + /** * Display a dialog prompting the user to proceed on applets with mixed signing. * @param file the JNLPFile or PluginBridge describing the applet/application to be launched @@ -1326,17 +1294,7 @@ codebase = file.getResources().getMainJAR().getLocation(); } - SecurityDesc jarSecurity = null; - if (jcv.isFullySigned()) { - // Already trust application, nested jar should be given - jarSecurity = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - codebase.getHost()); - } else { - jarSecurity = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebase.getHost()); - } + final SecurityDesc jarSecurity = securityDelegate.getJarPermissions(codebase.getHost()); try { URL fileURL = new URL("file://" + extractedJarLocation); @@ -1659,16 +1617,7 @@ checkTrustWithUser(); - final SecurityDesc security; - if (jcv.isFullySigned()) { - security = new SecurityDesc(file, - SecurityDesc.ALL_PERMISSIONS, - file.getCodeBase().getHost()); - } else { - security = new SecurityDesc(file, - SecurityDesc.SANDBOX_PERMISSIONS, - file.getCodeBase().getHost()); - } + final SecurityDesc security = securityDelegate.getJarPermissions(file.getCodeBase().getHost()); jarLocationSecurityMap.put(remoteURL, security); @@ -2346,6 +2295,154 @@ } + /** + * SecurityDelegate, in real usage, relies on having a "parent" JNLPClassLoader instance. + * However, JNLPClassLoaders are very large, heavyweight, difficult-to-mock objects, which + * means that unit testing on anything that uses a SecurityDelegate can become very difficult. + * For example, JarCertVerifier is designed separated from the ClassLoader so it can be tested + * in isolation. However, JCV needs some sort of access back to JNLPClassLoader instances to + * be able to invoke setRunInSandbox(). The SecurityDelegate handles this, allowing JCV to be + * tested without instantiating JNLPClassLoaders, by creating a fake SecurityDelegate that does + * not require one. + */ + public static interface SecurityDelegate { + public boolean isPluginApplet(); + + public boolean userPromptedForSandbox(); + + public SecurityDesc getCodebaseSecurityDesc(final JARDesc jarDesc, final String codebaseHost); + + public SecurityDesc getClassLoaderSecurity(final String codebaseHost) throws LaunchException; + + public SecurityDesc getJarPermissions(final String codebaseHost); + + public void setRunInSandbox() throws LaunchException; + + public boolean getRunInSandbox(); + } + + /** + * Handles security decision logic for the JNLPClassLoader, eg which permission level to assign + * to JARs. + */ + public static class SecurityDelegateImpl implements SecurityDelegate { + private final JNLPClassLoader classLoader; + private boolean runInSandbox; + private boolean promptedForSandbox; + + public SecurityDelegateImpl(final JNLPClassLoader classLoader) { + this.classLoader = classLoader; + runInSandbox = false; + promptedForSandbox = false; + } + + public boolean isPluginApplet() { + return classLoader.file instanceof PluginBridge; + } + + public SecurityDesc getCodebaseSecurityDesc(final JARDesc jarDesc, final String codebaseHost) { + if (runInSandbox) { + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } else { + if (isPluginApplet()) { + try { + if (JarCertVerifier.isJarSigned(jarDesc, new PluginAppVerifier(), classLoader.tracker)) { + return new SecurityDesc(classLoader.file, + SecurityDesc.ALL_PERMISSIONS, + codebaseHost); + } else { + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } + } catch (final Exception e) { + OutputController.getLogger().log(e); + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } + } else { + return classLoader.file.getSecurity(); + } + } + } + + public SecurityDesc getClassLoaderSecurity(final String codebaseHost) throws LaunchException { + if (isPluginApplet()) { + if (!runInSandbox && classLoader.getSigning()) { + return new SecurityDesc(classLoader.file, + SecurityDesc.ALL_PERMISSIONS, + codebaseHost); + } else { + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } + } else { + /* + * Various combinations of the jars being signed and tags being + * present are possible. They are treated as follows + * + * Jars JNLP File Result + * + * Signed Appropriate Permissions + * Signed no Sandbox + * Unsigned Error + * Unsigned no Sandbox + * + */ + if (!runInSandbox && !classLoader.getSigning() + && !classLoader.file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) { + if (classLoader.jcv.allJarsSigned()) { + throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LSignedJNLPAppDifferentCerts"), R("LSignedJNLPAppDifferentCertsInfo")); + } else { + throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); + } + } else if (!runInSandbox && classLoader.getSigning()) { + return classLoader.file.getSecurity(); + } else { + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } + } + } + + public SecurityDesc getJarPermissions(final String codebaseHost) { + if (!runInSandbox && classLoader.jcv.isFullySigned()) { + // Already trust application, nested jar should be given + return new SecurityDesc(classLoader.file, + SecurityDesc.ALL_PERMISSIONS, + codebaseHost); + } else { + return new SecurityDesc(classLoader.file, + SecurityDesc.SANDBOX_PERMISSIONS, + codebaseHost); + } + } + + public void setRunInSandbox() throws LaunchException { + if (promptedForSandbox || classLoader.security != null + || classLoader.jarLocationSecurityMap.size() != 0) { + throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCInit"), R("LRunInSandboxError"), R("LRunInSandboxErrorInfo")); + } + + this.promptedForSandbox = true; + this.runInSandbox = true; + } + + public boolean getRunInSandbox() { + return this.runInSandbox; + } + + public boolean userPromptedForSandbox() { + return this.promptedForSandbox; + } + + } + /* * Helper class to expose protected URLClassLoader methods. * Classes loaded from the codebase are absolutely NOT signed, by definition! diff -r 1fb5b82415ce -r ededca6b0659 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java --- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Thu Feb 27 14:35:41 2014 -0500 +++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Fri Feb 28 16:45:24 2014 -0500 @@ -143,6 +143,9 @@ /** all security dialogs will be consumed and pretented as being verified by user and allowed.*/ private static boolean trustAll=false; + + /** all security dialogs will be consumed and we will pretend the Sandbox option was chosen */ + private static boolean trustNone = false; /** allows 301.302.303.307.308 redirects to be followed when downloading resources*/ private static boolean allowRedirect = false;; @@ -794,6 +797,14 @@ return trustAll; } + static void setTrustNone(final boolean b) { + trustNone = b; + } + + public static boolean isTrustNone() { + return trustNone; + } + public static boolean isIgnoreHeaders() { return ignoreHeaders; } diff -r 1fb5b82415ce -r ededca6b0659 netx/net/sourceforge/jnlp/security/AppVerifier.java --- a/netx/net/sourceforge/jnlp/security/AppVerifier.java Thu Feb 27 14:35:41 2014 -0500 +++ b/netx/net/sourceforge/jnlp/security/AppVerifier.java Fri Feb 28 16:45:24 2014 -0500 @@ -42,6 +42,7 @@ import net.sourceforge.jnlp.JNLPFile; import net.sourceforge.jnlp.LaunchException; +import net.sourceforge.jnlp.runtime.JNLPClassLoader.SecurityDelegate; import net.sourceforge.jnlp.tools.CertInformation; From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 14:09:11 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 22:09:11 +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|ASSIGNED |RESOLVED Resolution|--- |FIXED --- Comment #4 from Andrew Azores --- The dialog that appears for signed applets now has a "Sandbox" button, which forces the applet to run sandboxed as if it were an unsigned applet. http://icedtea.classpath.org/hg/icedtea-web/rev/ededca6b0659 -- 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/20140228/38e874ad/attachment.html From bugzilla-daemon at icedtea.classpath.org Fri Feb 28 14:29:09 2014 From: bugzilla-daemon at icedtea.classpath.org (bugzilla-daemon at icedtea.classpath.org) Date: Fri, 28 Feb 2014 22:29:09 +0000 Subject: [Bug 1687] Failure of plugin in connecting to WebEx on a Fedora 20 64-bit plus Firefox 27 In-Reply-To: References: Message-ID: http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1687 --- Comment #3 from Harish Pillay --- I just tested it on another site: http://stilllistener.addr.com/checkpoint1/Java/ and the 2nd Java applet on that page (towards the bottom) failed as well and the stack trace is: IcedTea-Web Plugin version: 1.4.2 (fedora-0.fc20-x86_64) Sat Mar 01 06:26:53 SGT 2014 java.lang.NullPointerException at net.sourceforge.jnlp.NetxPanel.runLoader(NetxPanel.java:116) at sun.applet.AppletPanel.run(AppletPanel.java:380) at java.lang.Thread.run(Thread.java:744) -- 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/20140228/b8595a74/attachment.html From omajid at redhat.com Fri Feb 28 15:07:10 2014 From: omajid at redhat.com (Omair Majid) Date: Fri, 28 Feb 2014 18:07:10 -0500 Subject: [icedtea-web] RFC: PR857: Don't set look and feel multiple times Message-ID: <20140228230710.GA18442@redhat.com> Hi, The attached patch is a fix for PR857. The idea is quite simple: make sure UIManager.setLookAndFeel() is called at most once (and ideally exactly once) before any UI is shown. There are a few code paths that can cause UIManager.setLookAndFell to be invoked multiple times: - AboutDialog (only on entry from a class other than Boot) - SecurityDialog - PolicyEditor (only on entry from ControlPanel) CertificateViewer calls JNLPRuntime.initialize() which already calls UIManager.setLookAndFeel. So I have removed the direct call from CertificateViewer. Also, JNLPRuntime.initialize currently calls setLookAndFeel after displaying a JavaConsole. This is alos fixed. 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,22 @@ +2014-02-28 Omair Majid + + PR857 + * netx/net/sourceforge/jnlp/about/AboutDialog.java + (run): Do not set look and feel. + * netx/net/sourceforge/jnlp/runtime/Boot.java + (main) : Set look and feel before displaying dialog. + * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java + (initialize): Set look and feel before any UI is created. + * netx/net/sourceforge/jnlp/security/SecurityDialog.java + (init): Do not set look and feel. + (setSystemLookAndFeel): Removed. + * netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java + (createInstance): Do not set look and feel. + * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java + (showCertificateViewer): Do not set look and feel. + (setSystemLookAndFeel): Removed. + + 2014-02-28 Omair Majid PR1676 diff --git a/netx/net/sourceforge/jnlp/about/AboutDialog.java b/netx/net/sourceforge/jnlp/about/AboutDialog.java --- a/netx/net/sourceforge/jnlp/about/AboutDialog.java +++ b/netx/net/sourceforge/jnlp/about/AboutDialog.java @@ -175,11 +175,6 @@ @Override public void run() { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e) { - } - layoutWindow(); ScreenFinder.centerWindowsToCurrentScreen(frame); frame.setVisible(true); diff --git a/netx/net/sourceforge/jnlp/runtime/Boot.java b/netx/net/sourceforge/jnlp/runtime/Boot.java --- a/netx/net/sourceforge/jnlp/runtime/Boot.java +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java @@ -28,6 +28,8 @@ import java.util.List; import java.util.Map; +import javax.swing.UIManager; + import net.sourceforge.jnlp.LaunchException; import net.sourceforge.jnlp.Launcher; import net.sourceforge.jnlp.ParserSettings; @@ -161,6 +163,11 @@ if (null != getOption("-headless")) { JNLPRuntime.exit(0); } else { + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + // if it fails, not a problem + } OutputController.getLogger().printOutLn(R("BLaunchAbout")); AboutDialog.display(); return; 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 @@ -192,6 +192,12 @@ public static void initialize(boolean isApplication) throws IllegalStateException { checkInitialized(); + try { + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e) { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); + } + if (JavaConsole.canShowOnStartup(isApplication)) { JavaConsole.getConsole().showConsoleLater(); } @@ -233,12 +239,6 @@ policy = new JNLPPolicy(); security = new JNLPSecurityManager(); // side effect: create JWindow - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e) { - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); - } - doMainAppContextHacks(); if (securityEnabled) { diff --git a/netx/net/sourceforge/jnlp/security/SecurityDialog.java b/netx/net/sourceforge/jnlp/security/SecurityDialog.java --- a/netx/net/sourceforge/jnlp/security/SecurityDialog.java +++ b/netx/net/sourceforge/jnlp/security/SecurityDialog.java @@ -216,8 +216,6 @@ } private void initDialog() { - setSystemLookAndFeel(); - String dialogTitle = ""; if (dialogType == DialogType.CERT_WARNING) { if (accessType == AccessType.VERIFIED) @@ -346,17 +344,6 @@ super.dispose(); } - /** - * Updates the look and feel of the window to be the system look and feel - */ - protected void setSystemLookAndFeel() { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e) { - //don't worry if we can't. - } - } - private final List listeners = new CopyOnWriteArrayList(); /** diff --git a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java --- a/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java +++ b/netx/net/sourceforge/jnlp/security/policyeditor/PolicyEditor.java @@ -917,11 +917,6 @@ } public static PolicyEditor createInstance(final String filepath) { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (final Exception e) { - // not really important, so just ignore - } return new PolicyEditor(filepath); } diff --git a/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java b/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java --- a/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java +++ b/netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java @@ -100,7 +100,6 @@ public static void showCertificateViewer() throws Exception { JNLPRuntime.initialize(true); - setSystemLookAndFeel(); CertificateViewer cv = new CertificateViewer(); cv.setResizable(true); @@ -109,14 +108,6 @@ cv.dispose(); } - private static void setSystemLookAndFeel() { - try { - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e) { - // don't worry if we can't. - } - } - public static void main(String[] args) throws Exception { CertificateViewer.showCertificateViewer(); } From david.holmes at oracle.com Fri Feb 28 15:47:37 2014 From: david.holmes at oracle.com (David Holmes) Date: Sat, 01 Mar 2014 09:47:37 +1000 Subject: JDK-8036003: Add variable not to separate debug information. In-Reply-To: <5310AD70.2070908@ysfactory.dip.jp> References: <20140228091835.58EB8C21F24@msgw007-05.ocn.ad.jp> <53106F4A.8030905@oracle.com> <53109772.9070808@oracle.com> <5310AD70.2070908@ysfactory.dip.jp> Message-ID: <53112019.9050504@oracle.com> On 1/03/2014 1:38 AM, Yasumasa Suenaga wrote: >> The proper way to fix this is to disable FDS. > > Does this mean I have to pass --disable-debug-symbols to configure ? > I've added comment to JDK-8036003, I think if we pass --disable-debug-symbols > to configure, gcc/g++ is not passed -g option. "-g" is needed to generate > debuginfo. There are three pieces to all of this: 1. Generating debug symbols in the binaries (via gcc -g or whatever) 2. Generating debuginfo files (zipped or not) (FDS) 3. Stripping debug symbols from the binaries (strip-policy) It may be that we don't have clean separation between them, and if so that should be fixed, but I don't see the current proposal as the way forward. Also there may well be differences between how things are handled on the JDK side and hotspot side. I will try to look closer if I get a chance but my time is limited at the moment. David > > Thanks, > > Yasumasa > > > On 2014/02/28 23:04, Daniel D. Daugherty wrote: >> The proper way to fix this is to disable FDS. We should not need >> yet another option to control debug info. >> >> Dan >> >> >> On 2/28/14 4:13 AM, David Holmes wrote: >>> Hi, >>> >>> As I put in the bug report this seems way too complicated. Seems to me >>> all you need to do to get what you want is not use FDS and not strip the >>> symbols from the binary. The former is trivial. The latter is more >>> awkward as the strip policy stuff does not work as I would want it to >>> work, but still doable. >>> >>> David >>> >>> On 28/02/2014 7:18 PM, Yasumasa Suenaga wrote: >>>> Hi all, >>>> >>>> >>>> Currently, configure script can accept --disable-debug-symbols and >>>> --disable-zip-debug-info as controlling to generate debug information. >>>> However, current makefiles cannot build ELF binaries which is contained >>>> debug information with "images" target. >>>> >>>> Some Linux distros use RPM as package manager. >>>> RPM is built by rpmbuild command, it strips symbols and debug information >>>> during to generate rpm packages. >>>> https://fedoraproject.org/wiki/Packaging:Debuginfo >>>> >>>> For example, OpenJDK8 in Fedora20 ships libjvm.so and libjvm.debuginfo . >>>> libjvm.debuginfo is generated in OpenJDK's makefiles, however it does not >>>> contain debug information. Actual debug information is shipped by OpenJDK >>>> debuginfo package. >>>> This packaging is important when we have to debug JVM/JNI libraries. >>>> If we want to use debugging tools (GDB, SystemTap, etc...), they may requires >>>> debuginfo package. Debuggee (e.g. libjvm.so) points libjvm.so.debug which is >>>> located at sub directory in /usr/lib/debug . It is defined in ELF section >>>> (.note.gnu.build-id) of libjvm.so . However libjvm.so.debug does not contain >>>> valid debug information. We need to access libjvm.debuginfo.debug at same location. >>>> >>>> >>>> When we think to build OpenJDK rpm packages, we have to build ELF binaries >>>> which contain all debug information. we should not to separate debug information. >>>> >>>> >>>> Thus I want to add a variable "SEPARATED_DEBUGINFO_FILES" . >>>> If we pass "SEPARATED_DEBUGINFO_FILES=false" to make command, "make" does not >>>> execute objcopy command for generating debuginfo binaries. >>>> >>>> If we build rpm packages, we also have to add "STRIP_POLICY=no_strip" to arguments >>>> of make command. Or ELF binaries will be stripped. >>>> >>>> >>>> I've uploaded webrev for this enhancement. >>>> This is separated 3-part: top of forest, hotspot, jdk >>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8036003/ >>>> >>>> Please review it and sponsoring! >>>> >>>> >>>> Thanks, >>>> >>>> Yasumasa >>>> >>>> >>>> P.S. >>>> I tried to add SEPARATED_DEBUGINFO_FILES as a configure option like >>>> "--disable-separated-debug-info" . >>>> I ran configure which is located at jdk9/dev directory after I ran autoconf >>>> and common/autoconf/autogen.sh. However it failed. >>>> >>>> I guess this is caused by changeset as below. >>>> JDK-8035495: Improvements in autoconf integration >>>> http://hg.openjdk.java.net/jdk9/dev/rev/6e29cd9ac2b4 >>>> >>>> This changes add "CHECKME" option to configure script. However, this changes >>>> affects "configure" only. It should change "configure.ac" . >>>> >> >